alter system set log_archive_dest_state_3=defer;SQL> alter system set LOG_ARCHIVE_CONFIG= DG_CONFI..."/>
溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

11G 新增 Physical standby 并通過(guò) DGBroker 進(jìn)行主備切換

發(fā)布時(shí)間:2020-06-01 14:50:36 來(lái)源:網(wǎng)絡(luò) 閱讀:286 作者:背向天堂 欄目:關(guān)系型數(shù)據(jù)庫(kù)

1.PRIMARY

????原來(lái)的主庫(kù),新增新備庫(kù)的配置信息。


SQL> alter system set log_archive_dest_state_3=defer;

SQL> alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(ORA11G_PRIM,ORA11G_STBY,ORA11G_STBY2)';

SQL> alter system set LOG_ARCHIVE_DEST_3='SERVICE=ORA11G_STBY2 ASYNC DELAY=60 VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORA11G_STBY2';


2.FIRST STANDBY

????第一套備庫(kù)調(diào)整配置信息。


SQL> alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(ORA11G_PRIM,ORA11G_STBY,ORA11G_STBY2)';


3.SECOND STANDBY

????配置第二套備庫(kù)。由于第一套備庫(kù)和第二套備庫(kù)在同一臺(tái)物理機(jī)上,因此需要注意目錄隔離,避免新備庫(kù)破壞就備庫(kù)的文件。


3.1 參數(shù)文件

[oracle@oradb2 ~]$ export ORACLE_SID=ora11g

SQL> create pfile='/home/oracle/11g2.pfile' from spfile;


[oracle@oradb2 ~]$ vi 11g2.pfile

*.audit_file_dest='/oracle/app/oracle/admin/ora11g2/adump'

*.control_files='/oradata/database/11g/ora11g2/control01.ctl','/oradata/database/11g/ora11g2/control02.ctl'

*.DB_UNIQUE_NAME='ORA11G_STBY2'

*.fal_server='ORA11G_PRIM'

*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(ORA11G_PRIM,ORA11G_STBY,ORA11G_STBY2)'

*.LOG_ARCHIVE_DEST_1='LOCATION=/oradata/archive/11g2 VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ORA11G_STBY2'

*.LOG_ARCHIVE_DEST_2='SERVICE=ORA11G_PRIM ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORA11G_PRIM'

*.dg_broker_start=false

*.db_file_name_convert='/oradata/database/11g/ora11g/','/oradata/database/11g/ora11g2/'

*.log_file_name_convert='/oradata/database/11g/ora11g/','/oradata/database/11g/ora11g2/'


????通過(guò)參數(shù)文件啟動(dòng)新備庫(kù)到nomount狀態(tài)

[oracle@oradb2 ~]$ export ORACLE_SID=ora11g2

SQL> startup nomount pfile='/home/oracle/11g2.pfile';

SQL> create spfile from pfile='/home/oracle/11g2.pfile';

SQL> startup force nomount;


3.2 口令文件

[oracle@oradb2 ~]$ cd $ORACLE_HOME/dbs

[oracle@oradb2 dbs]$ cp orapwora11g orapwora11g2


3.3 網(wǎng)絡(luò)配置

[oracle@oradb2 dbs]$ cd $ORACLE_HOME/network/admin


[oracle@oradb2 admin]$ vi listener.ora?

????新增新備庫(kù)的配置信息,注冊(cè)到靜態(tài)監(jiān)聽(tīng)中。


? ? (SID_DESC =

? ? ? (GLOBAL_DBNAME = ORA11G_STBY2)

? ? ? (ORACLE_HOME = /oracle/app/oracle/product/database/11g)

? ? ? (SID_NAME = ora11g2)

? ? )?

? ? (SID_DESC =

? ? ? (GLOBAL_DBNAME = ORA11G_STBY2_DGMGRL)

? ? ? (ORACLE_HOME = /oracle/app/oracle/product/database/11g)

? ? ? (SID_NAME = ora11g2)

? ? )?


????重啟監(jiān)聽(tīng),使配置生效,檢查所有配置的靜態(tài)監(jiān)聽(tīng)生效

