环境:
Oracle 11.2.0.4.0 RAC+DG
其中DG主库和备库均为两节点RAC
调整:
调整redo/standby log file大小,由1G调大2G。
操作如下:
一、主库CJC数据库(节点1)
1、检查ASM磁盘组空间是否足够
调整redo/standby log file su - grid sqlplus / as sysasm select name,free_mb,total_mb from v$asm_diskgroup; su – oracle sqlplus / as sysdba
2、先为两个实例分别新增两组(每组两个)redolog文件
alter database add logfile thread 1 group 35 ('+CJC_DATA','+CJC_ARCH') size 2g; alter database add logfile thread 2 group 36 ('+CJC_DATA','+CJC_ARCH') size 2g; alter database add logfile thread 1 group 37 ('+CJC_DATA','+CJC_ARCH') size 2g; alter database add logfile thread 2 group 38 ('+CJC_DATA','+CJC_ARCH') size 2g;
3、查询当前redo所在组,手动切换日志到新增redolog文件上
select * from v$log; 在两个节点执行,直至到达新增log上 alter system switch logfile; 手动生成检查点: alter system checkpoint;
4、查询log信息,删除非活动日志
select thread#,group#,members,bytes/1024/1024 mb,status from v$log order by thread#,2; alter database drop logfile group 1; alter database drop logfile group 2; alter database drop logfile group 3; alter database drop logfile group 4; alter database drop logfile group 5; alter database drop logfile group 6; alter database drop logfile group 7; alter database drop logfile group 8; alter database drop logfile group 9; alter database drop logfile group 10; alter database drop logfile group 11; alter database drop logfile group 12; alter database drop logfile group 13; alter database drop logfile group 14; alter database drop logfile group 15; alter database drop logfile group 16;
5、删除asm磁盘组上旧的log group
说明: 如果在创建redo log file时,没有指定具体redo log 名称,即通过OMF管理指定生成redo log名称,在执行drop logfile时,ASM磁盘组内的redo log也会自动删除。 如果在创建redo log file时,指定了具体redo log 名称,例如redo01.log,redo02.log等,在执行drop logfile时,ASM磁盘组内的redo log不会自动删除,如果空间不足,可以考虑手动删除。 su - grid asmcmd cd +BJ_SY_BFESB_DATA rm group_1到group_16 确保删除的log不在select * from v$logifle里。
6、重新添加redo,每个实例添加8组日志
alter database add logfile thread 1 group 1 ('+CJC_DATA','+CJC_ARCH') size 2g; alter database add logfile thread 2 group 2 ('+CJC_DATA','+CJC_ARCH') size 2g; alter database add logfile thread 1 group 3 ('+CJC_DATA','+CJC_ARCH') size 2g; alter database add logfile thread 2 group 4 ('+CJC_DATA','+CJC_ARCH') size 2g; alter database add logfile thread 1 group 5 ('+CJC_DATA','+CJC_ARCH') size 2g; alter database add logfile thread 2 group 6 ('+CJC_DATA','+CJC_ARCH') size 2g; alter database add logfile thread 1 group 7 ('+CJC_DATA','+CJC_ARCH') size 2g; alter database add logfile thread 2 group 8 ('+CJC_DATA','+CJC_ARCH') size 2g; alter database add logfile thread 1 group 9 ('+CJC_DATA','+CJC_ARCH') size 2g; alter database add logfile thread 2 group 10 ('+CJC_DATA','+CJC_ARCH') size 2g; alter database add logfile thread 1 group 11 ('+CJC_DATA','+CJC_ARCH') size 2g; alter database add logfile thread 2 group 12 ('+CJC_DATA','+CJC_ARCH') size 2g; alter database add logfile thread 1 group 13 ('+CJC_DATA','+CJC_ARCH') size 2g; alter database add logfile thread 2 group 14 ('+CJC_DATA','+CJC_ARCH') size 2g; alter database add logfile thread 1 group 15 ('+CJC_DATA','+CJC_ARCH') size 2g; alter database add logfile thread 2 group 16 ('+CJC_DATA','+CJC_ARCH') size 2g;
7、删除临时添加的group 35,36,37,38
select * from v$logfile; alter database drop logfile group 35; alter database drop logfile group 36; alter database drop logfile group 37; alter database drop logfile group 38; 删除asm磁盘组上旧的log group su - grid asmcmd cd +CJC_DATA rm group_35到group_38 确保删除的log不在select * from v$logifle里。
8、查询standbylog信息,并删除非活动的
select * from v$standby_log; alter database drop standby logfile group 17; alter database drop standby logfile group 18; alter database drop standby logfile group 19; alter database drop standby logfile group 20; alter database drop standby logfile group 21; alter database drop standby logfile group 22; alter database drop standby logfile group 23; alter database drop standby logfile group 24; alter database drop standby logfile group 25; alter database drop standby logfile group 26; alter database drop standby logfile group 27; alter database drop standby logfile group 28; alter database drop standby logfile group 29; alter database drop standby logfile group 30; alter database drop standby logfile group 31; alter database drop standby logfile group 32; alter database drop standby logfile group 33; alter database drop standby logfile group 34;
9、删除asm磁盘组上旧的standby log group
su - grid asmcmd cd +CJC_DATA rm standby_17到standby_34 确保删除的log不在select * from v$standby_log里。
10、添加standby log,每个实例9组
alter database add standby logfile thread 1 group 17 ('+CJC_DATA') size 2g; alter database add standby logfile thread 2 group 18 ('+CJC_DATA') size 2g; alter database add standby logfile thread 1 group 19 ('+CJC_DATA') size 2g; alter database add standby logfile thread 2 group 20 ('+CJC_DATA') size 2g; alter database add standby logfile thread 1 group 21 ('+CJC_DATA') size 2g; alter database add standby logfile thread 2 group 22 ('+CJC_DATA') size 2g; alter database add standby logfile thread 1 group 23 ('+CJC_DATA') size 2g; alter database add standby logfile thread 2 group 24 ('+CJC_DATA') size 2g; alter database add standby logfile thread 1 group 25 ('+CJC_DATA') size 2g; alter database add standby logfile thread 2 group 26 ('+CJC_DATA') size 2g; alter database add standby logfile thread 1 group 27 ('+CJC_DATA') size 2g; alter database add standby logfile thread 2 group 28 ('+CJC_DATA') size 2g; alter database add standby logfile thread 1 group 29 ('+CJC_DATA') size 2g; alter database add standby logfile thread 2 group 30 ('+CJC_DATA') size 2g; alter database add standby logfile thread 1 group 31 ('+CJC_DATA') size 2g; alter database add standby logfile thread 2 group 32 ('+CJC_DATA') size 2g; alter database add standby logfile thread 1 group 33 ('+CJC_DATA') size 2g; alter database add standby logfile thread 2 group 34 ('+CJC_DATA') size 2g;
11、再次查询v$log日志信息
set line 200 pagesize 999 col member for a60 col dbid for a20 select * from v$log;
二、备库CJC数据库
1、调整standby_file_management
sqlplus / as sysdba ---将standby_file_management由auto调整为mamual show parameter standby_file_management alter system set standby_file_management=MANUAL scope=both; show parameter standby_file_management
2、断开备库备库日志应用
select process,status,thread#,sequence#,block#,blocks from v$managed_standby; ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; select process,status,thread#,sequence#,block#,blocks from v$managed_standby;
3、查询当前redo所在组,手动切换日志到新增redolog文件上
select * from v$log;
4、通过查询v$log,删除非活动日志
Current状态日志组无法删除,需要先跳过。 如果redo log file状态是active,尝试手动生成检查点。 set line 300 set pagesize 100 col member for a65 select * from v$log; select * from v$logfile; select thread#,group#,members,bytes/1024/1024 mb,status from v$log order by thread#,2; alter database drop logfile group 1; alter database drop logfile group 2; alter database drop logfile group 3; alter database drop logfile group 4; alter database drop logfile group 5; alter database drop logfile group 6; alter database drop logfile group 7; alter database drop logfile group 8; alter database drop logfile group 9; alter database drop logfile group 10; alter database drop logfile group 11; alter database drop logfile group 12; alter database drop logfile group 13; alter database drop logfile group 14; alter database drop logfile group 15; alter database drop logfile group 16;
如果删除失败,可以先执行clear,在执行drop。
alter database clear logfile group 1; alter database clear logfile group 2; alter database clear logfile group 3; alter database clear logfile group 4; alter database clear logfile group 5; alter database clear logfile group 6; alter database clear logfile group 7; alter database clear logfile group 8; alter database clear logfile group 9; alter database clear logfile group 10; alter database clear logfile group 11; alter database clear logfile group 12; alter database clear logfile group 13; alter database clear logfile group 14; alter database clear logfile group 15; alter database clear logfile group 16; 如果执行clear后仍不能drop,可以尝试调整LOG_FILE_NAME_CONVERT参数。
5、删除asm磁盘组上旧的log group
su - grid asmcmd cd +CCC_DATA rm group_1到group_16 确保删除的log不在select * from v$logifle里。
6、重新添加redo,每个实例添加8组日志,每组日志包括两个日志文件
alter database add logfile thread 1 group 1 ('+CCC_DATA') size 2g; alter database add logfile thread 2 group 2 ('+CCC_DATA') size 2g; alter database add logfile thread 1 group 3 ('+CCC_DATA') size 2g; alter database add logfile thread 2 group 4 ('+CCC_DATA') size 2g; alter database add logfile thread 1 group 5 ('+CCC_DATA') size 2g; alter database add logfile thread 2 group 6 ('+CCC_DATA') size 2g; alter database add logfile thread 1 group 7 ('+CCC_DATA') size 2g; alter database add logfile thread 2 group 8 ('+CCC_DATA') size 2g; alter database add logfile thread 1 group 9 ('+CCC_DATA') size 2g; alter database add logfile thread 2 group 10 ('+CCC_DATA') size 2g; alter database add logfile thread 1 group 11 ('+CCC_DATA') size 2g; alter database add logfile thread 2 group 12 ('+CCC_DATA') size 2g; alter database add logfile thread 1 group 13 ('+CCC_DATA') size 2g; alter database add logfile thread 2 group 14 ('+CCC_DATA') size 2g; alter database add logfile thread 1 group 15 ('+CCC_DATA') size 2g; alter database add logfile thread 2 group 16 ('+CCC_DATA') size 2g;
7、查询standbylog信息,并删除非活动的standby logfile
select * from v$standby_log; alter database drop standby logfile group 17; alter database drop standby logfile group 18; alter database drop standby logfile group 19; alter database drop standby logfile group 20; alter database drop standby logfile group 21; alter database drop standby logfile group 22; alter database drop standby logfile group 23; alter database drop standby logfile group 24; alter database drop standby logfile group 25; alter database drop standby logfile group 26; alter database drop standby logfile group 27; alter database drop standby logfile group 28; alter database drop standby logfile group 29; alter database drop standby logfile group 30; alter database drop standby logfile group 31; alter database drop standby logfile group 32; alter database drop standby logfile group 33; alter database drop standby logfile group 34;
如果有ACTIVE状态standby log无法删除,在主库主库切换一组日志后再行删除备库standby log。 如果仍然无法切换为非ACTIVE状态,需要再启停一次MRP进程,然后确认ACTIVE状态standby log转为UNASSIGNED 状态后,再行删除。 select process,status,thread#,sequence#,block#,blocks from v$managed_standby; ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION; ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; select process,status,thread#,sequence#,block#,blocks from v$managed_standby; select * from v$standby_log;
8、删除asm磁盘组上旧的standby log group
su - grid asmcmd cd +CCC_DATA rm standby_17到group_34 确保删除的log不在select * from v$standby_log里。
9.重新添加standby log
alter database add standby logfile thread 1 group 17 ('+CCC_DATA') size 2g; alter database add standby logfile thread 2 group 18 ('+CCC_DATA') size 2g; alter database add standby logfile thread 1 group 19 ('+CCC_DATA') size 2g; alter database add standby logfile thread 2 group 20 ('+CCC_DATA') size 2g; alter database add standby logfile thread 1 group 21 ('+CCC_DATA') size 2g; alter database add standby logfile thread 2 group 22 ('+CCC_DATA') size 2g; alter database add standby logfile thread 1 group 23 ('+CCC_DATA') size 2g; alter database add standby logfile thread 2 group 24 ('+CCC_DATA') size 2g; alter database add standby logfile thread 1 group 25 ('+CCC_DATA') size 2g; alter database add standby logfile thread 2 group 26 ('+CCC_DATA') size 2g; alter database add standby logfile thread 1 group 27 ('+CCC_DATA') size 2g; alter database add standby logfile thread 2 group 28 ('+CCC_DATA') size 2g; alter database add standby logfile thread 1 group 29 ('+CCC_DATA') size 2g; alter database add standby logfile thread 2 group 30 ('+CCC_DATA') size 2g; alter database add standby logfile thread 1 group 31 ('+CCC_DATA') size 2g; alter database add standby logfile thread 2 group 32 ('+CCC_DATA') size 2g; alter database add standby logfile thread 1 group 33 ('+CCC_DATA') size 2g; alter database add standby logfile thread 2 group 34 ('+CCC_DATA') size 2g; 每个实例9组standby日志
10、数据库需调整参数
show parameter standby_file_management alter system set standby_file_management=AUTO scope=both; show parameter standby_file_management #启用备库日志非实时 应用 select process,status,thread#,sequence#,block#,blocks from v$managed_standby; ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION; select process,status,thread#,sequence#,block#,blocks from v$managed_standby;
###2021-02-23 22:20 chenjuchao###