? ? ? ?
?摘 ? ?要
搭建data guard環(huán)境,利用RMAN DUPLICATE命令創(chuàng)建physical standby。 創(chuàng)建備庫之前需要有備庫的參數(shù)文件;同時連接主數(shù)據(jù)庫和備用數(shù)據(jù)庫,啟動備庫到nomount狀態(tài)。備庫必須工作在recover managed模式下才能應用主庫的redo數(shù)據(jù)。當dataguard創(chuàng)建成功后,在計劃需求下手工的switchover,或者在主庫故障發(fā)生的情況下手工的執(zhí)行failover,以確保正常的生產(chǎn)工作。為了確保dataguard的正常工作,必須經(jīng)常檢查dataguard的健康狀況來確保dataguard的安全穩(wěn)定。
一:系統(tǒng)環(huán)境介紹
我們在進行DATAGUARD搭建的時候,需要首先確定要進行dataguard搭建的服務器的內(nèi)存,磁盤,操作系統(tǒng)等各方面的情況,以此來確定相應的實施方案。
1.1 服務器硬件介紹
內(nèi)存的大小
[root@nxqpri ]# free -g
total ? ? ? used ? ? ? free ? ? shared ? ?
23 ? ? ? ? 23 ? ? ? ? ?0?
磁盤的規(guī)劃
[root@nxqpri ]#df -h
Filesystem ? ? ? ? ? ?Size ?Used Avail Use% Mounted o
/dev/sda1 ? ? ? ? ? ? ?29G ?6.7G ? 21G ?25% /
/dev/sda2 ? ? ? ? ? ? 1.0T ?234G ?738G ?25% /u01
tmpfs ? ? ? ? ? ? ? ? ?12G ? ? 0 ? 12G ? 0% /dev/shm
CPU的個數(shù)
[root@nxqpri ~]#cat /proc/cpuinfo |grep physical |wc -l
48
服務器的型號
[root@nxqpri ~]#dmidecode |grep "Product Name"
Product Name: PowerEdge R710
1.2 服務器軟件介紹
操作系統(tǒng)版本:
[root@nxqpri ~]#cat /etc/issue |grep Linux
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
操作系統(tǒng)的內(nèi)核信息
[root@nxqpri ~]#uname -a
Linux nxqpri 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
數(shù)據(jù)庫的版本信息
SQL>select * from v$version;
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit
1.3 網(wǎng)絡環(huán)境介紹
數(shù)據(jù)庫的服務器只配置了內(nèi)網(wǎng)網(wǎng)絡
主庫的IP地址
[root@nxqpri ~]#ifconfig eth0
eth0 ? ? ?Link encap:Ethernet ?HWaddr D4:AE:52:63:94:53 ?
? ? ? ? ? inet addr:192.168.1.252 ?Bcast:192.168.1.255 ?Mask:255.255.255.0
備庫的IP的地址
[root@nxqstd ~]#ifconfig eth0
eth0 ? ? ?Link encap:Ethernet ?HWaddr D4:AE:52:64:16:83 ?
? ? ? ? ? inet addr:192.168.1.254 Bcast:192.168.1.255 ?Mask:255.255.255.0
二:DATAGUARD的搭建
2.1 primary database(主庫)的搭建
1.使用OUI安裝數(shù)據(jù)庫軟件?
在primary(主庫)搭建數(shù)據(jù)庫軟件,建立lsnrctl監(jiān)聽,采用dbca搭建實例,在standby(備庫)上搭建數(shù)據(jù)庫軟件,建立監(jiān)聽,但是不需要采用dbca建立實例。
? ? 使用DBCA創(chuàng)建數(shù)據(jù)庫,全局數(shù)據(jù)庫名:orcl ?實例名:orcl
2.以oracle身份登錄系統(tǒng),連接主庫,啟動到 mount狀態(tài),數(shù)據(jù)庫處于正常啟動狀態(tài)先停庫再啟動
SQL>Startup mount
3.修改數(shù)據(jù)庫強制記錄日志
SQL>alter database force logging;
4.?確定數(shù)據(jù)庫是否處于歸檔模式庫,如果創(chuàng)建數(shù)據(jù)庫時沒有選擇歸檔,將數(shù)據(jù)庫改為歸檔模式
a.查詢數(shù)據(jù)庫是否處于歸檔
SQL> archive log list;
b.更改數(shù)據(jù)庫為歸檔模式(改模式不能在Startup啟動模式下)
SQL>alter database archivelog;
5.開啟閃回數(shù)據(jù)庫(不是必須的)
SQL> alter database flashback on;
Database altered.
6.根據(jù)spfile文件創(chuàng)建pfile,關閉數(shù)據(jù)庫。
? ?SQL>Create pfile from spfile?
? ?SQL>shutdown immediate
7.修改pfile 文件
a.備份修改文件
#cp $ORACLE_HOME/dbs/initorcl.ora $ORACLE_HOME/dbs/initorcl.ora.bak
#vim $ORACLE_HOME/dbs/initorcl.ora
b.在參數(shù)文件文件里面添加如下內(nèi)容
為每個數(shù)據(jù)庫指定唯一性名稱? ?
db_unique_name='pdb' ?
允許數(shù)據(jù)庫發(fā)送和接收日志
log_archive_config='dg_config=(pdb,sdb)'
兩個參數(shù)連接的是網(wǎng)絡字符名
fal_server=sdb
fal_client=pdb
表示的是本地歸檔日志的存儲路徑
log_archive_dest_1='location=‘/u01/app/archivelog'
表示當數(shù)據(jù)庫處于什么角色的時候,將什么日志,以什么樣的方式傳輸?shù)侥呐_遠端服務器
log_archive_dest_2='service=sdb lgwr sync affirm valid_for=(online_logfiles,primary_role) ?db_unique_name=sdb'
允許重做日志傳輸?shù)街付康牡?/p>
log_archive_dest_state_1=ENABLE
log_archive_dest_state_2=ENABLE
當設置成auto的時候,你對primary database的數(shù)據(jù)文件的增加,resize等操作的時候,standbydatabase將會自動的進行同步而不需要DBA在standby進行人工的干預
standby_file_management=AUTO
***** /u01/app/archivelog主備服務器上該目錄比較存在
8.采用pfile文件啟動數(shù)據(jù)庫。(確定數(shù)據(jù)庫是否能正常啟動)
SQL>startup pfile=/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora
9.為主數(shù)據(jù)庫創(chuàng)建監(jiān)聽,在oracle用戶下
[oracle@nxqpri admin]$ cd /u01/app/oracle/product/11.2.0/db_1/network/admin
創(chuàng)建監(jiān)聽后添加以下內(nèi)容,連接服務名默認為orcl
[oracle@nxqpri admin]$ vi? listener.ora
SID_LIST_LISTENER =
? (SID_LIST =
? ? (SID_DESC =
? ? ? (GLOBAL_DBNAME = orcl)
? ? ? (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
? ? ? (SID_NAME = orcl)
? ? )
? ? (SID_DESC =
? ? ? (SID_NAME = PLSExtProc)
? ? ? (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
? ? ? (PROGRAM = extproc)
? ? )
? )
創(chuàng)建連接服務服務監(jiān)聽
[oracle@nxqpri admin]$ vi? tnsnames.ora?
PDB =
? (DESCRIPTION =
? ? (ADDRESS_LIST =
? ? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.252)(PORT = 5530))
? ? )
? ? (CONNECT_DATA =
? ? ? (SERVICE_NAME = orcl)
? ? )
? )
SDB =
? (DESCRIPTION =
? ? (ADDRESS_LIST =
? ? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.254)(PORT = 5530))
? ? )
? ? (CONNECT_DATA =
? ? ? (SERVICE_NAME = orcl)
? ? )
2.2 NFS的搭建(可以不用nfs)
通過合理的使用NFS,能夠簡化文件的傳輸和降低磁盤的壓力。
1、在主庫上面(192.168.1.252)上修改文件
?[root@nxqpri ~]# ? vi /etc/exports
? ???/u01/app/archivelog ? 192.168.1.0/24(rw,no_root_squash,async)
[root@nxqpri ~]# chkconfig --list|grep portmap
portmap ? ? ? ? 0:off ? 1:off ? 2:off ? 3:on ? ?4:on ? ?5:on ? ?6:off
[root@nxqpri ~]# ?service portmap start
[root@nxqpri ~]# service nfs start
2.在備用數(shù)據(jù)庫上面(192.168.1.254)進行nfs掛載
查看能否識別到主庫(192.168.1.252)上面的nfs磁盤:
[root@nxqst ~]# showmount -e 192.168.1.190
? ? ?Export list for 192.168.1.190:
? ? ? ?/u01/e3data 192.168.1.0/24
如果能夠識別的到,那么進行掛載
# mount -t nfs -o rw,bg,tcp,hard,nointr,wsize=32768,rsize=32768 192.168.1.252:/u01/app/archivelog ? /u01/app/archivelog
在生產(chǎn)環(huán)境操作的時候,如果網(wǎng)絡帶寬的速度沒有磁盤的速度快,一般要加上相關的參數(shù)進行限制
mount -t nfs -o rw,bg,tcp,hard,nointr,wsize=32768,rsize=32768 192.168.1.5:/dgbackup ? ?/dgbackup
2.3:使用RMAN備份數(shù)據(jù)庫(主庫)
1.備份當前的控制文件
RMAN > rman target sys/oracle
RMAN > backup format '/u01/app/archivelog/bk_%U' current controlfile for standby
此處的路徑為NFS掛載的路徑
2.備份數(shù)據(jù)和歸檔
RMAN > backup format '/u01/app/archivelog/dbk_arch_%U' database plus archivelog;
也可以選擇不備份歸檔日志文件
2.2?physical standby database(備庫)創(chuàng)建
1.安裝數(shù)據(jù)庫軟件,本實驗選擇安裝軟件的路徑與主庫相同
? 這個步驟只安裝軟件,不安裝數(shù)據(jù)庫,軟件的版本也應該和主庫的一樣
2.參考主庫創(chuàng)建備庫上相應的文件目錄(注意目錄名及位置不能寫錯,否則創(chuàng)建過程會失敗)
?需要添加的文件目錄如下:
閃回區(qū)的相關目錄添加:
[oracle@nxqpri ~]$ cd ?$ORACLE_BASE
[oracle@nxqpri oracle]$ mkdir flash_recovery_area
[oracle@nxqpri flash_recovery_area]$ ?mkdir ORCL
[oracle@nxqpri ORCL]$ ?mkdir ?onlinelog
Dump文件相關目錄的添加
[oracle@nxqpri ~]$ cd $ORACLE_BASE
[oracle@nxqpri oracle]$ mkdir admin
[oracle@nxqpri admin]$ mkdir orcl
[oracle@nxqpri orcl]$ mkdir {a,b,c,dp,u}dump
[oracle@nxqpri orcl]$ mkdir pfile
數(shù)據(jù)庫參數(shù)文件放置位置目錄的添加
[oracle@nxqpri orcl]$ cd $ORACLE_BASE
[oracle@nxqpri oracle]$ mkdir oradata/
[oracle@nxqpri oracle]$ cd oradata/
[oracle@nxqpri oradata]$mkdir orcl
歸檔日志目錄添加
$ mkdir/u01/app/archivelog
3.傳輸相關的文件
?將主庫上面的參數(shù)文件,密碼文件傳輸?shù)絺溆脭?shù)據(jù)庫上面去,在備用數(shù)據(jù)庫上面放在的位置應該和主庫該文件放置的位置一樣。
參數(shù)文件
[oracle@nxqpri ]$scp /u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora ?
oracle@192.168.1.254:/u01/app/oracle/product/11.2.0/db_1/dbs/
密碼文件
[oracle@nxqpri ]$scp /u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl.ora ?
oracle@192.168.1.254:/u01/app/oracle/product/11.2.0/db_1/dbs/
注意:要是ssh的端口做了修改的話,我們需要在scp過程的時候,添加 –P [端口數(shù)] 參數(shù)來進行傳輸。
4、備用數(shù)據(jù)庫參數(shù)的修改
參數(shù)的含義同主庫的含義一樣
db_unique_name='sdb'
log_archive_config='dg_config=(pdb,sdb)'
fal_server=pdb
fal_client=sdb
log_archive_dest_1='location=/u01/app/archivelog'
log_archive_dest_2='service=pdb lgwr sync affirm valid_for=(online_logfiles,primary_role) ?db_unique_name=pdb'
log_archive_dest_state_1=ENABLE
log_archive_dest_state_2=ENABLE
standby_file_management=AUTO
5. 為備庫創(chuàng)建監(jiān)聽(方法同主庫)
netca
6. 為備庫創(chuàng)建網(wǎng)絡服務命名(方法同主庫)
[root@dgsto-pri u01]# vi /u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
HPPRI =
? (DESCRIPTION =
? ? (ADDRESS_LIST =
? ? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.40.201)(PORT = 1521))
? ? )
? ? (CONNECT_DATA =
? ? ? (SERVER = DEDICATED)
? ? ? (SERVICE_NAME = hppri)
? ? )
? )
7.此時啟動兩臺服務器的監(jiān)聽,并確認是否能夠正常的連接
lsnrctl start 啟動監(jiān)聽
lsnrctl stop 停止監(jiān)聽
lsnrctl status 查看監(jiān)控運行狀態(tài)
tnsping + 實例名? 檢查是否能識別到其他實例
sqlplus?sys/oracle@egap?as?sysdba? 檢查是否能登錄數(shù)據(jù)庫
sqlplus?sys/oracle@egapdb?as?sysdba 檢查是否能登錄數(shù)據(jù)庫
8.使用initsdb.ora啟動數(shù)據(jù)庫到nomount狀態(tài)。
SQL> startup nomount pfile=/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora
9. 啟動rman使用 rman duplicate 創(chuàng)建備用數(shù)據(jù)庫
[oracle@nxqstd ]$ rman target sys/oracle@pdb auxiliary sys/oracle
Recovery Manager: Release 10.2.0.1.0 - Production on Tue Nov 11 18:01:00 2008
Copyright (c) 1982, 2005, Oracle. ?All rights reserved.
connected to target database: DB (DBID=1434261387)
connected to auxiliary database: DB (not mounted)
RMAN> duplicate target database for standby nofilenamecheck;
在啟用恢復模式之前可以先用建好standbylog日志文件
10.修改數(shù)據(jù)庫為恢復管理模式,以使備庫能夠應用主庫的redo 數(shù)據(jù),達到同步
SQL> alter database recover managed standby database disconnect from session;
11. 查看備用數(shù)據(jù)庫的日志應用情況
SQL> ?select sequence#,first_time,next_time,applied from v$archived_log order by ? sequence#;
SEQUENCE# FIRST_TIM NEXT_TIME APP
---------- --------- --------- ---
? ? ? ? 13 11-NOV-08 11-NOV-08 YES
? ? ? ? 14 11-NOV-08 12-NOV-08 YES
? ? ? ? 15 12-NOV-08 12-NOV-08 YES
? ? ? ? 16 12-NOV-08 12-NOV-08 YES
12.為兩數(shù)據(jù)庫分別創(chuàng)建standby日志文件
主庫
SQL> alter database add standby logfile group 5 '/u01/app/oracle/oradata/orcl/standbylog01.log' size 500m;
SQL> alter database add standby logfile group 6 '/u01/app/oracle/oradata/orcl/standbylog02.log' size 500m;
SQL> alter database add standby logfile group 7 '/u01/app/oracle/oradata/orcl/standbylog03.log' size 500m;
SQL> alter database add standby logfile group 8 '/u01/app/oracle/oradata/orcl/standbylog04.log' size 500m;
備庫
停止redo應用
SQL> alter database recover managed standby database cancel;
Database altered.
SQL> alter database add standby logfile group 5 '/u01/app/oracle/oradata/orcl/standbylog01.log' size 500m;
Database altered.
SQL> alter database add standby logfile group 6 '/u01/app/oracle/oradata/orcl/standbylog02.log' size 500m;
Database altered.
SQL> alter database add standby logfile group 7 '/u01/app/oracle/oradata/orcl/standbylog03.log' size 500m;
Database altered.
再起動redo應用
SQL> alter database recover managed standby database disconnect from session;
Database altered
11.再次查看備庫日志應用情況
SQL> ?select sequence#,first_time,next_time,applied from v$archived_log order by ? sequence#;
SEQUENCE# FIRST_TIM NEXT_TIME APP
---------- --------- --------- ---
? ? ? ? 15 11-NOV-08 11-NOV-08 YES
? ? ? ? 16 11-NOV-08 12-NOV-08 YES
? ? ? ? 17 12-NOV-08 12-NOV-08 YES
? ? ? ? 18 12-NOV-08 12-NOV-08 YES
12.確定相關教程都已經(jīng)啟動
SQL> select process,status from v$managed_standby;
PROCESS ? STATUS
--------- ------------
ARCH ? ? ?CLOSING
ARCH ? ? ?CLOSING
MRP0 ? ? ?WAIT_FOR_LOG
RFS ? ? ? IDLE
RFS ? ? ? IDLE
查詢歸檔日志序列和磁盤空間
select sequence#,applied,deleted from v$archived_log;
快速查看DG的報錯信息
select?error?from?v$archive_dest?where?target='STANDBY'
至此物理standby已經(jīng)搭建成功
三:手工的switchover與failover
3.1 手工的switchover
1.查看主數(shù)據(jù)庫可轉(zhuǎn)換的狀態(tài)
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
SESSIONS ACTIVE
2.執(zhí)行切換命令轉(zhuǎn)換primary 到 physical standby
SQL>alter database commit to switchover to physical standby with session shutdown
Database altered.
如果查詢到的可轉(zhuǎn)換狀態(tài)為to standby,則切換命令為
SQL>alter database commit to switchover to physical standby
3.關閉數(shù)據(jù)庫并啟動到mount狀態(tài)
SQL> shutdown immediate;
SQL> startup mount;
Database mounted.
4. 查看備庫可轉(zhuǎn)換的狀態(tài)
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
TO PRIMARY
5.將備庫 轉(zhuǎn)換為primary
SQL> alter database commit to switchover to primary;
Database altered.
6.將新的主庫打開
SQL>shutdown immediate;
SQL> startup ;
Database opened.
注:在打開新的主數(shù)據(jù)庫時,如果新的主數(shù)據(jù)庫在作為備用庫時曾以READ ONLY的方式打開過,則應重啟數(shù)據(jù)庫,否則可直接執(zhí)行如下操作
SQL> alter database open;
Database altered.
7.Sdb作為新備庫啟動,設置恢復管理模式
SQL> alter database recover managed standby database disconnect from session;
Database altered.
8.查看新備庫pdb的日志應用情況
3.2 手動的failover
1.對備用數(shù)據(jù)庫進行失敗轉(zhuǎn)移初始化
SQL> alter database recover managed standby database finish force;
Database altered.
SQL> select protection_mode,protection_level from v$database;
PROTECTION_MODE ? ? ?PROTECTION_LEVEL
-------------------- --------------------
MAXIMUM PERFORMANCE ?MAXIMUM PERFORMANCE
當進行失敗轉(zhuǎn)移后,數(shù)據(jù)庫的保護模式將由最大可用模式變?yōu)樽畲笮阅苣J?/p>
2.將備庫轉(zhuǎn)換為主庫并打開新的主庫
SQL> alter database commit to switchover to primary;
Database altered.
SQL> alter database open;
Database altered.
4、DATAGUARD的日常檢查工作
1.確定主庫,并查看當前的日志號
SQL> select database_role from v$database; ? ??
DATABASE_ROLE
----------------
PRIMARY
SQL> archive log list
Database log mode ? ? ? ? ? Archive Mode
Automatic archival ? ? ? ? ? Enabled
Archive destination ? ? ? ? ?/u01/app/archivelog
Oldest online log sequence ? ?417
Next log sequence to archive ? 420
Current log sequence ? ? ? ? 420
2:確定備用數(shù)據(jù)庫不存在日志斷點:
SQL> select * from v$archive_gap;
no rows selected ?
3:確定備用數(shù)據(jù)庫,并查看當前應用的日志序號
SQL> select sequence#,applied from v$archived_log;
?SEQUENCE# APP
---------- ---
? ? ? ?414 YES
? ? ? ?415 YES
? ? ? ?416 YES
? ? ? ?417 YES
? ? ? ?418 YES
? ? ? ?419 YES
4.在主庫查看當前日志傳輸是否正常
SQL> col status for a10
SQL> col destination for a10
SQL> col error a10
SQL> col error for a10
SQL> select dest_id,status,destination,error from v$archive_dest where dest_id <=2;
? ?DEST_ID STATUS ? ? DESTINATIO ERROR
---------- ---------- ---------- ----------
? ? ? ? ?1 VALID ? ? ?/u01/app/archivelog
? ? ? ? ?2 VALID ? ? ?sdb
5.在備庫上面確認相關的進程已經(jīng)啟動
SQL> select process,status,sequence# from v$managed_standby; ?
PROCESS ? STATUS ? ? ? ?SEQUENCE#
--------- ------------ ----------
ARCH ? ? ?CLOSING ? ? ? ? ? ? 419
ARCH ? ? ?CLOSING ? ? ? ? ? ? 418
MRP0 ? ? ?WAIT_FOR_LOG ? ? ? ?420
RFS ? ? ? IDLE ? ? ? ? ? ? ? ? ?0
RFS ? ? ? IDLE ? ? ? ? ? ? ? ?420
RFS ? ? ? IDLE ? ? ? ? ? ? ? ? ?0
通過以上的過程可以確認,DG是處于健康狀態(tài)的
6.已經(jīng)被應用的日志的刪除
?因為相關的日志已經(jīng)在備用數(shù)據(jù)庫上面被引用,基于空間的考慮,我們可以刪除一些日志,只保留部分日志。
相關刪除腳本如下:
6.1 建立相關的定時任務
[root@nxqpri ~]# crontab -l
0 03 * * * ?su ?- oracle -c "/home/oracle/rman_del.sh"
相關刪除的腳本
[oracle@nxqpri ~]$ cat rman_del.sh?
rman target sys/oracle ?msglog=/home/oracle/log/`date '+%Y%m%d'`.log cmdfile=/home/oracle/rman_del.rman
[oracle@nxqpri ~]$ cat rman_del.rman?
run {
? #allocate channel cha_full type disk;
? #CONFIGURE CONTROLFILE AUTOBACKUP ON;
? #crosscheck backup;
? #crosscheck archivelog all;
? delete noprompt archivelog until time "sysdate-10";
? #release channel cha_full;
? ? }
附Switchover_Status值的含義
NOT ALLOWED
當前的數(shù)據(jù)庫不是帶有備用數(shù)據(jù)庫的主數(shù)據(jù)庫
PREPARING DICTIONARY
該邏輯備用數(shù)據(jù)庫正在向一個主數(shù)據(jù)庫和其他備用數(shù)據(jù)庫發(fā)送它的重做數(shù)據(jù),以便為切換做準備
PREPARING SWITCHOVER
接受用于切換的重做數(shù)據(jù)時,邏輯備用配置會使用它
RECOVERY NEEDED
備用數(shù)據(jù)庫還沒有接收到切換請求
SESSIONS ACTIVE
在主數(shù)據(jù)庫中存在活動的SQL會話;在繼續(xù)執(zhí)行之前必須斷開這些會話
SWITCHOVER PENDING
適用于那些已收到主數(shù)據(jù)庫切換請求但是還沒有處理該請求的備用數(shù)據(jù)庫
SWITCHOVER LATENT
切換沒有完成并返回到主數(shù)據(jù)庫
TO LOGICAL STANDBY
主數(shù)據(jù)庫已經(jīng)收到了來自邏輯備用數(shù)據(jù)庫的完整的字典
TO PRIMARY
該備用數(shù)據(jù)庫可以轉(zhuǎn)換為主數(shù)據(jù)庫
TO STANDBY
該主數(shù)據(jù)庫可以轉(zhuǎn)換為備用數(shù)據(jù)庫