Oracle10G Physical Standby Database筆記

來源:互聯網
上載者:User
oracle|筆記
實驗環境primary server:



 windows2000 server + oracle 10.0.1.0.2



 ORACLE_SID:dgtest



 ORACLE_HOME: D:\oracle\product\10.1.0\db_1standby server:



windows XP pro + oracle 10.0.1.0.2ORACLE_SID:dgtestORACLE_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 loggingSQL>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=ENABLELOG_ARCHIVE_DEST_STATE_2=ENABLEREMOTE_LOGIN_PASSWORDFILE=EXCLUSIVELOG_ARCHIVE_FORMAT='arc%s%t%r.arc'FAL_SERVER=standbyFAL_CLIENT=primarySTANDBY_FILE_MANAGEMENT=AUTOLOCK_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=ENABLELOG_ARCHIVE_DEST_STATE_2=ENABLESTANDBY_ARCHIVE_DEST=’ d:\oracle\product\arch’



REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVEFAL_SERVER=primaryFAL_CLIENT=standbySTANDBY_FILE_MANAGEMENT=AUTODB_FILE_NAME_CONVERT     ----當primary和standby的資料檔案路徑不一致時使用LOG_FILE_NAME_CONVERT    ----當primary和standby的資料檔案路徑不一致時使用LOCK_NAME_SPACE           ----當主要資料庫和備用資料在同一台機上時設為備用資料庫的SID



具體參數的說明請參考oracle線上文檔



6.      設定primary database和standby database的tnsnames.oraprimary =  (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 databaseSQL>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 renamealter database add/drop logfilealter database add/drop standby logfile memberalter database create datafile as



3.      switchover失敗SQL>alter database commit to switchover to physical standbyORA-01093:alter database close only permitted with no session connected察看引起該錯誤的活動sessionSQL> select sid,process,program from v$session where type='USER' and    sid<>(select distinct sid from v$mystat);斷開該session,或者使用如下命令來做switchoverSQL>lter database commit to switchover to physical standby with session shutdown;




相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。