[oracle@oradb2 ~]$ lsnrctl stop

[oracle@oradb2 ~]$ lsnrctl start


[oracle@oradb2 ~]$ lsnrctl status

Services Summary...

Service "ORA11G_STBY" has 2 instance(s).

? Instance "ora11g", status UNKNOWN, has 1 handler(s) for this service...

Service "ORA11G_STBY2" has 2 instance(s).

? Instance "ora11g2", status UNKNOWN, has 1 handler(s) for this service...

Service "ORA11G_STBY2_DGMGRL" has 1 instance(s).

? Instance "ora11g2", status UNKNOWN, has 1 handler(s) for this service...

Service "ORA11G_STBY_DGMGRL" has 1 instance(s).

? Instance "ora11g", status UNKNOWN, has 1 handler(s) for this service...


????新增新備庫(kù)tns配置信息。

[oracle@oradb2 admin]$ vi tnsnames.ora [主庫(kù)也需要新增該配置]

ORA11G_STBY2 =

? (DESCRIPTION =

? ? (ADDRESS_LIST =

? ? ? (ADDRESS = (PROTOCOL = TCP)(HOST = oradb2)(PORT = 1521))

? ? )

? ? (CONNECT_DATA =

? ? ? (SERVER = DEDICATED)

? ? ? (SERVICE_NAME = ORA11G_STBY2)

? ? )

? )


3.4 測(cè)試數(shù)據(jù)庫(kù)連接 [主庫(kù)和新備庫(kù)都需要進(jìn)行測(cè)試]

[oracle@oradb2 ~]$ sqlplus sys/oracle@ORA11G_STBY2 as sysdba

[oracle@oradb2 ~]$ sqlplus sys/oracle@ORA11G_PRIM as sysdba? ??


3.5 新備庫(kù)進(jìn)行復(fù)制主庫(kù)操作

????注意此處連接到新的備庫(kù)。

[oracle@oradb2 ~]$ export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';

[oracle@oradb2 ~]$ rman target sys/oracle@ORA11G_PRIM auxiliary sys/oracle@ORA11G_STBY2


RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 4;

RMAN> DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE DORECOVER NOFILENAMECHECK;


3.6 啟動(dòng)新備庫(kù)數(shù)據(jù)庫(kù)并啟動(dòng)實(shí)時(shí)恢復(fù)

[oracle@oradb2 ~]$ export ORACLE_SID=ora11g2

SQL> alter database open;

SQL> alter database recover managed standby database using current logfile disconnect from session;


4.將新備庫(kù)添加到dg broker中

[oracle@oradb2 ~]$ export ORACLE_SID=ora11g2

SQL> alter system set dg_broker_start=true;


[oracle@oradb2 ~]$ dgmgrl /

DGMGRL> show configuration;

DGMGRL> ADD DATABASE 'ORA11G_STBY2' AS CONNECT IDENTIFIER IS 'ORA11G_STBY2' MAINTAINED AS PHYSICAL;

DGMGRL> ENABLE DATABASE 'ORA11G_STBY2';


5. 進(jìn)行主備切換操作


????通過(guò)DG Broker管理的DG環(huán)境,在進(jìn)行主備切換過(guò)程中,參數(shù)會(huì)自動(dòng)進(jìn)行維護(hù),例如fal_server,log_archive_dest_2,log_archive_dest_3等。


DGMGRL> show configuration;

Configuration - ora11g_dg


? Protection Mode: MaxPerformance

? Databases:

? ? ORA11G_PRIM? - Primary database

? ? ORA11G_STBY? - Physical standby database

? ? ORA11G_STBY2 - Physical standby database


DGMGRL> connect sys/oracle@ORA11G_STBY

DGMGRL> SWITCHOVER TO 'ORA11G_STBY';


????切記在switchover時(shí),使用用戶名和口令連接到dgmgrl,否則會(huì)造成切換后,無(wú)法啟動(dòng)遠(yuǎn)程數(shù)據(jù)庫(kù),導(dǎo)致切換失敗。


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI