DBA RAC运维sql

1.RAC资源和结构巡检

cluster相关信息

   cluster名称

[grid@rac01 ~]$ olsnodes -n

或

[grid@rac01 ~]$ cemutlo -n

cluster资源状态

[grid@rac01 ~]$ crsctl stat res -t

cluster资源及后台DAEMON

[grid@rac01 ~]$ crsctl stat res -t -init

检查nodeapps

--注:GSD在9i之后不启动
[grid@rac01 ~]$ srvctl status nodeapps

检查SCAN-IP和SCAN监听

检查scan配置

[grid@rac01 ~]$ srvctl config scan

检查SCAN-IP的状态

[grid@rac01 ~]$ srvctl status scan

检查SCAN监听

[grid@rac01 ~]$ srvctl status scan_listener

检查每个节点的VIP状态

[grid@rac01 ~]$ srvctl status nodeapps

或

srvctl status vip -n 节点名称

检查本地监听配置和状态

[grid@rac01 ~]$ srvctl config listener -a

[grid@rac01 ~]$ srvctl status listener

检查ASM实例和磁盘组

[grid@rac01 ~]$ srvctl status asm -a


[grid@rac01 ~]$ crsctl query css votedisk

cluster相关服务

检查磁盘组

注意资源名称,先用crsctl stat res -t,查询资源

srvctl status diskgroup -g FRADATA

[grid@rac01 ~]$ crsctl query css votedisk

ocr备份信息

[grid@rac01 ~]$ ocrconfig -showbackup

cluster相关服务

[grid@rac01 ~]$ crsctl check crs

olr备份信息

检查

[grid@rac01 ~]$ ocrcheck

2.数据库巡检

查询表空间及数据文件

set linesize 150
col FILE_ID format 999
col FILE_NAME format a50
col TABLESPACE_NAME format a15
select file_id,file_name,tablespace_name from dba_data_files order by 1;

查询表空间使用率

set linesize 150
column file_name format a65
column tablespace_name format a20
select f.tablespace_name tablespace_name,round((d.sumbytes/1024/1024/1024),2) total_g,
round(f.sumbytes/1024/1024/1024,2) free_g,
round((d.sumbytes-f.sumbytes)/1024/1024/1024,2) used_g,
round((d.sumbytes-f.sumbytes)*100/d.sumbytes,2) used_percent
from (select tablespace_name,sum(bytes) sumbytes from dba_free_space group by tablespace_name) f,
(select tablespace_name,sum(bytes) sumbytes from dba_data_files group by tablespace_name) d 
where f.tablespace_name= d.tablespace_name
order by d.tablespace_name;

临时表空间和临时文件

set linesize 180;
col TABLESPACE_NAME format a15;
col FILE_ID format 999;
col FILE_NAME format a45;
SELECT TABLESPACE_NAME, FILE_ID, FILE_NAME, BYTES/1024/1024 AS "SPACE(M)" FROM DBA_TEMP_FILES order by 2;



set linesize 200
column file_name format a55
column tablespace_name format a20
select a.tablespace_name,a.file_name,round(a.bytes/(1024*1024*1024),2) total_g,
round(sum(nvl(b.bytes,0))/(1024*1024*1024),2) free_g,
round((a.bytes/(1024*1024*1024) - sum(nvl(b.bytes,0))/(1024*1024*1024)),2) used_g,
round(((a.bytes/(1024*1024*1024) - sum(nvl(b.bytes,0))/(1024*1024*1024)))/a.bytes/(1024*1024*1024),2) free_g
from dba_temp_files a,dba_free_space b
where a.file_id = b.file_id(+)
group by a.tablespace_name,a.file_name,a.bytes
order by a.tablespace_name;

添加临时文件

 alter tablespace TEMP add tempfile size 29 M  AUTOEXTEND ON NEXT 640K MAXSIZE 32767M;

日志组

日志组基本信息

set linesize 180
col GROUP# format 999
col THREAD# format 999
col SEQUENCE# format 99999
col BLOCKSIZE format 999
col MEMBERS format 999
select * from V$log order by GROUP#;

添加日志组,执行以下命令为数据库HDAPP添加日志组:

alter database add logfile thread 1 group 9 size 512M;
--或者:
alter database add logfile thread 1 group 9 ('+DATA/hdapp/redo09a.log','+BACKUP/hdapp/onlinelog/redo09b.log') size 500M;


日志文件
日志文件基本信息

set linesize 150
col MEMBER format a70
select * from v$logfile where type<>'STANDBY' order by 1;

为数据库HDAPP添加日志文件
执行以下命令为数据库HDAPP添加日志文件:

alter database add logfile member ('+BACKUP/hdapp/onlinelog/redo09b.log') to group 9;

删除日志文件

alter database drop logfile member '+FRADATA/orcl/onlinelog/group_5.297.1016707657'; 

STANDBY日志文件基本信息

set linesize 150
col MEMBER format a70
select * from v$logfile where type='STANDBY' order by 1;

查当天每小时的归档日志生成量(单实例) 

alter session set nls_date_format='yyyy.mm.dd hh24:mi:ss';
col mbsize format 999,999,999
select logtime,
       count(*),
       round(sum(blocks * block_size)/1024/1024) mbsize
  from (select trunc(first_time, 'hh') as logtime, a.BLOCKS, a.BLOCK_SIZE
          from v$archived_log a
         where a.DEST_ID = 1
           and a.FIRST_TIME > trunc(sysdate))
 group by logtime
 order by logtime desc; 

查最近一周每天的归档日志生成量(单实例)

select logtime,
       count(*),
       round(sum(blocks * block_size)/1024/1024) mbsize
  from (select trunc(first_time, 'dd') as logtime, a.BLOCKS, a.BLOCK_SIZE
          from v$archived_log a
         where a.DEST_ID = 1
           and a.FIRST_TIME > trunc(sysdate - 7))
 group by logtime
 order by logtime desc;


 alter session set nls_date_format='yyyy.mm.dd hh24:mi:ss';
 col mbsize format 999,999,999
 select THREAD#,
       logtime,
       count(*),
       round(sum(blocks * block_size)/1024/1024) mbsize
  from (select a.THREAD#,
               trunc(first_time, 'hh') as logtime,
               a.BLOCKS,
               a.BLOCK_SIZE
          from v$archived_log a
         where a.DEST_ID = 1
           and a.FIRST_TIME > trunc(sysdate-0))
 group by THREAD#, logtime
 order by THREAD#, logtime desc;

查最近一周每天的各个实例的归档日志生成量 

alter session set nls_date_format='yyyy.mm.dd hh24:mi:ss';
 col mbsize format 999,999,999
 select THREAD#,
       logtime,
       count(*),
       round(sum(blocks * block_size)/1024/1024) mbsize
  from (select THREAD#,
               trunc(first_time, 'dd') as logtime,
               a.BLOCKS,
               a.BLOCK_SIZE
          from v$archived_log a
         where a.DEST_ID = 1
           and a.FIRST_TIME > trunc(sysdate - 7))
 group by THREAD#, logtime
 order by THREAD#, logtime desc;

猜你喜欢

转载自blog.csdn.net/weixin_41086692/article/details/103044188
DBA