随笔 - 404  文章 - 4  评论 - 0  阅读 - 25万

ORACLE DG在线日志修改

ORACLE DG在线日志修改

SQL>select SEQUENCE#,first_time,next_time,APPLIED, THREAD# from v$archived_log order by  SEQUENCE#,THREAD#;

select * from v$logfile order by GROUP# ;

SQL> select GROUP#,BYTES/1024/1024 from v$log;

SQL> select GROUP#,BYTES/1024/1024,STATUS from v$standby_log;

REDO ONLINE LOG状态
SQL>select * from v$logfile where type<>'STANDBY'; #ONLINE LOG 为三组
GROUP# STATUS TYPE MEMBER IS_ CON_ID
---------- ------- ------- ------------------------------------------------------------ --- ----------
1 ONLINE /u01/app/oracle/oradata/elon/st_redo01a.log NO 0
1 ONLINE /u01/app/oracle/oradata/elon/st_redo01b.log NO 0
2 ONLINE /u01/app/oracle/oradata/elon/st_redo02a.log NO 0
2 ONLINE /u01/app/oracle/oradata/elon/st_redo02b.log NO 0
3 ONLINE /u01/app/oracle/oradata/elon/st_redo03a.log NO 0
3 ONLINE /u01/app/oracle/oradata/elon/st_redo03b.log NO 0

STANDBY LOG状态
SQL>select * from v$logfile where type='STANDBY'; #standby log 四组
GROUP# STATUS TYPE MEMBER IS_ CON_ID
---------- ------- ------- ------------------------------------------------------------ --- ----------
4 STANDBY /u01/app/oracle/oradata/elon/st_redo04a.log NO 0
4 STANDBY /u01/app/oracle/oradata/elon/st_redo04b.log NO 0
5 STANDBY /u01/app/oracle/oradata/elon/st_redo05a.log NO 0
5 STANDBY /u01/app/oracle/oradata/elon/st_redo05b.log NO 0
6 STANDBY /u01/app/oracle/oradata/elon/st_redo06a.log NO 0
6 STANDBY /u01/app/oracle/oradata/elon/st_redo06b.log NO 0
7 STANDBY /u01/app/oracle/oradata/elon/st_redo07a.log NO 0
7 STANDBY /u01/app/oracle/oradata/elon/st_redo07b.log NO 0

1.备库添加standby log
SQL>alter database recover managed standby database cancel;#取消APPLIED
SQL>alter database add standby logfile group 8 ('/u01/app/oracle/oradata/elon/st_redo08a.log','/u01/app/oracle/oradata/elon/st_redo08b.log') size 300M;
SQL>alter database add standby logfile group 9 ('/u01/app/oracle/oradata/elon/st_redo09a.log','/u01/app/oracle/oradata/elon/st_redo09b.log') size 300M;
SQL>alter database add standby logfile group 10 ('/u01/app/oracle/oradata/elon/st_redo10a.log','/u01/app/oracle/oradata/elon/st_redo10b.log') size 300M;
SQL>alter database add standby logfile group 11 ('/u01/app/oracle/oradata/elon/st_redo11a.log','/u01/app/oracle/oradata/elon/st_redo11b.log') size 300M;

2.删除备库旧的standby log
SQL>alter database drop logfile group 4;
SQL>alter database drop logfile group 5;
SQL>alter database drop logfile group 6;
SQL>alter database drop logfile group 7;

如果出现以下错误,在主库上切换一下日志
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/oracle/oradata/elon/st_redo04b.log'

3.主库添加standby log
SQL>alter database add standby logfile group 8 ('/u01/app/oracle/oradata/elon/st_redo08a.log','/u01/app/oracle/oradata/elon/st_redo08b.log') size 300M;
SQL>alter database add standby logfile group 9 ('/u01/app/oracle/oradata/elon/st_redo09a.log','/u01/app/oracle/oradata/elon/st_redo09b.log') size 300M;
SQL>alter database add standby logfile group 10 ('/u01/app/oracle/oradata/elon/st_redo10a.log','/u01/app/oracle/oradata/elon/st_redo10b.log') size 300M;
SQL>alter database add standby logfile group 11 ('/u01/app/oracle/oradata/elon/st_redo11a.log','/u01/app/oracle/oradata/elon/st_redo11b.log') size 300M;

