数据库信息收集脚本怎么写

59次阅读
没有评论

共计 8070 个字符,预计需要花费 21 分钟才能阅读完成。

数据库信息收集脚本怎么写,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

数据库信息统计:10.2.0.5
SQL show parameter name
NAME                                 TYPE        VALUE
———————————— ———– ————-
db_file_name_convert                 string
db_name                              string      orcl
db_unique_name                       string      orcl
global_names                         boolean     FALSE
instance_name                        string      orcl
lock_name_space                      string
log_file_name_convert                string
service_names                        string      orcl

数据大小
select round(sum(bytes)/1024/1024/1024,2)  from dba_data_files
union all
select round(sum(bytes)/1024/1024/1024,2)  from dba_segments;

ROUND(SUM(BYTES)/1024/1024/1024,2)
———————————-
                            190.88
                               .16

归档信息:
SQL archive log list
数据库日志模式             非存档模式
自动存档             禁用
存档终点            E:\oracle\product\10.2.0\db_1\RDBMS
最早的联机日志序列     11954
当前日志序列           11961
字符集:
SQL  select parameter,value from nls_database_parameters where parameter in(NLS_NCHAR_CHARACTERSET , NLS_CHARACTERSET
PARAMETER
——————————
VALUE
——————————————————————————–
NLS_NCHAR_CHARACTERSET
AL16UTF16

NLS_CHARACTERSET
ZHS16GBK

内存配置:
set pagesize 1000 linesize 500
col name for a30
select name, round(value / 1024 / 1024, 0)|| M Mb
  from v$parameter
 where name in (memory_max_target ,
                memory_target ,
                sga_max_size ,
                shared_pool_size ,
                large_pool_size ,
                sga_target ,
                db_cache_size ,
                db_keep_cache_size ,
                pga_aggregate_target ,
                java_pool_size ,
                streams_pool_size
NAME                           MB
—————————— ——————-
sga_max_size                   1000M
shared_pool_size               0M
large_pool_size                0M
java_pool_size                 0M
streams_pool_size              0M
sga_target                     1000M
db_cache_size                  0M
db_keep_cache_size             0M
pga_aggregate_target           500M

1、用户表空间
set pagesize 1000 linesize 500
col username for a20
col default_tablespace for a30
col temporay_tablespace for a10
select username,default_tablespace,temporary_tablespace from dba_users where account_status= OPEN order by 1;
USERNAME             DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE
——————– —————————— ————————

MGMT_VIEW            SYSTEM                         TEMP
RPTUSER              RRT_DATA                       RRT_TEMP
SYS                  SYSTEM                         TEMP
SYSMAN               SYSAUX                         TEMP
SYSTEM               SYSTEM                         TEMP

2、查看用户表空间大小和使用率
– 表空间大小
set pagesize 1000 linesize 500
col file_name for a50
select file_name,round(bytes/1024/1024,0) real(MB) ,AUTOEXTENSIBLE,round(MAXBYTES/1024/1024/1024,0) max(GB) from dba_data_files 
where tablespace_name in
(
 select tablespace_name from dba_tablespaces
)
order by 1;

FILE_NAME                                            real(MB) AUT    max(GB)
————————————————– ———- — ———-
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\RRT_BAK_01.O       5000 NO           0
RA

E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\RRT_DATA_01.       5000 NO           0
ORA

– 查看表空间使用率
set pagesize 1000 linesize 500                                                            
col t1 for a30                                                                            
col t2 for a10
select t1,t2,t3|| % t3 from                                                                              
(select Total.Tname T1,                                                                    
       Total.Total_Size|| M T2,                                                          
       Round((Total.Total_Size – Used.free_size) / Total.Total_Size, 1) * 100  as T3 
  from (                                                                                 
        — datafile                                                                        
        select tablespace_name as TName,                                                  
                round(sum(bytes) / (1024 * 1024), 1) as Total_size                        
          from dba_data_files                                                              
         group by tablespace_name) Total,                                                  
       (                                                                                 
        — free space                                                                      
        select tablespace_name as TName,                                                  
                round(sum(bytes) / (1024 * 1024), 1) as Free_size                          
          from dba_free_space                                                              
         group by tablespace_name) Used                                                    
 where Total.TName = Used.TName(+)                                                        
 order by 3 desc);

T1                             T2         T3
—————————— ———- ————-

RRT_IDX                        48000M     91%
RRT_DATA                       118960M    87%
UNDOTBS02                      20000M     76%
SYSAUX                         2000M      52%
SYSTEM                         1000M      31%
RRT_BAK                        5000M      27%
USERS                          500M       1%

===================== 添加表空间 =====================
set pagesize 1000 linesize 1000
select create tablespace || a.tablespace_name || || datafile || ||
        /oradata2/zxin/ || lower(a.tablespace_name) || _01.dbf || ||
        size || a.ts || m ||
        extent management local  segment space management auto;
  from (select tablespace_name, round(sum(bytes) / (1024 * 1024), 1) ts
          from dba_data_files
         group by tablespace_name
         order by 2) a;

create tablespace USERS datafile /oradata2/zxin/users_01.dbf size 500m exten
t management local  segment space management auto;
create tablespace SYSTEM datafile /oradata2/zxin/system_01.dbf size 1000m ex
tent management local  segment space management auto;
create tablespace SYSAUX datafile /oradata2/zxin/sysaux_01.dbf size 2000m ex
tent management local  segment space management auto;
create tablespace RRT_BAK datafile /oradata2/zxin/rrt_bak_01.dbf size 5000m
extent management local  segment space management auto;
create tablespace UNDOTBS02 datafile /oradata2/zxin/undotbs02_01.dbf size 20
000m extent management local  segment space management auto;
create tablespace RRT_IDX datafile /oradata2/zxin/rrt_idx_01.dbf size 48000m
 extent management local  segment space management auto;
create tablespace RRT_DATA datafile /oradata2/zxin/rrt_data_01.dbf size 1189
60m extent management local  segment space management auto;

已选择 7 行。

===============================undo 和临时表空间 =====================
undo 4000m
select tablespace_name,sum(bytes)/1024/1024 mb from dba_temp_files group by tablespace_name;
TABLESPACE_NAME                        MB
—————————— ———-
TEMP                                 2000
RRT_TEMP                            10000

查看安装组件:
col comp_id for a15
col version for a15
col comp_name for a30
select comp_id,comp_name,version from dba_registry ;
COMP_ID         COMP_NAME                      VERSION
————— —————————— —————
OWM             Oracle Workspace Manager       10.2.0.5.0
EM              Oracle Enterprise Manager      10.2.0.5.0
CATALOG         Oracle Database Catalog Views  10.2.0.5.0
CATPROC         Oracle Database Packages and T 10.2.0.5.0
                ypes

============== 赋权限 ===================
select grant ||privilege|| to ||grantee|| from dba_sys_privs where grantee in (SH_TYDMTJR_IMMCC) order by grantee;
GRANT ||PRIVILEGE|| TO ||GRANTEE||
———————————————————————————
grant CREATE VIEW to BDP114;
grant UNLIMITED TABLESPACE to BDP114;
grant CREATE VIEW to BST114;
grant UNLIMITED TABLESPACE to BST114;

=================== 查询失效对象 ==================
select owner,object_name from dba_objects where status= INVALID and owner in (BDP114 , BST114) order by 1;
=================== 查看用户信息 ======================
select owner,object_type,count(*) from dba_objects where owner in (SH_TYDMTJR_IMMCC) group by owner,object_type order by owner,object_type;
OWNER                          OBJECT_TYPE           COUNT(*)
—————————— ——————- ———-
BDP114                         DATABASE LINK               11

=========== 个别表赋权限 ==================
select GRANT SELECT ON A. ||object_name|| to B; from dba_objects where owner= A and object_type= TABLE
declare
begin
for cr in (select table_name from dba_tables where owner= 表属主) loop
    execute immediate
    grant select on 表属主. ||cr.table_name|| to 目标用户
end loop;
end;

===============mysql=========
select count(*) from sh_kd_zj.t_workorder_info_112;
select table_name,table_rows,data_length/1024/1024 data_length ,create_time,table_collation from
 information_schema.tables where table_schema = sh_kd_zj order by table_rows desc
  更改 awr 保存时间:
 select * from dba_hist_wr_control;  
exec DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(interval  =  60,retention =  30*24*60);
 

 select concat(union all  select   , table_schema , as db , ,table_name, as tbname, count(1) as rows from , table_schema , . ,table_name )  as sqlexe   from information_schema.tables as t   where t.table_type = base table  and t.table_schema = sh_kd_zj
 select concat(union all  select   , table_schema , as db , ,table_name, as tbname, count(1) as rows from , table_schema , . ,table_name )  as sqlexe   from information_schema.tables as t   where  t.table_schema = sh_kd_zj  

关于数据库信息收集脚本怎么写问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注丸趣 TV 行业资讯频道了解更多相关知识。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-20发表,共计8070字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)