網上dataguard和duplicate的文檔很多,我只記一些要點,不是很全面 場景是這樣的,原來有一臺主機,現在要新加一臺備機,然后做dataguard,要求實現拔網線切換不丟數,所以要啟用最大保護模式 操作系統都是windows2003,db版本是ORACLE 10G 所以我的整體的步
網上dataguard和duplicate的文檔很多,我只記一些要點,不是很全面
場景是這樣的,原來有一臺主機,現在要新加一臺備機,然后做dataguard,要求實現拔網線切換不丟數,所以要啟用最大保護模式
操作系統都是windows2003,db版本是ORACLE 10G
所以我的整體的步驟是
主庫打開日志歸檔后,創建數據備份,然后把備份恢復到新建的備機上,然后在主備機之間創建dataguard
以前看一位老DBA做法,好像可以直接把數據文件和控制文件復制到新機器上,改改名字,就能完成復制。后來搜了一下,沒找到具體做法。
0,備機裝好數據庫,然后用netca或者netmgr創建好服務名,在兩臺機器之間互聯互通。
主機叫PRIMARY205
備機叫SECONDARY206
1,先在主機上
打開log
ALTER DATABASE FORCE LOGGING;
select force_logging from v$database;
打開歸檔
shutdown immediate;
startup mount
alter database archivelog;
alter database open
archive log list
在主庫創建standby redo log 大小與主庫聯機日志大小一樣,組數至少比primary中的log file數量大1
alter database add standby logfile group 4 ('D:\oracle\product\10.2.0\oradata\orcl\std_redo4.log') size 50M;
alter database add standby logfile group 5 ('D:\oracle\product\10.2.0\oradata\orcl\std_redo5.log') size 50M;
alter database add standby logfile group 6 ('D:\oracle\product\10.2.0\oradata\orcl\std_redo6.log') size 50M;
alter database add standby logfile group 7 ('D:\oracle\product\10.2.0\oradata\orcl\std_redo7.log') size 50M;
有人說備份恢復到備機上時,這些文件會在備機上自動創建,我試驗的結果是不會。
2,改配置。
有的人是先轉成文本配置pfile然后改,改完再轉spfile。我嫌麻煩,直接改
db_unique_name默認安裝都是orcl,所以要改備機名字為orclbak
alter system set db_unique_name='orclbak' SCOPE=SPFILE;
如果是最大性能模式,則配置
alter system SET LOG_ARCHIVE_DEST_2='SERVICE=primary205 ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl'
但我需要的是最大保護模式 那么
alter system set log_archive_dest_2='SERVICE=primary205 VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl LGWR SYNC AFFIRM REOPEN=10'
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
alter system SET FAL_SERVER='orcl'
ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,orclbak)';
ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' SCOPE=SPFILE;
ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=30;
ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE;
以上配置可以對照網上那些修改spfile的文檔相應修改。
3,備份并恢復到備機
在主機上打開RMAN創建備份
rman target /
backup database plus archivelog;
然后在備機上rman兩個數據庫
rman target sys/sys@primary auxiliary sys/sys@secondary
DUPLICATE TARGET DATABASE FOR STANDBY NOFILENAMECHECK;
FOR STANDBY
FROM ACTIVE DATABASE
DORECOVER;
如果復制過程中報
RMAN-06023: 沒有找到數據文件1的副本來恢復
可能需要把備份文件復制到備機上,參考 點擊打開鏈接
然后在備庫上做相反的配置。
不斷檢查,排錯
4,其他
備機db_name 和主機一樣,db_unique_name改變之后,應用不受影響,但有人反映plsql連不上,非得用db_unique_name;
主備切換參考網上文章http://www.verydemo.com/demo_c283_i1007.html
http://blog.csdn.net/w63667329/article/details/7900270
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com