8、接收归档文件(在主库上操作) 在主库上启动发送日志:ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
9.应用日志 alter database recover managed standby database disconnect from session;
10.查看一下告警日志:Media Recovery Waiting for thread 1 sequence 8 (in transit) 如这个提示:recover managed standby database cancel;
11.打开数据库 alter database open;
12、建standby redo log;--创建的大小要与主库的redolog一样 alter database add standby logfile group 20 ('/u01/app/oracle/oradata/oca/stb1redo20.log') size 100m, group 21 ('/u01/app/oracle/oradata/oca/stb1redo21.log') size 100m, group 22 ('/u01/app/oracle/oradata/oca/stb1redo22.log') size 100m, group 23('/u01/app/oracle/oradata/oca/stb1redo23.log') size 100m; SELECT GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG; 假如状态全是:UNASSIGNED--->shutdown immediate,startup;--> ACTIVE
13、启动REDO应用 recover managed standby database using current logfile disconnect from session;
**************************************** 物理备用数据库的日常管理 **************************************** 1.查看日志应用情况: select sequence#,applied from v$archived_log;
2.通过V$STANDBY_LOG视图验证standby redo log文件组是否成功创建 告警错误1 Destination LOG_ARCHIVE_DEST_2 no longer supports SYNCHRONIZATION SELECT GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG; 解方法1:在备库重standby redolog file,创建的大小要与主库的redolog一样!!!!! 如果还是不行,那只能得启备库试试!!!!!!! 3.查询V$MANAGED_STANDBY视图,可以确定其是否处于重做应用状态 如果包含MRP0,则表示处于重做应用状态;所以必须先取消重做应用状态,然后才能关闭该备用数据库。 select process, status from v$managed_standby;
4.可通过检查,主数据库的归档日志状态,检查DATAGUARD的运行是否正常 SELECT DEST_ID,ERROR FROM V$ARCHIVE_DEST; 如果查询结果,显示STATUS=VALID,并且ERROR为空,则表示主数据库向备用数据库传递日志状态正常。否则,可能存在问题。 常见故障(1)-网络故障:可能由于网络原因,造成日志文件传递失败。此时,可首先可利用ping命令检查网络状态,然后利用Oralce的tnsping 命令检查tnsnames.ora文件解析情况。 常见故障(2)-密码问题:主、备数据必须保持sys用户密码的一致性。即保持orapwdSID.ora文件中sys密码的一致性。如果密码不同,则可能造成传输失败。 告警错误1 returning error ORA-16191: Primary log shipping client not logged on standby --密码文件是否一样:两节点执行如下 ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON=FALSE SCOPE=BOTH; orapwd file=orapwbxdb password=oracle force=y ignorecase=y; 告警错误2 ORA-16047: DGID mismatch between destination setting and target database --查参数log_archive_dest_2
5.备用数据库,获取备用数据库中最后应用的日志的序列号。 暂记录为laseq SELECT MAX(SEQUENCE#) FROM V$ARCHIVED_LOG WHERE APPLIED='YES'; 6.应先打开库再做日志应用,就不会报错 SQL> STARTUP MOUNT; SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION; SQL> ALTER DATABASE OPEN; alter database open * ERROR at line 1: ORA-10456: cannot open standby database; media recovery session may be in progress SQL> shutdown immediate; SQL> startup SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION; Database altered.
************************************* 物理Standby的角色转换 ************************************* switchover操作步骤 主库上操作:(主-->备) Step 1 Verify that the primary database can be switched to the standby role. SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE; SWITCHOVER_STATUS ----------------- TO STANDBY Step 2 Initiate the switchover on the primary database. SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN; Step 3 Shut down and then mount the former primary database. SQL> SHUTDOWN ABORT; SQL> STARTUP MOUNT; 备库上操作:(备-->主) Step 4 Verify that the switchover target is ready to be switched to the primary role. SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE; SWITCHOVER_STATUS ----------------- TO_PRIMARY Step 5 Switch the target physical standby database role to the primary role. SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN; Step 6 Open the new primary database. SQL> ALTER DATABASE OPEN; 主库上操作:(主-->备) Step 7 Start Redo Apply on the new physical standby database. SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;