4.删除主库旧的standby log
SQL>alter database drop logfile group 4;
SQL>alter database drop logfile group 5;
SQL>alter database drop logfile group 6;
SQL>alter database drop logfile group 7;

5.主库添加新的ONLINE REDO LOG
SQL>alter database add logfile group 12 ('/u01/app/oracle/oradata/elon/st_redo12a.log','/u01/app/oracle/oradata/elon/st_redo12b.log') size 300M;
SQL>alter database add logfile group 13 ('/u01/app/oracle/oradata/elon/st_redo13a.log','/u01/app/oracle/oradata/elon/st_redo13b.log') size 300M;
SQL>alter database add logfile group 14 ('/u01/app/oracle/oradata/elon/st_redo14a.log','/u01/app/oracle/oradata/elon/st_redo14b.log') size 300M;

6.主库删除旧的ONLINE REDOLOG,INACTIVE状态下进行删除,查看是不是INACTIVE,不是INACTIVE 多切几次归档
SQL>alter system logfile switch
SQL>alter system checkpoint
SQL>alter database drop logfile group 1;
SQL>alter database drop logfile group 2;
SQL>alter database drop logfile group 3;

7.备库添加新的ONLINE REDO LOG
alter system set standby_file_management='MANUAL';

alter database add logfile group 12 ('/u01/app/oracle/oradata/elon/st_redo12a.log','/u01/app/oracle/oradata/elon/st_redo12b.log') size 300M;
alter database add logfile group 13 ('/u01/app/oracle/oradata/elon/st_redo13a.log','/u01/app/oracle/oradata/elon/st_redo13b.log') size 300M;
alter database add logfile group 14 ('/u01/app/oracle/oradata/elon/st_redo14a.log','/u01/app/oracle/oradata/elon/st_redo14b.log') size 300M;

8.删除备库旧的ONLINE REDO LOG
SQL> alter database drop logfile group 1;
alter database drop logfile group 1
*
ERROR at line 1:
ORA-01624: log 1 needed for crash recovery of instance elon (thread 1)
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/elon/redo01.log'

[oracle@oracle10g-dg1-213-100 ~]$ oerr ora 01624
01624, 00000, "log %s needed for crash recovery of instance %s (thread %s)"
// *Cause: A log cannot be dropped or cleared until the thread's checkpoint
// has advanced out of the log.
// *Action: If the database is not open, then open it. Crash recovery will
// advance the checkpoint. If the database is open force a global
// checkpoint. If the log is corrupted so that the database cannot
// be opened, it may be necessary to do incomplete recovery until
// cancel at this log.

尝试clean logfile
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: '/u01/app/oracle/oradata/elon/redo01.log'

[oracle@oracle10g-dg1-213-100 elon]$ oerr ora 19527
19527, 00000, "physical standby redo log must be renamed"
// *Cause: The CLEAR LOGFILE command was used at a physical standby
// database. This command cannot be used at a physical standby
// database unless the LOG_FILE_NAME_CONVERT initialization
// parameter is set. This is required to avoid overwriting
// the primary database's logfiles.
// *Action Set the LOG_FILE_NAME_CONVERT initialization parameter.
LOG_FILE_NAME_CONVERT参数未初始化

SQL> alter system set log_file_name_convert='/u01/app/oracle/oradata/elon/','/u01/app/oracle/oradata/elon/' scope=spfile;

System altered.

SQL> shutdown immediate;
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.
SQL> startup nomount;
ORACLE instance started.

Total System Global Area 704643072 bytes
Fixed Size 2098912 bytes
Variable Size 184551712 bytes
Database Buffers 511705088 bytes
Redo Buffers 6287360 bytes
SQL> alter database mount standby database;

Database altered.

SQL> ALTER DATABASE CLEAR LOGFILE GROUP 1;
Database altered.

SQL> ALTER DATABASE CLEAR LOGFILE GROUP 2;
Database altered.

SQL> ALTER DATABASE CLEAR LOGFILE GROUP 3;
Database altered.

SQL> alter database drop logfile group 1;
Database altered.
SQL> alter database drop logfile group 2;
Database altered.
SQL> alter database drop logfile group 3;
Database altered.

SQL> alter system set standby_file_management='AUTO' scope=both;
System altered.
SQL> alter database recover managed standby database disconnect from session;
Database altered.

posted on   HelonTian  阅读(993)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示