久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

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

169次閱讀
沒有評論

共計 2957 個字符,預計需要花費 8 分鐘才能閱讀完成。

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

Oracle 12c 中的 PDB 一下子讓數據文件的格式復雜了一些,所以 Data Guard 就很有必要了,一旦出現問題,受損失的數據庫是全局的。沒想到在搭建 Data Guard 的時候還是碰到了一些小問題。
問題源自于一次 PDB 創建的時候,早些時候我在搭建好 Data Guard 后,主備庫的日志應用都沒有問題,過了幾天,根據需求需要再添加一個 PDB, 導入一些數據供應用使用。按照要求創建了數據文件然后導入數據,但是查看備庫的狀態發現 MRP 異常停止了。
DG Broker 檢測的狀態如下:
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
備庫的錯誤日志如下:

可以看到是備庫沒有對應的路徑存在所以創建失敗,但是錯誤特別之處在于有下面的錯誤信息:
Automatic Copy of Standby datafiles for create pdb failed with  error – 65169. Files need to be copied manually
備庫查看 PDB 的狀態信息如下,TBILLMOB 這個 PDB 出現了問題。
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
如果嘗試切換容器,會拋出錯誤。
SQL alter session set container=TBILLMOB;
ERROR:
ORA-65011: Pluggable database TBILLMOB does not exist.
這個錯誤查看了 MetaLink 也沒有給出其他的建議,很明顯和 11g 的處理方式有一些差別。無奈只能先修復問題,即從主庫導出,備庫還原恢復。
這個時候問題就來了,主庫備份的時候怎么選擇對應的數據文件,在哪個 PDB 中之類的。
使用 RMAN 來完成特定的備份,此處需要說明在 12c 中已經有了默認的新建系統用戶 sysbackup
rman target / as sysbackup
查看 schema 的信息如下, 原來是這么標記的。

因為這個新建的 PDB 數據文件完全沒有同步過去,所以直接可以備份出來。
RMAN backup  format /tmp/pdb_tbillmob.dmp pluggable database tbillmob;
在備庫上進行還原和恢復,假設備份集和控制文件在 /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;
還原之后,開啟日志應用即可。
SQL recover managed standby database disconnect from session;
把備庫打開
SQL alter database open ;
嘗試打開所有的 PDB
SQL alter pluggable database all open;
Pluggable database altered.
查看 PDB 的狀態如下:
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
再次查看就主備關系就正常了。
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

而在這個基礎上,我們進一步測試,主庫 PDB 的目錄下重新創建一個 test 目錄,備庫不存在,看看添加數據文件是否會成功。
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;
查看備庫的信息如下:

當然我是在 standby_file_management=auto 的前提下操作的。如果是 standby_file_management=manual 還是存在一些差別。

關于如何解析 Oracle 12c PDB 中碰到的 DG 問題問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注丸趣 TV 行業資訊頻道了解更多相關知識。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-20發表,共計2957字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 九江县| 吴旗县| 遂平县| 出国| 南宫市| 尼玛县| 静安区| 兰考县| 西峡县| 济南市| 德兴市| 龙岩市| 屏边| 广汉市| 连山| 龙南县| 肥东县| 贵州省| 南充市| 临夏市| 绥中县| 青海省| 苍梧县| 睢宁县| 桐梓县| 澄江县| 寿宁县| 农安县| 西安市| 普定县| 石景山区| 习水县| 永年县| 永胜县| 侯马市| 濮阳县| 孝感市| 新泰市| 海原县| 上饶县| 林西县|