Oracle10G Physical Standby Database setup
試驗環境
primary server:
windows2000 server + oracle 10.0.1.0.2
ORACLE_SID:dgtest
ORACLE_HOME: D:\oracle\product\10.1.0\db_1
standby server:
windows XP pro + oracle 10.0.1.0.2
ORACLE_SID:dgtest
ORACLE_HOME: D:\oracle\product\10.1.0\db_1
配置步驟
首先,裝好primary和standby上的oracle,建SID同為dgtest的庫,所有設定完全相同。然後停止shutdown兩臺上的oracle,將primary上的所有資料檔案,控制檔案,redo檔案和password檔案都copy到standby機器的相應位置。(還可以利用熱備,rman等來建立初始standby庫),這樣,我們就擁有了兩臺完全一樣的oracle server
1. 在primary database上設定force logging
SQL>alter database force logging;
2. 修改primary databse的初始化引數
DB_UNIQUE_NAME=’primary’
CONTROL_FILES='d:\oracle\product\oradata\control01.ctl','d:\oracle\product\oradata\control02.ctl','d:\oracle\product\oradata\control03.ctl'
LOG_ARCHIVE_DEST_1= 'LOCATION= d:\oracle\product\arch’
LOG_ARCHIVE_DEST_2= 'SERVICE=standby'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT='arc%s%t%r.arc'
FAL_SERVER=standby
FAL_CLIENT=primary
STANDBY_FILE_MANAGEMENT=AUTO
LOCK_NAME_SPACE ----這是當主資料庫和備用資料在同一臺機上時要設該引數,設為備用資料庫的SID
3. 設定primary database為archivelog模式
SQL>shutdown immediate;
SQL>startup mount;
SQL>alter database archivelog;
SQL>alter database open:
4. 在primary database上建立standby database的控制檔案
SQL>shutdown immedaite;
SQL>startup mount;
SQL>alter database create standby controlfile as ‘d:\oracle\product\oradata\controlstandby.ctl’
SQL>alter database open;
然後將該controlfile複製到standby server的對應位置
5. 修改standby databse的初始化引數
DB_UNIQUE_NAME=’standby’
CONTROL_FILES='d:\oracle\product\oradata\controlstandby.ctl'
LOG_ARCHIVE_DEST_1= 'LOCATION= d:\oracle\product\arch’
LOG_ARCHIVE_DEST_2= 'SERVICE=primary'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
STANDBY_ARCHIVE_DEST=’ d:\oracle\product\arch’
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
FAL_SERVER=primary
FAL_CLIENT=standby
STANDBY_FILE_MANAGEMENT=AUTO
DB_FILE_NAME_CONVERT ----當primary和standby的資料檔案路徑不一致時使用
LOG_FILE_NAME_CONVERT ----當primary和standby的資料檔案路徑不一致時使用
LOCK_NAME_SPACE ----當主資料庫和備用資料在同一臺機上時設為備用資料庫的SID
具體引數的說明請參考oracle線上文件
6. 設定primary database和standby database的tnsnames.ora
primary =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = primary_server)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = dgtest)
)
)
standby =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = standby_server)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = dgtest)
)
)
7. 啟動standby database
SQL>startup nomount pfile=’d:\oracle\product\initdgtest.ora’
SQL>alter database mount standby database;
8. 啟動primary database
SQL>startup pfile=’d:\oracle\product\initdgtest.ora’
9. 啟動standby database到recover manage模式
SQL>alter database recover managed standby database disconnect from session;
Switchover
在primary上
1. SQL>select switchover_status from v$database
switchover_status的值入股是To standby,可以直接switchover,如果是sessions active,
則需要在switchover的命令後面加上with session shutdown
2. SQL>alter database commit to switchover to physical standby;
3. SQL>shutdowm immediate;
4. SQL>startup mount;
在standby上
1. SQL> select switchover_status from v$database
switchover_status的值入股是To primary,可以直接switchover,如果是sessions active,
則需要在switchover的命令後面加上with session shutdown
2. SQL>alter database commit to switchover to primary;
3. SQL>shutdown immediate;
4. SQL>startup;
要想順利的實現switchover,最好在每臺server上都同時設定好primary和standby的一些初始化引數,雖然其中一些引數只有在primary或者standby其中之一上起作用
Failover
在standby上
1. SQL>alter database recover managed standby database finish;
or SQL>alter database recover managed standby database finish skip standby logfile;
2. SQL>alter database commit to switchover to primary;
3. SQL>shutdown immediate;
4. SQL>startup;
相關檢視
v$archive_dest
v$archive_dest_status
v$log_history
v$archvied_log
v$managed_standby
v$archive_gap
常見問題
1. 日誌無法傳送
SQL>select dest_name,status,error from v$archive_dest;
察看相應的歸檔路徑的狀態是否valid,否則根據error資訊進行處理
2. 無法使用alter database重新命名data file
在standby上,當設定standby_file_management為auto時,不允許下列操作
alter database rename
alter database add/drop logfile
alter database add/drop standby logfile member
alter database create datafile as
3. switchover失敗
SQL>alter database commit to switchover to physical standby
ORA-01093:alter database close only permitted with no session connected
察看引起該錯誤的活動session
SQL> select sid,process,program from v$session where type='USER' and
sid<>(select distinct sid from v$mystat);
斷開該session,或者使用如下命令來做switchover
SQL>lter database commit to switchover to physical standby with session shutdown;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-557274/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE10g DataGuard 配置Physical Standby DatabaseOracleDatabase
- ORACLE10G DG配置下Physical Standby Database的管理OracleDatabase
- Convert a Physical Standby Database into a Snapshot Standby DatabaseDatabase
- Physical Standby Database 切換到 Snapshot Standby DatabaseDatabase
- Setup Standby Database on One PC(轉)Database
- Oracle DG建立Physical Standby DatabaseOracleDatabase
- Creating a Physical Standby DatabaseDatabase
- Performing a Failover to a Physical Standby DatabaseORMAIDatabase
- Performing a Switchover to a Physical Standby Database and failoverORMDatabaseAI
- oracle 10g physical standby database creationOracle 10gDatabase
- Recover physical standby database after loss of archive log(2)DatabaseHive
- 同事總結的 : 用RMAN建立Physical Standby DatabaseDatabase
- oracle 9i physical standby database狀態查詢OracleDatabase
- Using RMAN Incremental Backups to Roll Forward a Physical Standby DatabaseREMForwardDatabase
- Physical Standby上開啟flashback database實驗日誌Database
- Brief description of Oracle physical standby database configuration and managementOracleDatabase
- Brief description of Oracle physical standby database configuration and managemeOracleDatabase
- Recover physical standby database after loss of archive log – roll forward(轉)DatabaseHiveForward
- oracle10g data guard(dg)__flashback_physical databaseOracleDatabase
- Oracle physical standbyOracle
- Creating a Physical Standby using RMAN DUPLICATE FROM ACTIVE DATABASEDatabase
- oracle 9i physical standby database 中v$database switchover_status的含義OracleDatabase
- oracle 9i physical standby database 上的v$archived_logOracleDatabaseHive
- Step By Step Guide To Create Physical Standby Database Using RMAN [ID 469493.1]GUIIDEDatabase
- DataGuard:Physical Standby Switchover
- Physical Database LimitsDatabaseMIT
- 【DataGuarad】ORA-1153 trying to turn on Flashback for Physical Standby DatabaseDatabase
- DataGuard:Physical Standby FailoverAI
- Oracle11g的Dataguard測試,建立物理備庫(Physical Standby Database)OracleDatabase
- Oracle Physical Database LimitsOracleDatabaseMIT
- standby databaseDatabase
- 配置oracle 9i physical standby database時,duplicate命令的執行記錄OracleDatabase
- 配置Oracle11g的Dataguard測試,建立物理備庫(Physical Standby Database)OracleDatabase
- 【DG】Data Guard搭建(physical standby)
- oracle Physical Standby failover stepOracleAI
- standby database to primary database.Database
- Creating a 10gr2 Data Guard Physical Standby database with Real-Time applyDatabaseAPP
- Standby Database ---09Database