原创 做者:yjjuff 时间:2015-05-04 16:37:31 2977 0linux
在一个dg环境中,配置的是实时同步,须要增长主库的redo大小和组数,原本是一个很简单的问题,解决思路是:先备库增长standby redo删除老standby
redo,而后主库增长redo删除老redo,备库增长新redo删除老redo,最后主库增长standby redo。可是在实施过程当中,遇到了一些细节性的问题,主要是
学习到了log_file_name_convert若是不配置,将致使备库redo 文件不能被删除
---备库操做
一、取消日志恢复
alter database recover managed standby database cancel;
二、备库添加standby redolog组。
alter database add standby logfile group 11 ('/u01/app/oradata/orcl/stred11.log','/u01/app/oradata/orcl/stred11b.log') size 100M;
alter database add standby logfile group 12 ('/u01/app/oradata/orcl/stred12.log','/u01/app/oradata/orcl/stred12b.log') size 100M;
alter database add standby logfile group 13 ('/u01/app/oradata/orcl/stred13.log','/u01/app/oradata/orcl/stred13b.log') size 100M;
alter database add standby logfile group 14 ('/u01/app/oradata/orcl/stred14.log','/u01/app/oradata/orcl/stred14b.log') size 100M;
三、备库standby删除stnadby redo log
alter database drop logfile group 4;
alter database drop logfile group 5;
alter database drop logfile group 6;
SQL> alter database drop logfile group 5;
alter database drop logfile group 5
*
ERROR at line 1:
ORA-00261: log 5 of thread 1 is being archived or modified
ORA-00312: online log 5 thread 1: '/u01/app/oradata/orcl/stredo02.log'
--如在清除standby redo log组时出现上面出错信息执行下面的命令清理
alter database clear logfile group 4;
四、主库online redo添加
alter database add logfile thread 1 group 7 ('/u01/app/oradata/orcl/redo07.log','/u01/app/oradata/orcl/redo07b.log') size 100m;
alter database add logfile thread 1 group 8 ('/u01/app/oradata/orcl/redo08.log','/u01/app/oradata/orcl/redo08b.log') size 100m;
alter database add logfile thread 2 group 9 ('/u01/app/oradata/orcl/redo09.log','/u01/app/oradata/orcl/redo09b.log') size 100m;
五、主库删除online redo组
alter database drop logfile group 1;
alter database drop logfile group 2;
alter database drop logfile group 3;
六、备库online redo组添加
刚开始删除的时候可能报错,执行如下命令:
alter system set standby_file_management='manual';
alter database add logfile thread 1 group 7 ('/u01/app/oradata/orcl/redo07.log','/u01/app/oradata/orcl/redo07b.log') size 100m;
alter database add logfile thread 1 group 8 ('/u01/app/oradata/orcl/redo08.log','/u01/app/oradata/orcl/redo08b.log') size 100m;
alter database add logfile thread 2 group 9 ('/u01/app/oradata/orcl/redo09.log','/u01/app/oradata/orcl/redo09b.log') size 100m;
七、备库删除老的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 wasudb (thread 1)
ORA-00312: online log 1 thread 1: '/data/oradata/wasudb/redo01.log'
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 1;
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'
SQL> show parameter NAME_CONVERT
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string
log_file_name_convert string
SQL> alter system set log_file_name_convert='/u01/app/oradata/orcl','/u01/app/oradata/orcl' scope=spfile;
System altered.
SQL> alter system set db_file_name_convert='/u01/app/oradata/orcl','/u01/app/oradata/orcl' scope=spfile;
System altered.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 413372416 bytes
Fixed Size 2213896 bytes
Variable Size 318769144 bytes
Database Buffers 88080384 bytes
Redo Buffers 4308992 bytes
Database mounted.
Database opened.
SQL> select open_mode,database_role from v$database;
OPEN_MODE DATABASE_ROLE
-------------------- ----------------
READ ONLY PHYSICAL STANDBY
SQL> show parameter file_name_convert
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string /u01/app/oradata/orcl, /u01/ap
p/oradata/orcl
log_file_name_convert string /u01/app/oradata/orcl, /u01/ap
p/oradata/orcl
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE#
NEXT_TIME
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ------------ ------------
------------
1 1 25 52428800 512 1 YES CLEARING 1041620 04-MAY-15 1042334 04-
MAY-15
2 1 20 52428800 512 1 YES CLEARING 1035102 20-JAN-15 1038445 04-
MAY-15
3 1 21 52428800 512 1 YES CLEARING 1038445 04-MAY-15 1039447 04-
MAY-15
7 1 28 104857600 512 2 YES CLEARING_CURRENT 1044189 04-MAY-15 0
8 1 27 104857600 512 2 YES CLEARING 1042338 04-MAY-15 1044189 04-
MAY-15
9 2 0 104857600 512 2 YES UNUSED 0 0
6 rows selected.
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 orcl (thread 1)
ORA-00312: online log 1 thread 1: '/u01/app/oradata/orcl/redo01.log'
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 1;
alter database drop logfile 1
*
ERROR at line 1:
ORA-02236: invalid file name
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>
八、主库删除standby redo log组
SQL> alter database drop logfile group 4;
Database altered.
SQL> alter database drop logfile group 5;
Database altered.
SQL> alter database drop logfile group 6;
Database altered.
九、主库添加standby redo log 组SQL> alter database add standby logfile group 11
alter database add standby logfile group 12 ('/u01/app/oradata/orcl/stred12.log','/u01/app/oradata/orcl/stred12b.log') size 100M;
alter database add standby logfile group 13 ('/u01/app/oradata/orcl/stred13.log','/u01/app/oradata/orcl/stred13b.log') size 100M;
alter database add standby logfile group 14 ('/u01/app/oradata/orcl/stred14.log','/u01/app/oradata/orcl/stred14b.log') size 100M;
Database altered.
SQL>
Database altered.
SQL>
Database altered.
SQL>
Database altered.
十、启动时实恢复
而后在备库执行
alter database recover managed standby database using current logfile disconnect;
alter system set standby_file_management='auto';
oracle
0app
0函数
分享到:学习
上一篇: linux tmpfs和swap介绍spa
下一篇: ORA-01756: quoted string not properly terminated.net
请登陆后发表评论3d
所有评论日志
yjjuffblog
注册时间:2012-10-11
博文量
29访问量
229562
Oracle OER 7451 in Load Indicator : Error Code = OSD-04500的问题处理
Oracle闪回恢复区(fast recovery area,FRA)
如何导出存储过程、函数、包和触发器的定义语句?如何导出表和索引的建立语句?