建立DATAGUARD最大保護模式-測試手記
建立DATAGUARD最大保護模式(自寫)
(備註:本文件符合最大保護模式,所有引數均為最大保護模式下適用,其他模式不適用)
1、主庫,啟動歸檔,開啟強制歸檔。
alter database archivelog;
alter database force logging;
2、建立standby日誌。
alter database add standby logfile group 4 ('D:\oracle\product\10.2.0\oradata\orcl\standbyredo04.log') size 50m;
3、建立備庫用的控制檔案。
alter database create standby controlfile as 'd:\standbycontrol01.ctl';
4、建立pfile引數檔案。
create pfile from spfile;
5、修改主庫pfile引數檔案。
增加以下內容:
*.DB_UNIQUE_NAME='PRIMARY'
*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(PRIMARY,STANDBY)'
*.LOG_ARCHIVE_DEST_1='LOCATION=D:\oracle\product\10.2.0\oradata\ARCH\ MANDATORY REOPEN=60 MAX_FAILURE=3 VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PRIMARY'
*.LOG_ARCHIVE_DEST_2='SERVICE=STANDBY LGWR SYNC AFFIRM VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=STANDBY'
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
*.REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
*.LOG_ARCHIVE_FORMAT=ORCL_%T_%S_%R.ARC
*.FAL_CLIENT = 'PRIMARY'
*.FAL_SERVER = 'STANDBY'
*.STANDBY_FILE_MANAGEMENT =AUTO
用pfile引數檔案啟動後,建立spfile檔案,然後用spfile啟動資料庫。
6、修改主庫listener和net解析配置檔案。(這部分主要的目的是要保證兩邊資料庫要互相能夠登入,所以在啟動DG之前,一定要用從各自主機上用sqlplus登入,嘗試能不能登入,記得用sys使用者登入要加上as sysdba,否則會報異常錯誤,由於備庫會處於mount狀態,經過驗證,在mount下,動態註冊監聽會導致遠端sqlplus用sys使用者登入會報錯,所以備庫還是使用靜態註冊監聽)(NET部分配置,可以使用NETCA來配置,只是從主庫上建立到備庫的連線時,由於沒有啟動或者處於mount狀態,只能用sys使用者來做測試,輸入本地服務名主要和log_archive_dest_2中的service後面的服務名相關,要一樣才能讓主庫進行解析,備庫一樣配置的目的,主要為了切換之後可以正常使用.)
由於備庫沒有啟動,所以用netca配置可能不靈光,還是推薦直接用配置檔案的方式做。
listener.ora配置
SID_LIST_LISTENER =
(SID_LIST =
下增加: (SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(PROGRAM = orcl)
)
就是增加一個靜態監聽註冊,其實主庫可以不這樣配置,但是為了以後切換之後,可以正常使用,所以還是按照standby資料要求來配置。
tnsnames.ora配置
增加:
PRIMARY =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
STANDBY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.11)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
7、複製檔案到備庫:資料庫資料檔案,生成出來的控制檔案,做好的pfile引數檔案,日誌檔案,以及修改過的listener.ora和tnsnames.ora。這裡和網上的不太一樣,但是我推薦還是將聯機日誌檔案全部複製到備庫。
8、修改備庫上的pfile檔案
*.DB_UNIQUE_NAME='STANDBY'
*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(PRIMARY,STANDBY)'
*.LOG_ARCHIVE_DEST_1='LOCATION=D:\oracle\product\10.2.0\oradata\ARCH\ MANDATORY REOPEN=60 MAX_FAILURE=3 VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=STANDBY'
*.LOG_ARCHIVE_DEST_2='SERVICE=PRIMARY LGWR SYNC AFFIRM VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PRIMARY'
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
*.REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
*.LOG_ARCHIVE_FORMAT=ORCL_%T_%S_%R.ARC
*.FAL_CLIENT = 'STANDBY'
*.FAL_SERVER = 'PRIMARY'
*.STANDBY_FILE_MANAGEMENT =AUTO
9、檢查listener.ora和tnsnames.ora檔案配置是否正確,主要可能是目錄不太一樣。
10、將控制檔案複製2份,複製到和主庫一樣的位置,並且檔名改成和主庫一樣的。
11、將資料檔案複製到和主庫一樣的位置。
12、將修改好的pfile引數檔案,複製到db_1\database下。
13、將listener.ora和tnsnames.ora複製到到db_1\network\admin下。
14、備庫上的資料夾要建立和主庫一樣的。主要有D:\oracle\product\10.2.0\admin\orcl下的6個資料夾,D:\oracle\product\10.2.0\flash_recovery_area,D:\oracle\product\10.2.0\oradata下的資料檔案存放資料夾及歸檔日誌資料夾。
15、pfile、listener.ora、tnsnames.ora修改檢查複製完成,資料檔案、聯機日誌檔案及控制檔案複製完成之後,可以開始了。
16、建立服務:oradim -new -sid orcl -startmode m
17、生成密碼檔案:orapwd file='D:\oracle\product\10.2.0\db_2\database\pwdorcl.ora' password=XXXX entris=5;
18、用pfile引數檔案啟動資料庫到mount狀態,建立spfile,然後用spfile重新啟動到mount狀態,由於在複製過來的時候,帶過來了關於standby日誌的配置,這裡最好是刪除之後重新建立:
alter database drop standby logfile group 4;
alter database add standby logfile group 4 ('D:\oracle\product\10.2.0\oradata\orcl\standbyredo04.log') size 50m;
19、啟動備庫中的redo實時應用:
alter database recover managed standby database using current logfile disconnect from session;
19、回到主庫:
用sqlplus來檢查一下standby 資料庫能不能正常登陸。記得用SYS使用者登入,加上as sysdba。
20、啟動主庫到mount狀態,mount狀態下修改主庫到最大保護模式:
alter database set standby database to maximize protection;
21、啟動正常,說明DG建立成功。
22、資料庫切換
主庫執行:
Alter database commit to switchover to phiscal standby with session shutdown;
Shutdown immediate
Startup mount
備庫執行:
Alter databse commit to switchover to primary;
可能需要執行一下redo應用之後,才能切換
Alter databse recover managed standby database disconnect from session;
Alter databse commit to switchover to primary;
主要是備庫切換過來之後,由於是雙向都是最大保護,所以要備庫能連線到主庫,所以首先要在備庫上執行sqlplus,看看能不能正常登入到主庫,也有可能登入不上,那麼有可能是主庫的listener.ora的服務名不一樣,將備庫中tnsnames.ora中的service_name改成要主庫一樣的就可以了,這主要是因為主庫和備庫都配置了db_unique_name,listener.ora有netca配置的時候,可能會將db_unique_name配置為服務名,但是oracle_sid還是orcl,這個要務必注意。
總結 :
一、DG主要,是有引數檔案的引數來確定,只要正確,建立一般沒有問題,每種DG保護模式引數都不一樣,不能套用。
二 、DG啟動,則是有SQLPLUS命令來控制的,引數正確,命令執行就沒有問題。
三、DG中的NET部分非常重要,很多錯誤可能會發生在NET配置部分,由於DB_UNIQUE_NAME的設立,可能會導致listener.ora中的配置和一般的不一樣,也就是裡面的服務名和oracle_sid 不一定是一樣的,這點要注意,如果不一樣,也需要改動太多,只要將對面的資料庫(主庫或者備庫)中的tnsnames.ora中的service_name改成一樣就可以了,儘量不要修改太多。
本 文件 已經經過3次驗證,沒有問題,如果有錯誤,一定要仔細看看引數是否正確,配置是否一致,NET部分是否支援相互正常登入。再三提醒,本文件中的引數,只適合DG最大保護模式,其他模式,可能需要更改.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9606200/viewspace-757947/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 滴水中級班保護模式階段測試作業模式
- 保護模式模式
- DATAGUARD手記(DUPLICATE)(四)
- 10g DG保護模式的切換:從最大效能到最大可用模式
- DATAGUARD監控,保護和自動修復最佳實踐
- 保護模式:段機制模式
- 保護性暫停模式模式
- DATAGUARD手記(PRIMARY+2STANDBY)(一)
- DATAGUARD手記(PRIMARY+2STANDBY)(二)
- 保護模式篇——PAE分頁模式
- 固態硬碟掉電保護的原理及測試方法硬碟
- 保護模式篇——總結與提升模式
- 圖解CPU的真實模式與保護模式圖解模式
- 錄製回放模式建立測試用例 - Katalon Studio模式
- Linux從頭學08:Linux 是如何保護核心程式碼的?【從真實模式到保護模式】Linux模式
- 使用PostMan Canary測試受Identity Server 4保護的Web ApiPostmanIDEServerWebAPI
- 谷歌Chrome瀏覽器正測試ECH隱私保護功能谷歌Chrome瀏覽器
- 蘋果新隱私保護功能測試中,Facebook表示不可蘋果
- 6 Oracle Data Guard Protection Modes 保護模式Oracle模式
- DATAGUARD手記(READONLY驗證REAL-TIME DML)(五)
- x64 番外篇——保護模式相關模式
- 淺析iOS手遊逆向和保護iOS
- Oracle-DG最大保護模式下,dg備庫出現問題對主庫有什麼影響?Oracle模式
- RAC環境下建立物理DATAGUARD(1)
- RAC環境下建立物理DATAGUARD(2)
- 使用Broker管理Data Guard——停用、改保護模式等模式
- win10桌面眼睛保護模式怎麼開啟_win10設定電腦眼睛保護模式步驟Win10模式
- 保護企業資訊保安,阿里雲滲透測試服務釋出阿里
- 繼電器測試負載箱的維護和保養方法有哪些?負載
- 移動App安全等級保護測評防護要點APP
- 10G DG最大可用模式下備庫發生故障時主庫保護級別的變化模式
- 【DATAGUARD】Oracle21c Dataguard建立注意事項及主要引數介紹Oracle
- 軟體測試筆記——11.自動化測試和手動測試的選擇筆記
- redis配置檔案中的保護模式protected-modeRedis模式
- 保護創新、促進仿製:對中國建立藥品專利保護體系的政策建議
- 測試 mysql 的最大連線數MySql
- 保護期限
- 軟體測試模式模式
- AlDente 2.1 Alpha (限制最大充電量保護電池)支援m1