Oracle adg环境下调整redo日志组以及standby日志组大小

1.在adg环境中,调整redo日志组大小以及standby日志组大小主要思路如下:

a、先备库增加standby redo 删除老standby redo,

b、然后主库增加redo删除老redo,

c、备库增加新redo删除老redo,

d、最后主库增加standby redo。

#主库

oracle@DB196 \~\]$ sql / as sysdba SQL\> SET SQLFORMAT ansiconsole select group#,thread#,sequence#,bytes/1024/1024 mb,members,archived,status from v$log; GROUP# THREAD# SEQUENCE# MB MEMBERS ARC STATUS ---------- ---------- ---------- ---------- ---------- --- ---------------- 15 1 100 100 1 YES INACTIVE 16 1 101 100 1 YES INACTIVE 17 1 102 100 1 NO CURRENT 18 1 98 100 1 YES INACTIVE select group#,thread#,sequence#,bytes/1024/1024 mb,archived,status from V$STANDBY_LOG; GROUP# THREAD# SEQUENCE# MB ARC STATUS ---------- ---------- ---------- ---------- --- ---------- 20 1 0 100 YES UNASSIGNED 21 1 0 100 YES UNASSIGNED 22 1 0 100 YES UNASSIGNED 23 1 0 100 YES UNASSIGNED 24 1 0 100 YES UNASSIGNED select group#,status,type,member from v$logfile; GROUP# STATUS TYPE MEMBER ---------- ------- ------- ------------------------------------------------------------ 20 STANDBY /u01/app/oracle/oradata/PROD/redo20.log 21 STANDBY /u01/app/oracle/oradata/PROD/redo21.log 22 STANDBY /u01/app/oracle/oradata/PROD/redo22.log 23 STANDBY /u01/app/oracle/oradata/PROD/redo23.log 24 STANDBY /u01/app/oracle/oradata/PROD/redo24.log 15 ONLINE /u01/app/oracle/oradata/onlinelogredo05.log 16 ONLINE /u01/app/oracle/oradata/onlinelogredo06.log 17 ONLINE /u01/app/oracle/oradata/onlinelogredo07.log 18 ONLINE /u01/app/oracle/oradata/onlinelogredo08.log #备库 \[oracle@DB197 \~\]$ sql / as sysdba SQL\> SET SQLFORMAT ansiconsole select group#,thread#,sequence#,bytes/1024/1024 mb,members,archived,status from v$log; GROUP# THREAD# SEQUENCE# MB MEMBERS ARC STATUS ---------- ---------- ---------- ---------- ---------- --- ---------------- 15 1 100 100 1 YES CLEARING 16 1 101 100 1 YES CLEARING 17 1 102 100 1 YES CURRENT 18 1 0 100 1 YES UNUSED select group#,thread#,sequence#,bytes/1024/1024 mb,archived,status from V$STANDBY_LOG; GROUP# THREAD# SEQUENCE# MB ARC STATUS ---------- ---------- ---------- ---------- --- ---------- 20 1 102 100 YES ACTIVE 21 1 0 100 YES UNASSIGNED 22 1 0 100 YES UNASSIGNED 23 1 0 100 YES UNASSIGNED 24 1 0 100 YES UNASSIGNED select group#,status,type,member from v$logfile; GROUP# STATUS TYPE MEMBER ---------- ------- ------- ----------------------------------------------------------------- 20 STANDBY /u01/app/oracle/oradata/PROD/redo20.log 21 STANDBY /u01/app/oracle/oradata/PROD/redo21.log 22 STANDBY /u01/app/oracle/oradata/PROD/redo22.log 23 STANDBY /u01/app/oracle/oradata/PROD/redo23.log 24 STANDBY /u01/app/oracle/oradata/PROD/redo24.log 15 ONLINE /u01/app/oracle/oradata/onlinelogredo05.log 16 ONLINE /u01/app/oracle/oradata/onlinelogredo06.log 17 ONLINE /u01/app/oracle/oradata/onlinelogredo07.log 18 ONLINE /u01/app/oracle/oradata/onlinelogredo08.log 2.备库取消同步 alter database recover managed standby database cancel; DGMGRL\> show configuration; Configuration - ADGbroker Protection Mode: MaxAvailability Members: MPCDB196 - Primary database MPCDB197 - Physical standby database Error: ORA-16810: multiple errors or warnings detected for the member Fast-Start Failover: DISABLED Configuration Status: ERROR (status updated 7 seconds ago) 3.备库standby添加 alter database add standby logfile group 10 '/u01/app/oracle/oradata/PROD/stdredo10.log' size 50m reuse; alter database add standby logfile group 11 '/u01/app/oracle/oradata/PROD/stdredo11.log' size 50m reuse; alter database add standby logfile group 12 '/u01/app/oracle/oradata/PROD/stdredo12.log' size 50m reuse; alter database add standby logfile group 13 '/u01/app/oracle/oradata/PROD/stdredo13.log' size 50m reuse; alter database add standby logfile group 14 '/u01/app/oracle/oradata/PROD/stdredo14.log' size 50m reuse; 4.备库standby删除 alter database drop logfile group 20; alter database drop logfile group 21; alter database drop logfile group 22; alter database drop logfile group 23; alter database drop logfile group 24; SQL\> alter database drop logfile group 4; ERROR at line 1: ORA-00261: log 4 of thread 1 is being archived or modified ORA-00312: online log 4 thread 1: '/u01/app/oradata/orcl/stredo02.log' --如在清除standby redo log组时出现上面出错信息执行下面的命令清理 alter database clear logfile group 20; #到操作系统删除组4、5、6、7 \[oracle@DB197 MPCDB\]$ ls stdredo0\* stdredo01.log stdredo02.log stdredo03.log stdredo04.log \[oracle@DB197 MPCDB\]$ rm stdredo0\* 5.主库redo添加 alter database add logfile group 1 '/u01/app/oracle/oradata/PROD/redo01.log' size 50m reuse; alter database add logfile group 2 '/u01/app/oracle/oradata/PROD/redo02.log' size 50m reuse; alter database add logfile group 3 '/u01/app/oracle/oradata/PROD/redo03.log' size 50m reuse; alter database add logfile group 4 '/u01/app/oracle/oradata/PROD/redo04.log' size 50m reuse; 6.主库redo 删除 select group#,thread#,sequence#,bytes/1024/1024 mb,members,archived,status from v$log; alter system switch logfile; alter system switch logfile; alter system switch logfile; alter database drop logfile group 15; alter database drop logfile group 16; alter database drop logfile group 17; alter database drop logfile group 18; 到操作系统删除组1、2、3 \[oracle@DB196 MPCDB\]$ ls redo0\* redo01.log redo02.log redo03.log \[oracle@DB196 MPCDB\]$ rm redo0\* 7.备库redo添加 alter system set standby_file_management='manual'; alter database add logfile group 1 '/u01/app/oracle/oradata/PROD/redo01.log' size 50m reuse; alter database add logfile group 2 '/u01/app/oracle/oradata/PROD/redo02.log' size 50m reuse; alter database add logfile group 3 '/u01/app/oracle/oradata/PROD/redo03.log' size 50m reuse; alter database add logfile group 4 '/u01/app/oracle/oradata/PROD/redo04.log' size 50m reuse; 8.备库redo删除 show parameter NAME_CONVERT NAME TYPE VALUE --------------------- ------ -------------------------------------------------------------- db_file_name_convert string /u01/app/oracle/oradata/MPCDB/, /u01/app/oracle/oradata/MPCDB/ log_file_name_convert string /u01/app/oracle/oradata/MPCDB/, /u01/app/oracle/oradata/MPCDB/ pdb_file_name_convert string #A 如 db_file_name_convert 、log_file_name_convert 为空则如下 SQL\> alter system set log_file_name_convert='/u01/app/oracle/oradata/MPCDB/','/u01/app/oracle/oradata/MPCDB/' scope=spfile; SQL\> alter system set db_file_name_convert='/u01/app/oracle/oradata/MPCDB/','/u01/app/oracle/oradata/MPCDB/' scope=spfile; 备库的 log_file_name_convert 参数要设置,否则无法运行 alter database clear logfile group xxx; 语句 SQL\> shutdown immediate SQL\> startup SQL\> select open_mode,database_role from v$database; OPEN_MODE DATABASE_ROLE -------------------- ---------------- READ ONLY PHYSICAL STANDBY SQL\> select group#,status from v$log; SQL\> show parameter file_name_convert #B 否则如下语句则包错 SQL\> alter database drop logfile group 1; ERROR at line 1: ORA-01624: log 1 needed for crash recovery of instance wasudb (thread 1) ORA-00312: online log 1 thread 1: '/data/oradata/wasudb/redo01.log' SQL\> ALTER DATABASE CLEAR LOGFILE GROUP 1; ERROR at line 1: ORA-19527: physical standby redo log must be renamed ORA-00312: online log 1 thread 1: '/data/oradata/wasudb/redo01.log' alter database clear logfile group 15; alter database clear logfile group 16; alter database clear logfile group 17; alter database clear logfile group 18; alter database drop logfile group 15; alter database drop logfile group 16; alter database drop logfile group 17; alter database drop logfile group 18; select group#,status,type,member from v$logfile; #到操作系统删除组1、2、3 \[oracle@DB197 MPCDB\]$ ls redo0\* redo01.log redo02.log redo03.log \[oracle@DB197 MPCDB\]$ rm redo0\* 9.主库standby 删除 select group#,thread#,sequence#,bytes/1024/1024 mb,archived,status from V$STANDBY_LOG; alter database drop logfile group 20; alter database drop logfile group 21; alter database drop logfile group 22; alter database drop logfile group 23; alter database drop logfile group 24; #到操作系统删除组4、5、6、7 \[oracle@DB196 MPCDB\]$ ls stdredo0\* stdredo01.log stdredo02.log stdredo03.log stdredo04.log \[oracle@DB196 MPCDB\]$ rm stdredo0\* 10.主库standby 添加 alter database add standby logfile group 10 '/u01/app/oracle/oradata/PROD/stdredo10.log' size 50m reuse; alter database add standby logfile group 11 '/u01/app/oracle/oradata/PROD/stdredo11.log' size 50m reuse; alter database add standby logfile group 12 '/u01/app/oracle/oradata/PROD/stdredo12.log' size 50m reuse; alter database add standby logfile group 13 '/u01/app/oracle/oradata/PROD/stdredo13.log' size 50m reuse; alter database add standby logfile group 14 '/u01/app/oracle/oradata/PROD/stdredo14.log' size 50m reuse; select group#,thread#,sequence#,bytes/1024/1024 mb,archived,status from V$STANDBY_LOG; 11.恢复同步和备库文件自动管理(备库执行) alter system set standby_file_management='AUTO'; alter database recover managed standby database using current logfile disconnect; DGMGRL\> show configuration; Configuration - ADGbroker Protection Mode: MaxAvailability Members: MPCDB196 - Primary database MPCDB197 - Physical standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS (status updated 6 seconds ago) 12.验证同步是否恢复 #主库 select open_mode from v$database; OPEN_MODE READ WRITE select group#,thread#,sequence#,bytes/1024/1024 mb,members,archived,status from v$log; GROUP# THREAD# SEQUENCE# MB MEMBERS ARC STATUS ---------- ---------- ---------- ---------- ---------- --- ---------------- 1 1 108 50 1 YES INACTIVE 2 1 109 50 1 YES INACTIVE 3 1 110 50 1 YES INACTIVE 4 1 111 50 1 NO CURRENT select group#,thread#,sequence#,bytes/1024/1024 mb,archived,status from V$STANDBY_LOG order by 1; GROUP# THREAD# SEQUENCE# MB ARC STATUS ---------- ---------- ---------- ---------- --- ---------- 10 0 0 50 YES UNASSIGNED 11 0 0 50 YES UNASSIGNED 12 0 0 50 YES UNASSIGNED 13 0 0 50 YES UNASSIGNED 14 0 0 50 YES UNASSIGNED select group#,status,type,member from v$logfile order by 1; GROUP# STATUS TYPE MEMBER ---------- ------- ------- ------------------------------------------------------------ 1 ONLINE /u01/app/oracle/oradata/PROD/redo01.log 2 ONLINE /u01/app/oracle/oradata/PROD/redo02.log 3 ONLINE /u01/app/oracle/oradata/PROD/redo03.log 4 ONLINE /u01/app/oracle/oradata/PROD/redo04.log 10 STANDBY /u01/app/oracle/oradata/PROD/stdredo10.log 11 STANDBY /u01/app/oracle/oradata/PROD/stdredo11.log 12 STANDBY /u01/app/oracle/oradata/PROD/stdredo12.log 13 STANDBY /u01/app/oracle/oradata/PROD/stdredo13.log 14 STANDBY /u01/app/oracle/oradata/PROD/stdredo14.log #备库 select open_mode from v$database; OPEN_MODE READ ONLY WITH APPLY select group#,thread#,sequence#,bytes/1024/1024 mb,members,archived,status from v$log order by 1; GROUP# THREAD# SEQUENCE# MB MEMBERS ARC STATUS ---------- ---------- ---------- ---------- ---------- --- ---------------- 1 1 0 50 1 YES UNUSED 2 1 0 50 1 YES UNUSED 3 1 110 50 1 YES CLEARING 4 1 111 50 1 YES CURRENT select group#,thread#,sequence#,bytes/1024/1024 mb,archived,status from V$STANDBY_LOG order by 1; GROUP# THREAD# SEQUENCE# MB ARC STATUS ---------- ---------- ---------- ---------- --- ---------- 10 1 111 50 YES ACTIVE 11 1 0 50 NO UNASSIGNED 12 0 0 50 YES UNASSIGNED 13 0 0 50 YES UNASSIGNED 14 0 0 50 YES UNASSIGNED select group#,status,type,member from v$logfile order by 1; GROUP# STATUS TYPE MEMBER ---------- ------- ------- ----------------------------------------------------------------- 1 ONLINE /u01/app/oracle/oradata/PROD/redo01.log 2 ONLINE /u01/app/oracle/oradata/PROD/redo02.log 3 ONLINE /u01/app/oracle/oradata/PROD/redo03.log 4 ONLINE /u01/app/oracle/oradata/PROD/redo04.log 10 STANDBY /u01/app/oracle/oradata/PROD/stdredo10.log 11 STANDBY /u01/app/oracle/oradata/PROD/stdredo11.log 12 STANDBY /u01/app/oracle/oradata/PROD/stdredo12.log 13 STANDBY /u01/app/oracle/oradata/PROD/stdredo13.log 14 STANDBY /u01/app/oracle/oradata/PROD/stdredo14.log -- 检查备库角色 select database_role,open_mode from v$database; select db_unique_name,open_mode,switchover_status,database_role from v$database; 查看进程 主库主要看 LNS 进程,此进程负责将主数据库的重做日志条目传输到备用数据库。备库主要看 MRP0 进程,此进程负责将接收到的归档日志应用到备用数据库上,以维持与主数据库的同步。MRP进程是ADG中的关键组件,它确保备用数据库的数据与主数据库保持一致。 select process ,status , sequence# from v$managed_standby;

相关推荐
jnrjian3 天前
ORA-01017 查找机器名 用户名 以及library cache lock 参数含义
数据库·oracle
TTc_3 天前
oracle中的union和union all有什么区别?
数据库·oracle
山峰哥3 天前
吃透 SQL 优化:告别慢查询,解锁数据库高性能
服务器·数据库·sql·oracle·性能优化·编辑器
南 阳3 天前
Python从入门到精通day37
数据库·python·oracle
轩情吖3 天前
MySQL库的操作
android·数据库·mysql·oracle·字符集·数据库操作·编码集
脱发的老袁3 天前
【数据库】Oracle手动清理归档日志
数据库·oracle
jnrjian3 天前
Oracle 共享池 库缓存下的 Library Cache Lock
数据库·缓存·oracle
新缸中之脑4 天前
在Reddit上探索未满足的需求
数据库·oracle
light blue bird4 天前
产线多并发客户端指令操作场景组件
jvm·oracle·.net·winform
坐吃山猪4 天前
Neo4j04_数据库事务
数据库·oracle·neo4j