場景,重新開機資料庫,不重新開機linux系統,是以不用考慮監聽程式,
#linux輸入lsnrctl start
1 資料庫關閉
1.1 關閉主庫
SHUTDOWN IMMEDIATE;
SQL> SHUTDOWN IMMEDIATE;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
1.2 關閉備庫
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
Database altered.
SQL>
2 資料庫啟動,
開啟的時候先開備庫啟動備庫監聽,再開主庫
2.1 啟動備庫
#STARTUP MOUNT;
#ALTER DATABASE RECOVER MANAGED STANDBY DATABASE;
# ALTER DATABASE OPEN;
# 這裡不用設定歸檔,歸檔設定一次是永久生效的,直接startup啟動就行
STARTUP ;
SQL> STARTUP ;
ORACLE instance started.
Total System Global Area 5344731136 bytes
Fixed Size 2213136 bytes
Variable Size 3489663728 bytes
Database Buffers 1811939328 bytes
Redo Buffers 40914944 bytes
Database mounted.
Database opened.
SQL>
2.2 啟動主庫
Total System Global Area 1.1358E+10 bytes
Fixed Size 2216744 bytes
Variable Size 8589937880 bytes
Database Buffers 2751463424 bytes
Redo Buffers 13946880 bytes
SQL>
/*取代下面的過程,資料庫本來就是歸檔的,是以關閉之後再重新開機,資料庫也是歸檔的
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;*/
2.3 啟動備庫應用
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE;
這個指令是死指令,會一直卡在這,但是背景其實歸檔日志已經在同步了,除非人為的關閉 否則 一直是這樣的。
ALTER DATABASE OPEN; --備庫不是必須處于OPEN狀态,啟動歸檔被應用即可,這個指令可以不用執行。
2.4 check,檢視歸檔是否及時應用
先檢查備庫的歸檔日志同步情況
SQL> SELECT NAME,applied FROM v$archived_log;
......
NAME
--------------------------------------------------------------------------------
APPLIED
---------
/data/oracle/oradgdata/standby_archive/1_20866_821708334.dbf
YES
/data/oracle/oradgdata/standby_archive/1_20867_821708334.dbf
/data/oracle/oradgdata/standby_archive/1_20868_821708334.dbf
/data/oracle/oradgdata/standby_archive/1_20869_821708334.dbf
2800 rows selected.
如果發現全部都是YES,證明歸檔日志已經在同步。
在主庫執行check:
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /oracle/app/oracle/flash_recovery_area/archivelog
Oldest online log sequence 20869
Next log sequence to archive 20871
Current log sequence 20871
在備庫執行check
Archive destination /data/oracle/oradgdata/standby_archive
Next log sequence to archive 0
看到主庫備庫目前的Current log sequence都是20871,備庫上面最新的歸檔日志applied都是YES,就表明主庫備庫資料同步一緻了。
dataguard重新開機算是徹底完成了。到這裡強行關閉執行2.3的那個sql指令視窗。
下次再執行到2.3這一步驟,就可以在後面加上disconnect from session,就是執行完這個指令後斷開這個回話,就是我們所能接受的,可以接着用這個連接配接執行其他指令了。
本文轉自 abc3486389 51CTO部落格,原文連結:http://blog.51cto.com/1336014/1437180