国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

ADG主庫新建PDB備庫無法同步故障分析

IT那活兒 / 3373人閱讀
ADG主庫新建PDB備庫無法同步故障分析
仙女都在看
點點點,贊和在看都在這兒!


親愛的小伙伴們,我們又見面了,這次給大家帶來的是最近處理的一起Oracle19CADG主庫新建PDB備庫無法同步問題。


先簡單介紹下故障過程,某天突然一同事跑過來說:

“魏大濕,我在主庫上新建PDB,備庫沒有同步,實時應用也自動宕掉了。”

“新建PDB之前,主備同步是好的嗎?”

“是好的,在創建之前特意檢查了實時應用,在主庫創建測試表,備庫立馬就有了。”

“之前在這個庫的主庫上有創建過PDB沒?”

“創建過,ADG同步一直都沒問題。”

“。。。”

通過溝通知道了,這套CDB模式的19C,之前在主庫上創建PDB,備庫同步正常。但是最近的一次新建PDB,備庫同步就宕掉了。于是接手去看下到底是啥原因?


查看主庫的PDB如下,新建的PDB是con_id:6的,狀態都正常。
備庫新建PDB處于mount狀態:
查看主備庫的v$datafile視圖發現主庫新建PDB的數據文件都存在,但是備庫沒有。
查看備庫alert日志報錯如下:



報錯顯示由于無法識別+DATADG1,導致MRP0進程宕掉。
通過asmcmd進入ASM中發現除了第一個system文件外,其他新建PDB的數據文件都沒有生成,而且第一個文件從之前dbalert日志來看,是沒有restore成功的。也就是損壞的,直接rm掉。結合日志及MOS。

通過日志初步判斷觸發Bug25350791,在MRPFails with ORA-1274 while Creating PDB on Standby (Doc ID2423108.1)文章中提到的workwround是被克隆的源PDB需要處于readonly模式且實時同步開啟即可。但我們新建的PDB是從pdb$seed種子庫克隆過來的,pdb$seed本來就處于readonly。

新建PDB命令如下:

------首先查出pdb$seed的系統數據文件路徑,后進行克隆

CREATEPLUGGABLE DATABASE pdbtest ADMIN USER  pdbtest_admin IDENTIFIED BYxxxxxx

storageunlimited

DEFAULTTABLESPACE TBS_PDBPDB DATAFILE +DATADG1 SIZE 30g AUTOEXTEND OFF

FILE_NAME_CONVERT=(+DATADG1/RACDB/AB29857745280367E0532A3DE60/DATAFILE/system.292.1046608615,+DATADG1,

+DATADG1/RACDB/AB29857745280367E0532A3DE60/DATAFILE/sysaux.290.1046608619,+DATADG1,

+DATADG1/RACDB/AB29857745280367E0532A3DE60/DATAFILE/undotbs1.288.1046608621,+DATADG1,

+DATADG1/RACDB/AB29857745280367E0532A3DE60/TEMPFILE/temp.286.1046608621,+DATADG1);

我們目前嘗試了各種方法去解決PDB同步的問題,例如把standby_file_management設置成手動,然后創建PDB命令填寫詳細路徑等方式都均告失敗。已開SR等待回復。


看到這里我們先把同步恢復先,路還是要繼續往前走的。以下是恢復的過程:

1、在主庫備份新建PDB及控制文件,并將其備份集scp至備庫。

backuppluggable database  PDBTEST FORMAT  /bak/PDBTEST_%U_%T.bak;

alterdatabase create standby controlfile as /bak/standby.ctl;


2、記錄備庫的數據文件路徑后,將備庫所有節點實例全部shutdownimmediate,將其中一個節點實例啟動至nomount,重建控制文件。

selectfile#,alter database rename file ||file#|| || to||name||; name_str from v$datafile order by 1;

shutdownimmediate;

startupnomount;

RMAN>restore standby controlfile  from /bak/standby.ctl;


3、數據庫啟動至mount狀態后,將備庫文件管理設置成手動,將控制文件中的數據文件路徑rename成步驟二備份的路徑。(注:數據文件要通過file#一一對應)

alterdatabase mount;

altersystem set standby_file_management="manual" scope=both;

數據文件路徑修改前:
Rename命令如下:


4、將注冊備份集及歸檔日志,并restore新建的pdb,注意這里要restore2次,會自動在控制文件中注冊新建數據文件,否則新建數據文件路徑是錯誤的。

catalogstart with /bak noprompt;

restorepluggable database  PDBTEST;

restoredatafile 150,151,152,153;-------150,151,152,153為新建PDB數據文件的file#。

catalogstart with +ARCHIVEDG noprompt;


5、開始做recover,recover完成之后,開啟實時應用即可。

recoverdatabase noredo;

截圖:

注:開啟實時應用后,此時會發現備庫alert日志中有logfile及tempfile路徑錯誤的報錯。這種報錯是由于控制文件中redo及tempfile的路徑錯誤導致,不用手動去修改。只要將備庫所有節點實例啟動至readonly,然后開啟實時應用,在主庫多切換幾次歸檔即可解決。
掃碼關注我們



文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/130041.html

相關文章

  • MySQL 復制 - 性能與擴展性的基石 1:概述及其原理

    摘要:也就是說線程能夠獨立于線程之前工作。復制使用了三個線程。的日志線程,將事件寫入,的線程獲取,并將其寫入,線程重放日志。 1. 復制概述 MySQL 內置的復制功能是構建基于 MySQL 的大規模、高性能應用的基礎,復制解決的基本問題是讓一臺服務器的數據與其他服務器保持同步。接下來,我們將從復制概述及原理、復制的配置、常見的問題及解決方法來學習 MySQL 的復制功能。 1.1 復制解決...

    hot_pot_Leo 評論0 收藏0
  • MySQL 復制 - 性能與擴展性的基石 1:概述及其原理

    摘要:也就是說線程能夠獨立于線程之前工作。復制使用了三個線程。的日志線程,將事件寫入,的線程獲取,并將其寫入,線程重放日志。 1. 復制概述 MySQL 內置的復制功能是構建基于 MySQL 的大規模、高性能應用的基礎,復制解決的基本問題是讓一臺服務器的數據與其他服務器保持同步。接下來,我們將從復制概述及原理、復制的配置、常見的問題及解決方法來學習 MySQL 的復制功能。 1.1 復制解決...

    scwang90 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<