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;

相关推荐
Bing@DBA12 分钟前
Oracle 19c 静默安装
数据库·oracle
消失在人海中11 小时前
oracle 会话管理
数据库·oracle
小Tomkk21 小时前
2025年5月15日前 免费考试了! Oracle AI 矢量搜索专业认证
数据库·人工智能·oracle
菲兹园长21 小时前
MySql(基础)
数据库·mysql·oracle
潇湘秦1 天前
Oracle非归档模式遇到文件损坏怎么办?
数据库·oracle
杨云龙UP2 天前
SQL Server 中的 GO 及其与其他数据库的对比
数据库·sql·mysql·oracle·sqlserver
程序员小董2 天前
关于甲骨文(oracle cloud)丢失MFA的解决方案
oracle·mfa·甲骨文·免费账号
betazhou2 天前
oracle goldengate非并行进程转换为并行进程
数据库·oracle·并行·parallel·ogg·同步数据
wuli玉shell2 天前
数仓-范式建模、维度建模、雪花模型、星型模型对比及其适用范围
数据库·oracle