先簡(jiǎn)單介紹下故障過(guò)程,某天突然一同事跑過(guò)來(lái)說(shuō):
“魏大濕,我在主庫(kù)上新建PDB,備庫(kù)沒(méi)有同步,實(shí)時(shí)應(yīng)用也自動(dòng)宕掉了?!?/span>
“新建PDB之前,主備同步是好的嗎?”
“是好的,在創(chuàng)建之前特意檢查了實(shí)時(shí)應(yīng)用,在主庫(kù)創(chuàng)建測(cè)試表,備庫(kù)立馬就有了?!?/span>
“之前在這個(gè)庫(kù)的主庫(kù)上有創(chuàng)建過(guò)PDB沒(méi)?”
“創(chuàng)建過(guò),ADG同步一直都沒(méi)問(wèn)題。”
“。。。”
通過(guò)溝通知道了,這套CDB模式的19C,之前在主庫(kù)上創(chuàng)建PDB,備庫(kù)同步正常。但是最近的一次新建PDB,備庫(kù)同步就宕掉了。于是接手去看下到底是啥原因?
通過(guò)日志初步判斷觸發(fā)Bug25350791,在MRPFails with ORA-1274 while Creating PDB on Standby (Doc ID2423108.1)文章中提到的workwround是被克隆的源PDB需要處于readonly模式且實(shí)時(shí)同步開(kāi)啟即可。但我們新建的PDB是從pdb$seed種子庫(kù)克隆過(guò)來(lái)的,pdb$seed本來(lái)就處于readonly。
新建PDB命令如下:
------首先查出pdb$seed的系統(tǒng)數(shù)據(jù)文件路徑,后進(jìn)行克隆
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同步的問(wèn)題,例如把standby_file_management設(shè)置成手動(dòng),然后創(chuàng)建PDB命令填寫(xiě)詳細(xì)路徑等方式都均告失敗。已開(kāi)SR等待回復(fù)。
看到這里我們先把同步恢復(fù)先,路還是要繼續(xù)往前走的。以下是恢復(fù)的過(guò)程:
1、在主庫(kù)備份新建PDB及控制文件,并將其備份集scp至備庫(kù)。
backuppluggable database PDBTEST FORMAT /bak/PDBTEST_%U_%T.bak;
alterdatabase create standby controlfile as /bak/standby.ctl;
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;
alterdatabase mount;
altersystem set standby_file_management="manual" scope=both;
catalogstart with /bak noprompt;
restorepluggable database PDBTEST;
restoredatafile 150,151,152,153;-------150,151,152,153為新建PDB數(shù)據(jù)文件的file#。
catalogstart with +ARCHIVEDG noprompt;
5、開(kāi)始做recover,recover完成之后,開(kāi)啟實(shí)時(shí)應(yīng)用即可。
recoverdatabase noredo;
截圖:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/130041.html
摘要:也就是說(shuō)線程能夠獨(dú)立于線程之前工作。復(fù)制使用了三個(gè)線程。的日志線程,將事件寫(xiě)入,的線程獲取,并將其寫(xiě)入,線程重放日志。 1. 復(fù)制概述 MySQL 內(nèi)置的復(fù)制功能是構(gòu)建基于 MySQL 的大規(guī)模、高性能應(yīng)用的基礎(chǔ),復(fù)制解決的基本問(wèn)題是讓一臺(tái)服務(wù)器的數(shù)據(jù)與其他服務(wù)器保持同步。接下來(lái),我們將從復(fù)制概述及原理、復(fù)制的配置、常見(jiàn)的問(wèn)題及解決方法來(lái)學(xué)習(xí) MySQL 的復(fù)制功能。 1.1 復(fù)制解決...
摘要:也就是說(shuō)線程能夠獨(dú)立于線程之前工作。復(fù)制使用了三個(gè)線程。的日志線程,將事件寫(xiě)入,的線程獲取,并將其寫(xiě)入,線程重放日志。 1. 復(fù)制概述 MySQL 內(nèi)置的復(fù)制功能是構(gòu)建基于 MySQL 的大規(guī)模、高性能應(yīng)用的基礎(chǔ),復(fù)制解決的基本問(wèn)題是讓一臺(tái)服務(wù)器的數(shù)據(jù)與其他服務(wù)器保持同步。接下來(lái),我們將從復(fù)制概述及原理、復(fù)制的配置、常見(jiàn)的問(wèn)題及解決方法來(lái)學(xué)習(xí) MySQL 的復(fù)制功能。 1.1 復(fù)制解決...
閱讀 1356·2023-01-11 13:20
閱讀 1707·2023-01-11 13:20
閱讀 1215·2023-01-11 13:20
閱讀 1906·2023-01-11 13:20
閱讀 4165·2023-01-11 13:20
閱讀 2757·2023-01-11 13:20
閱讀 1402·2023-01-11 13:20
閱讀 3671·2023-01-11 13:20