溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

DataGuard單實例到RAC搭建的示例分析

發布時間:2021-11-16 15:57:49 來源:億速云 閱讀:262 作者:小新 欄目:數據庫

這篇文章主要介紹了DataGuard單實例到RAC搭建的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

針對一次Windows平臺RAC數據庫遷移至Linux平臺RAC的筆記,基本步驟為:

1.搭建Windows RAC到Linux 單實例數據庫的DataGuard

2.做switchover,將備庫IP修改為原RAC數據庫的scanip

3.搭建單實例到Linux RAC的DataGuard(scanip與原RAC不同),并做switchover切換

4.修改RAC數據庫scanip為為原RAC的scanip,并將單節點備庫IP改為原備庫IP,修改監聽和tnsnames.ora文件,恢復災備備庫運轉。

數據庫版本為Oracle 11.2.0.4,RAC為Windows平臺的兩節點,數據量約為2.5T,停機時間約為15min。

本文只包含步驟3的相關操作,即描述如何搭建單節點到RAC的DataGuard。本例中RAC兩節點IP為192.168.100.101/102,VIP為103/104,scanip為105,單實例的主庫IP為192.168.100.100

實施步驟:

1.準備階段:

本階段主要做一些數據庫的前期準備配置,如歸檔是否開啟等操作。

單實例主庫:

1)select force_logging from v$database; --確保主庫開啟force logging

2)archive log list; --確保主庫為歸檔模式

3)在單實例主庫添加standby redo,好處是做switchover時無需再添加stanbyredo,而且備庫使用此全備后也會自動創建standby  redo而無需再手動添加,一般standby redo比正常redo多一組即可,每組member個數隨意,一般1個即可。

RAC備庫:

1)在兩節點按正常步驟安裝RAC,但不建庫,需要提前建好+DATA磁盤組。

2)為節點1添加數據庫和實例:

srvctl add database -d orcl_st -n orcl -o $ORACLE_HOME -s open -a "DATA,FRA"  -r physical_standby

srvctl add instance -d orcl_st -i orcl1 -n node1

2.參數文件:

主庫采用在線修改的方式:

alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,orcl_st)' scope=both sid='*'; alter system set LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl' scope=both sid='*'; alter system set LOG_ARCHIVE_DEST_2='SERVICE=orcl_st reopen=120 lgwr async VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl_st' scope=both sid='*'; alter system set fal_server=orcl_st scope=both sid='*'; alter system set db_file_name_convert='/oradata/orcl/datafile','+data/orcl/datafile','/oradata/orcl/tempfile','+data/orcl/TEMPFILE' scope=spfile sid='*'; alter system set log_file_name_convert='/oradata/orcl/onlinelog','+data/orcl/ONLINELOG' scope=spfile sid='*'; alter system set standby_file_management=AUTO scope=both sid='*';

注意這里log_file_name_convert并沒有將db_recovery_file_dest下的路徑也一并映射,這是因為主庫閃回區內的onlinelog將會被自動映射為備庫閃回區的相關位置。

如果數據文件較為散亂,則需要將所有數據文件的路徑全部映射至'+data/orcl/datafile',方便管理。

備庫修改參數文件:

    *.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment     *.audit_file_dest='/u01/app/oracle/admin/orcl/adump' --此目錄需提前創建     *.audit_trail='db'     *.compatible='11.2.0.4.0'     *.cluster_database=true     *.control_files='+DATA/orcl/controlfile/control01.ctl'#Restore Controlfile     *.db_block_size=8192     *.db_domain=''     *.db_name='orcl'     *.db_unique_name='orcl_st'     *.db_recovery_file_dest='+FRA'     *.db_recovery_file_dest_size=5218762752     *.diagnostic_dest='/u01/app/oracle'     *.fal_server='ORCL'     *.log_archive_config='DG_CONFIG=(orcl,orcl_st)'     *.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl_st'     *.log_archive_dest_2='service=orcl reopen=120 lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=orcl'     *.log_archive_dest_state_2='enable'     *.log_archive_format='%t_%s_%r.dbf'     *.memory_target=1073741824     *.open_cursors=500     *.processes=150     *.remote_login_passwordfile='EXCLUSIVE'     *.resource_manager_plan=''     *.standby_file_management='AUTO'     orcl1.instance_name=orcl1     orcl1.instance_number=1     orcl1.undo_tablespace='UNDOTBS1'     orcl1.thread=1     orcl1.local_listener='(address=(protocol=TCP)(HOST=192.168.100.103)(PORT=1521))' --這里填寫節點1的VIP      *.remote_listener='(address=(protocol=TCP)(HOST=192.168.100.105)(PORT=1521))' --這里填寫RAC的scanip

修改完畢后改名為initorcl1.ora并將之放在$ORACLE_HOME/dbs目錄下。

3.修改tnsnames.ora文件

修改單實例主庫的tnsnames.ora文件如下,并將之拷貝到備庫所有節點。

ORCL =   (DESCRIPTION =     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.100)(PORT = 1521))     (CONNECT_DATA =       (SERVER = DEDICATED)       (SERVICE_NAME = orcl)     )   )    ORCL_ST =   (DESCRIPTION =     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.101 )(PORT = 1521))     (CONNECT_DATA =       (SERVER = DEDICATED)       ( SID = orcl1)     )   )

4.密碼文件

將單實例主庫的密碼文件orapw<$ORACLE_SID>拷貝至備庫所有節點,并改名為orapworcl1和orapworcl2

5.在主庫做數據庫全備并拷貝至備庫節點1。(略)

在做這一步之前確保主庫的備份計劃已被停止,或rman中ARCHIVELOG DELETION POLICY被設置為applied on  standby;

6.待備份傳送至備庫之后,在主庫做standby控制文件的備份

backup current controlfile for standby format 'xxx';

7.將備份的standby控制文件拷貝至備庫節點1。

8.使用備庫參數文件將節點1實例啟動至nomount狀態。

startup nomount;

9.在備庫節點1使用RMAN還原stanby控制文件。

restore standby controlfile from 'xxx'; --這里xxx路徑為第7步中standby控制文件的位置。

alter database mount;

10.在備庫注冊備份集并恢復數據文件。

catalog start with 'xxx'; --這里填寫備份所在的目錄路徑?;謴蛡浞荩?/p>

run { allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; allocate channel c4 type disk; allocate channel c5 type disk; allocate channel c6 type disk; allocate channel c7 type disk; allocate channel c8 type disk; set newname for datafile 1 to '+DATA/orcl/datafile/system01.dbf'; set newname for datafile 2 to '+DATA/orcl/datafile/sysaux01.dbf'; set newname for datafile 3 to '+DATA/orcl/datafile/undotbs101.dbf'; set newname for datafile 4 to '+DATA/orcl/datafile/users01.dbf'; ... --主庫有多少個數據文件,在這里寫多少行,格式為: --set newname for datafile file_id to 'file_name'; restore database; switch datafile all; }

11.以上操作完成后,在備庫節點1開啟監聽。

netca或者netmgr都可以,pmon進程會自動將節點1的實例注冊至監聽,默認的service_name為db_unique_name,本例中為orcl_st。

12.在備庫開啟MRP進程(此時為mount狀態)

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE  DISCONNECT;;

取消MRP的語句為:

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

13.觀察備庫節點1的alert日志,獲知同步進度。

14.待追增量完畢后,取消MRP進程,打開備庫,重啟MRP進程。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“DataGuard單實例到RAC搭建的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女