溫馨提示×

溫馨提示×

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

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

如何解析Oracle 12c PDB中碰到的DG問題

發(fā)布時(shí)間:2021-11-12 09:14:03 來源:億速云 閱讀:135 作者:柒染 欄目:關(guān)系型數(shù)據(jù)庫

如何解析Oracle 12c PDB中碰到的DG問題,針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

Oracle 12c中的PDB一下子讓數(shù)據(jù)文件的格式復(fù)雜了一些,所以Data Guard就很有必要了,一旦出現(xiàn)問題,受損失的數(shù)據(jù)庫是全局的。沒想到在搭建Data Guard的時(shí)候還是碰到了一些小問題。
問題源自于一次PDB創(chuàng)建的時(shí)候,早些時(shí)候我在搭建好Data Guard后,主備庫的日志應(yīng)用都沒有問題,過了幾天,根據(jù)需求需要再添加一個(gè)PDB,導(dǎo)入一些數(shù)據(jù)供應(yīng)用使用。按照要求創(chuàng)建了數(shù)據(jù)文件然后導(dǎo)入數(shù)據(jù),但是查看備庫的狀態(tài)發(fā)現(xiàn)MRP異常停止了。
DG Broker檢測的狀態(tài)如下:
DGMGRL> show configuration;
Configuration - dg_testdb
  Protection Mode: MaxPerformance
  Members:
  testdb   - Primary database
    s2testdb - Physical standby database
      Error: ORA-16766: Redo Apply is stopped
Fast-Start Failover: DISABLED
Configuration Status:
ERROR   (status updated 6 seconds ago)
DGMGRL>
備庫的錯(cuò)誤日志如下:
如何解析Oracle 12c PDB中碰到的DG問題如何解析Oracle 12c PDB中碰到的DG問題
可以看到是備庫沒有對應(yīng)的路徑存在所以創(chuàng)建失敗,但是錯(cuò)誤特別之處在于有下面的錯(cuò)誤信息:
Automatic Copy of Standby datafiles for create pdb failed with            error - 65169. Files need to be copied manually
備庫查看PDB的狀態(tài)信息如下,TBILLMOB這個(gè)PDB出現(xiàn)了問題。
SQL> show pdbs;
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 TCYMOB0                        READ ONLY  NO
         4 MACTVDB                        READ ONLY  NO
         5 TBILLMOB                       MOUNTED
如果嘗試切換容器,會(huì)拋出錯(cuò)誤。
SQL> alter session set container=TBILLMOB;
ERROR:
ORA-65011: Pluggable database TBILLMOB does not exist.
這個(gè)錯(cuò)誤查看了MetaLink也沒有給出其他的建議,很明顯和11g的處理方式有一些差別。無奈只能先修復(fù)問題,即從主庫導(dǎo)出,備庫還原恢復(fù)。
這個(gè)時(shí)候問題就來了,主庫備份的時(shí)候怎么選擇對應(yīng)的數(shù)據(jù)文件,在哪個(gè)PDB中之類的。
使用RMAN來完成特定的備份,此處需要說明在12c中已經(jīng)有了默認(rèn)的新建系統(tǒng)用戶sysbackup
rman target '"/ as sysbackup"'
查看schema的信息如下,原來是這么標(biāo)記的。
如何解析Oracle 12c PDB中碰到的DG問題
因?yàn)檫@個(gè)新建的PDB數(shù)據(jù)文件完全沒有同步過去,所以直接可以備份出來。
RMAN> backup  format '/tmp/pdb_tbillmob.dmp' pluggable database tbillmob;
在備庫上進(jìn)行還原和恢復(fù),假設(shè)備份集和控制文件在/tmp下。
RMAN> catalog start with '/tmp';

RMAN> restore pluggable database tbillmob from '/tmp/pdb_tbillmob.dmp';

Starting restore at 2016-10-25 11:32:18
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=2838 device type=DISK

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 10/25/2016 11:32:19
RMAN-06509: only SPFILE or control file can be restored from AUTOBACKUP
正確的方式是這樣的。
RMAN> restore pluggable database tbillmob;
還原之后,開啟日志應(yīng)用即可。
SQL> recover managed standby database disconnect from session;
把備庫打開
SQL> alter database open ;
嘗試打開所有的PDB
SQL> alter pluggable database all open;
Pluggable database altered.
查看PDB的狀態(tài)如下:
SQL> show pdbs;
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 TCYMOB0                        READ ONLY  NO
         4 MACTVDB                        READ ONLY  NO
         5 TBILLMOB                       READ ONLY  NO
再次查看就主備關(guān)系就正常了。
DGMGRL> show configuration;
Configuration - dg_testdb
  Protection Mode: MaxPerformance
  Members:
  testdb   - Primary database
    s2testdb - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS   (status updated 51 seconds ago)
DGMGRL>

而在這個(gè)基礎(chǔ)上,我們進(jìn)一步測試,主庫PDB的目錄下重新創(chuàng)建一個(gè)test目錄,備庫不存在,看看添加數(shù)據(jù)文件是否會(huì)成功。
mkdir -p /home/U01/app/oracle/oradata/testdb/pdb/tbillmob/test
SQL> alter tablespace users add datafile '/home/U01/app/oracle/oradata/testdb/pdb/tbillmob/test/users02.dbf'size 10M;
查看備庫的信息如下:
如何解析Oracle 12c PDB中碰到的DG問題
當(dāng)然我是在standby_file_management=auto的前提下操作的。如果是standby_file_management=manual還是存在一些差別。

關(guān)于如何解析Oracle 12c PDB中碰到的DG問題問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

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

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

AI