Oracle RAC Standby實施手冊sql
目錄數據庫
1 實施環境規劃 3bash
1.2 歸檔配置相關參數 3session
1.3 主庫軟件環境信息 4oracle
1 實施環境規劃
DataGuard三種保護模式:最大化保護、最大有效性、最大性能。爲了下降對主數據庫的影響,如下采用最大性能模式進行DataGuard配置。
DataGuard配置中備數據庫類型主要有三種:邏輯備數據庫、物理備數據庫和基於快照的備數據庫,如下采用物理備數據庫方式進行DataGuard配置。
DataGuard配置中的主數據庫和備數據庫之間數據同步是經過TCP/IP網絡通訊實現的,爲了儘量下降網絡帶寬的競爭和對現有應用程序性能問題,建議在主數據庫主機和備數據庫主機之間構建專屬於DataGuard的網絡,即須要添加新的網卡等硬件資源搭建專屬於DataGuard的網絡。
另外,建議在主數據庫和備數據庫上建立專屬於DataGuard的數據庫監聽器,如listener_dg,監聽端口爲1525,若是主數據庫和備數據庫在不一樣網段上且存在防火牆,須要在防火牆上開通1525端口。
1.1 IP地址規劃
主機名 |
IP地址 |
描述 |
|
主數據庫環境 |
crmdb1 |
192.168.56.210 |
公網IP地址 |
192.168.56.216 |
DG專署IP地址 |
||
crmdb2 |
192.168.56.211 |
公網IP地址 |
|
192.168.56.217 |
DG專署IP地址 |
||
備數據庫環境 |
crmdg1 |
192.168.56.220 |
公網IP地址 |
192.168.56.225 |
DG專署IP地址址 |
||
crmdg2 |
192.168.56.221 |
公網IP地址 |
|
192.168.56.226 |
DG專署IP地址 |
1.2 歸檔配置相關參數
數據庫類型 |
主機名 |
DB_UNIQUE_NAME |
INSTANCE_NAME |
Net Service Name |
主庫 |
crmdb1 |
crmdb |
crmdb1 |
CRMDB_DG |
crmdb2 |
crmdb2 |
|||
備庫 |
crmdg1 |
crmdg |
crmdb1 |
CRMDG_DG |
crmdb2 |
crmdb2 |
1.3 主庫軟件環境信息
爲便於管理,主備庫軟件環境信息配置一致。
主庫軟件環境信息 |
|
數據庫sys用戶密碼 |
主數據庫和備數據庫密碼必須一致,設置爲oracle |
Grid和數據庫版本 |
11.2.0.4 |
ORACLE_SID環境變量 |
crmdb1和crmdb2 |
GRID軟件ORACLE_BASE目錄 |
/oracle/app/oracle |
GRID軟件ORACLE_HOME目錄 |
/grid/app/11.2.0.4/grid |
DB軟件ORACLE_BASE目錄 |
/oracle/app/oracle |
DB軟件ORACLE_HOME目錄 |
/oracle/app/oracle/product/11.2.0.4/db_1 |
DG專署監聽器 |
LISTENER_DG |
DG專署監聽器端口 |
1525 |
初始化參數 |
DB_NAME=crmdb |
DB_UNIQUE_NAME=crmdb |
|
COMPATIBLE主數據庫和備數據庫必須一致 |
|
歸檔模式 |
歸檔模式 |
歸檔目錄 |
+CRMDBARCH |
1.4 備庫軟件環境信息
備庫軟件環境信息 |
|
數據庫sys用戶密碼 |
主數據庫和備數據庫密碼必須一致,設置爲oracle |
Grid和數據庫版本 |
11.2.0.4 |
ORACLE_SID環境變量 |
crmdb1和crmdb2 |
GRID軟件ORACLE_BASE目錄 |
/oracle/app/oracle |
GRID軟件ORACLE_HOME目錄 |
/grid/app/11.2.0.4/grid |
DB軟件ORACLE_BASE目錄 |
/oracle/app/oracle |
DB軟件ORACLE_HOME目錄 |
/oracle/app/oracle/product/11.2.0.4/db_1 |
DG專署監聽器 |
LISTENER_DG |
DG專署監聽器端口 |
1525 |
初始化參數 |
DB_NAME=crmdb |
DB_UNIQUE_NAME=crmdg |
|
COMPATIBLE主數據庫和備數據庫必須一致 |
|
歸檔模式 |
歸檔模式 |
歸檔目錄 |
+CRMDGARCH |
2 Active DataGuard實施條件
實施Active DataGuard的前提條件以下:
1. 主數據庫主機和備數據庫主機硬件平臺一致,如都爲Linux 主機;
2. 主數據庫和備數據庫軟件版本一致且都爲11.2.0.4;
3. 備數據庫數據庫存儲空間大小不小於主數據庫數據庫存儲空間大小;
$ asmcmd
ASMCMD> lsdg
4. 主數據庫數據庫運行正常且工做在archivelog模式下;
$ sqlplus / as sysdba
--1. 修改並檢查歸檔參數
SQL> alter system set log_archive_dest_1='location=+CRMDBARCH';
SQL> show parameter log_archive_dest_1;
SQL> show parameter log_archive_format;
--2. 關閉主庫兩各節點
SQL> shutdown immediate;
--3. 啓動一各節點進行啓用歸檔操做
SQL> startup mount;
SQL> alter database ARCHIVELOG;
SQL> alter database open;
--4. 啓動另一各節點
SQL> startup;
--5. 測試歸檔配置結果
SQL> alter system archive log current;
5. 主數據庫數據庫須要啓動force logging功能;
$ sqlplus / as sysdba
SQL> select FORCE_LOGGING from v$database;
SQL> alter database force logging;
6. 主數據庫和備數據庫sys用戶的密碼同樣,而且密碼文件必須存在且主數據庫初始化參數remote_login_passwordfile必須設置爲EXCLUSIVE;
3 Active DataGuard實施準備
爲便於主備庫切換時,應用能夠進行快速切換,主備庫數據庫實例名名稱相同。
3.1 配置DG專用監聽
3.1.1 建立LISTENER_DG
經過grid登陸主/備數據庫各節點主機,建立LISTENER_DG監聽器。主/備數據庫主機清單見:IP地址規劃。
主庫配置文件(crmdb1/crmdb2主機):
[grid@crmdb1 ~]$ cd $ORACLE_HOME/network/admin
[grid@crmdb1 admin]$ cp listener.ora listener.ora.`date +%Y%m%d`
[grid@crmdb1 admin]$ vi listener.ora
# ADD FOR DG
LISTENER_DG =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.216)(PORT = 1525))
)
)
SID_LIST_LISTENER_DG =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = crmdb)
(ORACLE_HOME = /oracle/app/oracle/product/11.2.0.4/db_1)
(SID_NAME = crmdb1)
)
)
紅色部份內容描述:
LISTENER_DG:DG專用監聽器名稱
192.168.56.216:crmdb1 節點DG專署監聽IP地址
1525:DG專署監聽端口
crmdb:DB_UNIQUE_NAME初始化參數值
crmdb1:當前主機ORACLE_SID或INSTANCE_NAME
備庫配置文件(crmdg1/crmdg2主機):
[grid@crmdg1 ~]$ cd $ORACLE_HOME/network/admin
[grid@crmdg1 admin]$ cp listener.ora listener.ora.`date +%Y%m%d`
[grid@crmdg1 admin]$ vi listener.ora
# ADD FOR DG
LISTENER_DG =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.225)(PORT = 1525))
)
)
SID_LIST_LISTENER_DG =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = crmdg)
(ORACLE_HOME = /oracle/app/oracle/product/11.2.0.4/db_1)
(SID_NAME = crmdb1)
)
)
紅色部份內容描述:
LISTENER_DG:DG專用監聽器名稱
192.168.56.225:crmdg1 節點DG專署監聽IP地址,該參數各主機不一樣
1525:DG專署監聽端口
crmdg:DB_UNIQUE_NAME初始化參數值,該參數主備庫不一樣
crmdb1:當前主機ORACLE_SID或INSTANCE_NAME,該參數集羣中各節點不一樣
3.1.2 將監聽加入到crs資源
主庫:
[grid@crmdb1 ~]$ srvctl add listener -l LISTENER_DG -p TCP:1525
[grid@crmdb1 ~]$ srvctl start listener -l LISTENER_DG -n crmdb1
[grid@crmdb2 ~]$ srvctl start listener -l LISTENER_DG -n crmdb2
備庫:
[grid@crmdg1 ~]$ srvctl add listener -l LISTENER_DG -p TCP:1525
[grid@crmdg1 ~]$ srvctl start listener -l LISTENER_DG -n crmdg1
[grid@crmdg2 ~]$ srvctl start listener -l LISTENER_DG -n crmdg2
3.2 配置TNS別名
該配置主備庫相同。
[oracle@crmdb1 ~]$ cd $ORACLE_HOME/network/admin
[oracle@crmdb1 admin]$ cp tnsnames.ora tnsnames.ora.`date +%Y%m%d`
[oracle@crmdb1 admin]$ vi tnsnames.ora
CRMDB_DG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.216)(PORT = 1525))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.217)(PORT = 1525))
(CONNECT_DATA =
(SERVICE_NAME = CRMDB)
)
)
CRMDG_DG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.225)(PORT = 1525))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.226)(PORT = 1525))
(CONNECT_DATA =
(SERVICE_NAME = CRMDG)
)
)
注意:
備庫的SERVICE_NAME是CRMDG,但ORACLE_SID中配置爲crmdb1/crmdb2。
3.3 同步口令文件
若是須要修改sys用戶的密碼,則在節點crmdb1執行如下命令後再將數據庫密碼文件ftp到其餘crmdb2、crmdg1和crmdg2節點上。
[oracle@crmdb1 ~]$ cd $ORACLE_HOME/dbs
--1. ftp到各節點,使用主機名便於整理腳本,實際操做須要主機ip地址
[oracle@crmdb1 dbs]$ scp orapwcrmdb1 crmdb2:`pwd` #複製口令文件到crmdb2
[oracle@crmdb1 dbs]$ scp orapwcrmdb1 crmdg1:`pwd` #複製口令文件到crmdg1
[oracle@crmdb1 dbs]$ scp orapwcrmdb1 crmdg2:`pwd` #複製口令文件到crmdg2
--2. 修改口令文件名稱
[oracle@crmdb2 dbs]$ mv orapwcrmdb1 orapwcrmdb2 #在節點crmdb2操做
[oracle@crmdg2 dbs]$ mv orapwcrmdb1 orapwcrmdb2 #在節點crmdg2操做
--3. 修改口令文件權限(實際經過oracle用戶進行ftp不須要進行該操做)
[oracle@crmdb2 dbs]$ chown oracle:oinstall orapwcrmdb2 #在節點crmdb1操做
[oracle@crmdg1 dbs]$ chown oracle:oinstall orapwcrmdb1 #在節點crmdg1操做
[oracle@crmdg2 dbs]$ chown oracle:oinstall orapwcrmdb2 #在節點crmdg2操做
3.4 測試TNS配置有效性
全部主機進行連通性測試。
[oracle@crmdb1 ~]$ tnsping CRMDB_DG
[oracle@crmdb1 ~]$ tnsping CRMDG_DG
[oracle@crmdb1 ~]$ sqlplus sys/oracle@CRMDB_DG as sysdba
[oracle@crmdb1 ~]$ sqlplus sys/oracle@CRMDG_DG as sysdba
4 配置數據庫參數
DB_UNIQUE_NAME,INSTANCE_NAME,Net Service Name相關參數配置,參考歸檔配置相關參數。
4.1 主庫參數調整
SQL> show parameter spfile;
--1. 備份主庫參數文件
SQL> create pfile='/home/oracle/crmdb.pfile' from spfile;
--2. 修改主庫參數文件
alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(crmdb,crmdg)';
alter system set LOG_ARCHIVE_DEST_1='LOCATION=+CRMDBARCH VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=crmdb';
alter system set LOG_ARCHIVE_DEST_2='SERVICE=CRMDG_DG LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=crmdg';
alter system set FAL_SERVER=CRMDG_DG;
alter system set STANDBY_FILE_MANAGEMENT=AUTO;
alter system set LOG_ARCHIVE_MAX_PROCESSES=4;
alter system set DB_FILE_NAME_CONVERT='+CRMDGDATA/crmdg/','+CRMDBDATA/crmdb/' scope=spfile;
alter system set LOG_FILE_NAME_CONVERT='+CRMDGDATA/crmdg/','+CRMDBDATA/crmdb/' scope=spfile;
--3. 重啓主庫進行驗證
SQL> shutdown immediate;
SQL> startup;
--4. 生成當前主庫參數文件,用於備庫參數文件模版
SQL> create pfile='/home/oracle/crmdb.primary' from spfile;
*.audit_file_dest='/oracle/app/oracle/admin/crmdb/adump'
*.audit_trail='db'
*.cluster_database=true
*.compatible='11.2.0.4.0'
*.control_files='+CRMDBDATA/crmdb/controlfile/current.256.960630751'
*.db_block_size=8192
*.db_create_file_dest='+CRMDBDATA'
*.db_domain=''
*.db_name='crmdb'
*.diagnostic_dest='/oracle/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=crmdbXDB)'
*.open_cursors=300
*.pga_aggregate_target=1073741824
*.processes=1500
*.remote_listener='crmdb-scan:1521'
*.remote_login_passwordfile='exclusive'
*.sessions=1655
*.sga_target=4294967296
crmdb1.instance_number=1
crmdb2.instance_number=2
crmdb1.thread=1
crmdb2.thread=2
crmdb1.undo_tablespace='UNDOTBS1'
crmdb2.undo_tablespace='UNDOTBS2'
*.fal_server='CRMDG_DG'
*.log_archive_config='DG_CONFIG=(crmdb,crmdg)'
*.log_archive_dest_1='LOCATION=+CRMDBARCH VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=crmdb'
*.log_archive_dest_2='SERVICE=CRMDG_DG LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=crmdg'
*.db_file_name_convert='+CRMDGDATA/crmdg/','+CRMDBDATA/crmdb/'
*.log_file_name_convert='+CRMDGDATA/crmdg/','+CRMDBDATA/crmdb/'
*.standby_file_management='AUTO'
4.2 主庫建立STANDBY日誌
ALTER DATABASE ADD STANDBY LOGFILE thread 1 group 5 ('+CRMDBDATA') SIZE 52428800;
ALTER DATABASE ADD STANDBY LOGFILE thread 1 group 6 ('+CRMDBDATA') SIZE 52428800;
ALTER DATABASE ADD STANDBY LOGFILE thread 1 group 7 ('+CRMDBDATA') SIZE 52428800;
ALTER DATABASE ADD STANDBY LOGFILE thread 2 group 8 ('+CRMDBDATA') SIZE 52428800;
ALTER DATABASE ADD STANDBY LOGFILE thread 2 group 9 ('+CRMDBDATA') SIZE 52428800;
ALTER DATABASE ADD STANDBY LOGFILE thread 2 group 10 ('+CRMDBDATA') SIZE 52428800;
STANDBY 日誌文件建立原則:
1. 每一個實例的STANDBY日誌文件組大於聯機日誌文件組數;
2. 每一個STANDBY日誌文件大小與聯機日誌文件大小一致;
4.3 備庫參數調整
將主庫生成的參數文件複製一份,做爲備庫參數文件的模版進行修改。
[oracle@crmdb1 ~]$ cp crmdb.primary crmdg.standby
--1. DG無關的參數
*.cluster_database=true
*.compatible='11.2.0.4.0'
*.db_block_size=8192
*.db_name='crmdb'
*.diagnostic_dest='/oracle/app/oracle'
*.open_cursors=300
*.pga_aggregate_target=809500672
*.processes=1500
*.sessions=1655
*.sga_target=2428502016
*.log_archive_max_processes=4
*.remote_login_passwordfile='exclusive'
crmdb1.undo_tablespace='UNDOTBS1'
crmdb2.undo_tablespace='UNDOTBS2'
crmdb1.instance_number=1
crmdb2.instance_number=2
*.standby_file_management='AUTO'
--2. 目錄相關參數
*.audit_file_dest='/oracle/app/oracle/admin/crmdg/adump'
*.control_files='+CRMDGDATA/crmdg/controlfile/current.260.958853369'
*.db_create_file_dest='+CRMDGDATA'
--3. 網絡服務相關參數
*.db_unique_name='crmdg'
*.log_archive_config='DG_CONFIG=(crmdg,crmdb)'
*.fal_server='CRMDB_DG'
*.log_archive_dest_1='LOCATION=+CRMDGARCH VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=crmdg'
*.log_archive_dest_2='SERVICE=CRMDB_DG LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=crmdb'
*.remote_listener='crmdg-cluster01-scan:1521'
*.db_file_name_convert='+CRMDBDATA/crmdb/','+CRMDGDATA/crmdg/'
*.log_file_name_convert='+CRMDBDATA/crmdb/','+CRMDGDATA/crmdg/'
備庫參數文件模版:
*.audit_file_dest='/oracle/app/oracle/admin/crmdg/adump'
*.cluster_database=true
*.compatible='11.2.0.4.0'
*.db_block_size=8192
*.db_create_file_dest='+CRMDGDATA'
*.db_name='crmdb'
*.diagnostic_dest='/oracle/app/oracle'
*.open_cursors=300
*.pga_aggregate_target=809500672
*.processes=1500
*.remote_login_passwordfile='exclusive'
*.sessions=1655
*.sga_target=4294967296
*.pga_aggregate_target=1073741824
crmdb1.thread=1
crmdb2.thread=2
crmdb1.instance_number=1
crmdb2.instance_number=2
crmdb1.undo_tablespace='UNDOTBS1'
crmdb2.undo_tablespace='UNDOTBS2'
*.db_unique_name='crmdg'
*.control_files='+CRMDGDATA/crmdg/controlfile/current.260.958853369'
*.log_archive_config='DG_CONFIG=(crmdg,crmdb)'
*.log_archive_dest_1='LOCATION=+CRMDGARCH VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=crmdg'
*.log_archive_dest_2='SERVICE=CRMDB_DG LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=crmdb'
*.remote_listener='crmdg-cluster01-scan:1521'
*.fal_server='CRMDB_DG'
*.standby_file_management='AUTO'
*.db_file_name_convert='+CRMDBDATA/crmdb/','+CRMDGDATA/crmdg/'
*.log_file_name_convert='+CRMDBDATA/crmdb/','+CRMDGDATA/crmdg/'
注意:
問題:control_files 在進行RMAN DUPLICATE完成後,會發生變化,並且DUPLICATE完成後,備庫使用的spfile文件包含內存信息,所以沒法做爲生產spfile文件使用。
建議:將DUPLICATE後的control_files參數替換建立備庫時的pfile文件中的control_files參數,並經過該pfile文件,從新建立一個新的spfile文件。
4.4 建立備庫所需目錄
實例啓動時,須要有審計日誌目錄,該目錄須要手工在備庫的2個節點(crmdg1/crmdg2)上進行建立。
[oracle@crmdg1 ~]$ mkdir -p /oracle/app/oracle/admin/crmdg/adump
4.5 DG參數檢查腳本
SET LINESIZE 160;
COL NAME FOR A30;
COL VALUE FOR A80;
SELECT INST_ID, NAME, VALUE
FROM GV$PARAMETER
WHERE (NAME IN ('cluster_database',
'db_name',
'db_unique_name',
'dg_broker_start',
'dg_broker_config_file1',
'dg_broker_config_file2',
'fal_client',
'fal_server',
'archive_lag_target',
'log_archive_max_processes',
'log_archive_config',
'log_archive_trace',
'db_file_name_convert',
'log_file_name_convert',
'remote_login_password_file',
'standby_file_management',
'redo_transport_user'))
OR (NAME LIKE 'log_archive_dest%' AND UPPER(VALUE) != UPPER('ENABLE'))
ORDER BY NAME, INST_ID;
5 備庫初始化
5.1 設置備庫ORACLE_SID環境變量
設置備庫各節點環境變量參數ORACLE_SID與主庫各節點一致。
[oracle@crmdg1 ~]$ cat /home/oracle/.bash_profile | grep ORACLE_SID
5.2 啓動備庫數據庫實例到NOMOUNT狀態
將前面編輯的crmdg.standby文件,傳輸到備庫各節點。啓動備庫實例到NOMOUNT狀態。
[oracle@crmdg1 ~]$ sqlplus / as sysdba
SQL> startup nomount pfile='/home/oracle/crmdg.standby';
[oracle@crmdg2 ~]$ sqlplus / as sysdba
SQL> startup nomount pfile='/home/oracle/crmdg.standby';
5.3 測試主/備庫數據庫鏈接狀態
主備庫全部節點都進行測試操做。
[oracle@crmdb1 ~]$ sqlplus sys/oracle@CRMDG_DG as sysdba
[oracle@crmdb1 ~]$ sqlplus sys/oracle@CRMDB_DG as sysdba
5.4 執行DUPLICATE操做複製數據庫
rman target sys/oracle@crmdb_dg auxiliary sys/oracle@crmdg_dg << !
run {
allocate channel ch001 type disk;
allocate channel ch002 type disk;
allocate channel ch003 type disk;
allocate channel ch004 type disk;
allocate auxiliary channel ch005 type disk;
duplicate target database for standby from active database;
release channel ch001;
release channel ch002;
release channel ch003;
release channel ch004;
release channel ch005;
}
!
5.5 建立備庫參數文件
5.5.1 備庫節點1完成參數文件調整工做
[oracle@crmdg1 ~]$ sqlplus / as sysdba
--1. 查看當前的控制文件參數
SQL> show parameter control_files;
SQL> shutdown immediate;
--2. 編輯建立備庫參數文件,用新的控制文件替換舊的控制文件信息
[oracle@crmdg1 ~]$ vi crmdg.standby
*.control_files='+CRMDGDATA/crmdg/controlfile/current.256.958853369'
--3. 建立新spfile文件
SQL> create spfile='+CRMDGDATA/crmdg/spfilecrmdb.ora' from pfile='/home/oracle/crmdg.standby';
--4. 建立pfile文件,鏈接到新的參數文件
[oracle@crmdg1 ~]$ cd $ORACLE_HOME/dbs
[oracle@crmdg1 dbs]$ rm spfilecrmdb1.ora
[oracle@crmdg1 dbs]$ vi initcrmdb1.ora
spfile='+CRMDGDATA/crmdg/spfilecrmdb.ora'
5.5.2 備庫節點2完成pfile文件建立工做
[oracle@crmdg2 ~]$ cd $ORACLE_HOME/dbs
[oracle@crmdg2 dbs]$ vi initcrmdb2.ora
spfile='+CRMDGDATA/crmdg/spfilecrmdb.ora'
5.6 將備庫加入到crs資源
[oracle@crmdg1 ~]$ srvctl add database -d crmdg -n crmdb -o $ORACLE_HOME
[oracle@crmdg1 ~]$ srvctl add instance -d crmdg -i crmdb1 -n crmdg1
[oracle@crmdg1 ~]$ srvctl add instance -d crmdg -i crmdb2 -n crmdg2
5.7 啓動備庫
[oracle@crmdg1 ~]$ srvctl start database -d crmdg
5.8 啓動Active DataGuard
1. 用戶oracle登錄crmdg1主機取消歸檔日誌文件追加
SQL> alter database recover managed standby database cancel;
2. 用戶oracle登錄crmdg1主機以real-time方式同步主數據庫
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE PARALLEL 8 USING CURRENT LOGFILE DISCONNECT FROM SESSION;
SQL> SELECT OPEN_MODE FROM GV$DATABASE;
3. 觀察日誌追加狀態
SQL> SELECT thread#,max(sequence#) from v$archived_log where applied='YES' GROUP BY THREAD#;
SQL> select * from v$archive_gap;