Oracle 11G DataGuard生產環境重新啟動詳細過程,11gdataguard
情境,重啟資料庫,不重啟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;
SHUTDOWN IMMEDIATE;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
Database altered.
SQL> SHUTDOWN IMMEDIATE;
Database closed.
Database dismounted.
ORACLE instance shut down.
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 啟動主庫
STARTUP ;
SQL> STARTUP ;
ORACLE instance started.
Total System Global Area 1.1358E+10 bytes
Fixed Size 2216744 bytes
Variable Size 8589937880 bytes
Database Buffers 2751463424 bytes
Redo Buffers 13946880 bytes
Database mounted.
Database opened.
SQL>
/*取代下面的過程,資料庫本來就是歸檔的,所以關閉之後再重啟,資料庫也是歸檔的
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;*/
2.3 啟動備庫應用
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
YES
/data/oracle/oradgdata/standby_archive/1_20868_821708334.dbf
YES
NAME
--------------------------------------------------------------------------------
APPLIED
---------
/data/oracle/oradgdata/standby_archive/1_20869_821708334.dbf
YES
2800 rows selected.
SQL>
如果發現全部都是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
SQL>
在備庫執行check
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /data/oracle/oradgdata/standby_archive
Oldest online log sequence 20869
Next log sequence to archive 0
Current log sequence 20871
SQL>
看到主庫備庫當前的Current log sequence都是20871,備庫上面最新的歸檔日誌applied都是YES,就表明主庫備庫資料同步一致了。
dataguard重啟算是徹底完成了。到這裡強行關閉執行2.3的那個sql命令視窗。
下次再執行到2.3這一步驟,就可以在後面加上disconnect from session,就是執行完這個命令後斷開這個回話,就是我們所能接受的,可以接著用這個串連執行其他命令了。
出處地址:http://blog.itpub.net/26230597/viewspace-1214816/
小布老師oracle 11g dataguard 培訓視頻
已私信,望採納
oracle dataguard 與 oracle active dataguard 有什不同
dataguard這個是資料庫容災的一種模式,是指在正常啟動並執行生產環境之外異地啟動並執行資料庫裝置(有自己獨立的資料庫磁陣),如果生產環境發生資料變動,通過dataguard將變動的資料操作從生產環境即時同步過來,保證了生產環境和容災環境的資料的一致性,如果生產環境資料庫癱瘓了,容災環境就接管過來。
Data Guard可以以唯讀方式開啟資料庫,但此時Media Recovery利用日誌進行資料同步的過程就停止了,如果物理備用資料庫處於恢複的過程中資料庫就不能開啟查詢,也就是說日誌應用和唯讀開啟兩個狀態是互斥的。
Oracle 11g 中推出的Active Data Guard功能解決了這個矛盾,在利用日誌恢複資料的同時可以用唯讀方式開啟資料庫,使用者可以在備用資料庫上進行查詢、報表等操作,這類似邏輯Data Guard備用資料庫的功能(查詢功能方面),但是,資料同步的效率更高、對硬體的資源要求更低。這樣可以更大程度地發揮物理備用資料庫的硬體資源的效能。