原創 做者: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)
如何導出存儲過程、函數、包和觸發器的定義語句?如何導出表和索引的建立語句?