Oracle11g 搭建DataGuard(筆記)
本文參考網路部分資料編寫,作為參考筆記
環境: WINDOWS2003+Oralcle11.2.0.1
建議使用 虛擬機器來模擬,這樣主備兩邊的環境完全一樣。
假設主庫的機器名為PRIMARY , IP地址為192.168.1.10
備庫的機器名為STANDBY , IP地址為192.168.1.20
主庫:
1. 設定Listener.ora 檔案,增加紅色內容,目的是實現監聽的靜態註冊。
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhsot)(PORT = 1521))
)
)
ADR_BASE_LISTENER = D:\app\Administrator
監聽的靜態註冊主要是用於資料庫不在open 狀態時,也可以透過監聽連線資料庫。
2. 設定TNSMAE.ORA 檔案
PRIMARY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
STANDBY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.20)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
3. 設定SQLNET.ORA檔案
SQLNET.AUTHENTICATION_SERVICES= (NONE)
4. 設定密碼檔案
$ORACLE_HONE\database\目錄下的orapwd.ora 檔案
5. 建立歸檔目錄 D:\archive
將此時的主機做個clone, 克隆後的機器ip為192.168.1.20, 機器名為standby
此時達到的目的就是兩個機器有相同的Listener.ora、TNSMAE.ORA、SQLNET.ORA和檔案。備庫上雖然有資料庫,但不重要,可以在關閉資料庫的時候,刪除資料檔案。
設定主庫的歸檔和force logging 屬性,增加standby redo log(假設redo log 原來只有3組,檔案大小為50M)
Startup mount
alter database force logging ;
alter database archivelog;
alter database add standby logfile group 4 'D:\app\Administrator\oradata\orcl\redo04.log' size 50M ;
alter database add standby logfile group 5 'D:\app\Administrator\oradata\orcl\redo05.log' size 50M ;
alter database add standby logfile group 6 'D:\app\Administrator\oradata\orcl\redo06.log' size 50M ;
修改spfile,中的引數:
*.db_name='orcl'
*.log_archive_format='ARC_%T%S%r.ARC'
*.db_unique_name='orcl'
*.log_archive_config='DG_CONFIG=(primary,standby)'
*.log_archive_dest_1='location=D:\archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) db_unique_name=primary'
*.log_archive_dest_2='SERVICE=standby VALID_FOR=(ALL_LOGFILES,PRIMARY_ROLES) db_unique_name=standby'
*.log_archive_dest_state_1=ENABLE
*.log_archive_dest_state_2=ENABLE
*.fal_server='standby'
*.fal_client='primary'
可以透過create pfile from spfile 方式匯出pfile 檔案,修改pfile 後,再 create spfile from pfile 方式完成。fal_server 據說在11GR2 已不使用,但由於是轉自網上資料,先沒有去除。
備庫:
Startup nomount pfile=…
隨便什麼pfile ,只要能啟動即可。
執行:
rman target sys/oracle@primary auxiliary sys/oracle@standby
執行
run
{
duplicate target database for standby from active database nofilenamecheck spfile
set db_unique_name='standby'
set control_files='D:\app\Administrator\oradata\orcl\CONTROL01.CTL'
set log_archive_max_processes='20'
set fal_server='primary'
set fal_client='standby'
set log_archive_dest_1='location=D:\archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) db_unique_name=standby'
set log_archive_dest_2='SERVICE=primary VALID_FOR=(ALL_LOGFILES,PRIMARY_ROLES) db_unique_name=primary'
set standby_file_management='auto';
}
備庫:
此時是mount 狀態
alter database recover managed standby database using current logfile disconnect from session;
如果要開啟資料庫:
alter database recover managed standby database cancel;
alter database open read only;
alter database recover managed standby database using current logfile disconnect from session;
此時的備庫就是一個只讀的實時映象。
切換:
Primary->standby
alter database commit to switchover to physical standby with session shutdown;
shutdown immediate
startup mount;
alter database open read only;
alter database recover managed standby database using current logfile disconnect from session;
standby->primary
alter database commit to switchover to primary with session shutdown;
alter database open;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9036/viewspace-1846487/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle11g單節點DataGuard搭建Oracle
- Oracle11g 搭建單例項DataGuardOracle單例
- Oracle11g R2之Dataguard搭建物理standbyOracle
- dataguard讀書筆記筆記
- ORACLE dataguard學習筆記Oracle筆記
- oracle11g dataguard切換Oracle
- DataGuard搭建
- oracle11g dataguard 完全手冊Oracle
- oracle11g dataguard完全手冊--failover &active dataguard(完)OracleAI
- RMAN學習筆記_ Duplicate建立DataGuard筆記
- RMAN學習筆記_ Duplicate重做DataGuard筆記
- ORACLE10G DATAGUARD配置筆記Oracle筆記
- oracle11g dataguard完全手冊--switchoverOracle
- vue搭建筆記Vue筆記
- Oracle11g DataGuard 新特點小結Oracle
- DataGuard搭建物理StandBy
- DataGuard搭建邏輯StandBy
- Oracle DataGuard 主備切換 (switchover) oracle11gOracle
- hexo 部落格搭建筆記Hexo筆記
- PHP+sqlserver搭建筆記PHPSQLServer筆記
- ELK 搭建筆記--Docker 方式筆記Docker
- Ubuntu 搭建 GitLab 筆記UbuntuGitlab筆記
- oracle實驗記錄 (oracle 10G dataguard(1)手工搭建)Oracle
- 搭建 Oracle10g DataGuardOracle
- 搭建DataGuard碰到的小陷阱
- NIO 伺服器搭建筆記伺服器筆記
- 我的部落格搭建筆記筆記
- Oracle 11.2 DataGuard RAC To RAC搭建Oracle
- Oracle11gR2 Dataguard搭建Oracle
- 實戰不停機搭建ORACLE DataGuardOracle
- 搭建dataguard時,錯誤處理
- DataGuard 搭建 uweb 分行資料庫Web資料庫
- RAC環境下dataguard的搭建
- 最大效能模式DATAGUARD 搭建 及SWITCH模式
- 【DataGuard】手工冷備搭建 Oracle 11g DataGuard 物理備庫Oracle
- oracle11g 搭建 rac+dgOracle
- ORACLE11g DataGuard手工建立錯誤的解決方案(一)Oracle
- ORACLE11g DataGuard手工建立錯誤的解決方案(二)Oracle