我的Oracle Dataguard 和 RMAN duplicate 配置總結

網上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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章