濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > oracle 12c因誤刪pdb數(shù)據(jù)文件導(dǎo)致整個(gè)數(shù)據(jù)庫(kù)打不開的解決方法

oracle 12c因誤刪pdb數(shù)據(jù)文件導(dǎo)致整個(gè)數(shù)據(jù)庫(kù)打不開的解決方法

熱門標(biāo)簽:貴陽(yáng)電話外呼系統(tǒng)哪家好 400電話是不是免費(fèi)申請(qǐng) 南寧人工智能電銷機(jī)器人費(fèi)用 濟(jì)南地圖標(biāo)注公司 海南400電話哪里辦理 分布式呼叫中心 呼倫貝爾智能手機(jī)地圖標(biāo)注 安陽(yáng)外呼系統(tǒng)免費(fèi) 圖像地圖標(biāo)注

前言

最近因?yàn)橐晃煌抡`刪了某個(gè)插件數(shù)據(jù)庫(kù)(PDB)的數(shù)據(jù)文件,結(jié)果整個(gè)數(shù)據(jù)庫(kù),包括容器數(shù)據(jù)庫(kù)(CDB),以及其他插件數(shù)據(jù)庫(kù)都用不了了。無奈。。。通過嘗試各種方法最終解決了,覺著有必要將解決的過程分享出來,方法大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細(xì)的介紹吧。

方法如下:

1、用sys賬號(hào)進(jìn)入實(shí)例,可見容器數(shù)據(jù)庫(kù)處于mounted狀態(tài);插在上面的所有PDB當(dāng)然也都是mounted。

sqlplus sys/pwd@orcl12c as sysdba;

2、試圖打開CDB,提示有數(shù)據(jù)庫(kù)文件未能加載。

SQL> alter database open;
alter database open
*
第 1 行出現(xiàn)錯(cuò)誤:
ORA-01157: 無法標(biāo)識(shí)/鎖定數(shù)據(jù)文件 101 - 請(qǐng)參閱 DBWR 跟蹤文件
ORA-01110: 數(shù)據(jù)文件 101:
'D:\APP\ADMINISTRATOR\ORADATA\ORCL12C\PDBDTJK\NMEMC.DBF'

又關(guān)閉又啟動(dòng),來回折騰,都是如此:

SQL> shutdown immediate 
ORA-01109: 數(shù)據(jù)庫(kù)未打開


已經(jīng)卸載數(shù)據(jù)庫(kù)。
ORACLE 例程已經(jīng)關(guān)閉。
SQL> startup
ORACLE 例程已經(jīng)啟動(dòng)。

Total System Global Area 2147483648 bytes
Fixed Size     3834152 bytes
Variable Size    671092440 bytes
Database Buffers   1459617792 bytes
Redo Buffers    12939264 bytes
數(shù)據(jù)庫(kù)裝載完畢。
ORA-01157: 無法標(biāo)識(shí)/鎖定數(shù)據(jù)文件 101 - 請(qǐng)參閱 DBWR 跟蹤文件
ORA-01110: 數(shù)據(jù)文件 101:
'D:\APP\ADMINISTRATOR\ORADATA\ORCL12C\PDBDTJK\NMEMC.DBF'

3、查閱網(wǎng)上資料,應(yīng)該是將此遺失文件標(biāo)為脫機(jī)、刪除。但提示找不到該文件!

SQL> alter database datafile 101 offline;
alter database datafile 101 offline
*
第 1 行出現(xiàn)錯(cuò)誤:
ORA-01516: 不存在的日志文件, 數(shù)據(jù)文件或臨時(shí)文件 "101"

這就奇怪了,明明是你提示了該文件的,現(xiàn)在又說不知道這個(gè)文件。

4、估計(jì)是當(dāng)前所在數(shù)據(jù)庫(kù)是CDB,而這個(gè)文件屬于PDB,所以應(yīng)該切換到相關(guān)PDB,再進(jìn)行文件脫機(jī)。

SQL> alter session set container=PDBDTJK;

會(huì)話已更改。

SQL> show pdbs;

 CON_ID CON_NAME      OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
  13 PDBDTJK      MOUNTED

5、脫機(jī)(offline,drop),成功!

SQL> alter database datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL12C\PDBDTJK\NMEMC.DBF' offline;
alter database datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL12C\PDBDTJK\NMEMC.DBF' offline
*
第 1 行出現(xiàn)錯(cuò)誤:
ORA-01145: 除非啟用了介質(zhì)恢復(fù), 否則不允許立即脫機(jī)


SQL> alter database datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL12C\PDBDTJK\NMEMC.DBF' offline drop;

數(shù)據(jù)庫(kù)已更改。

6、切換回CDB,打開,成功!

SQL> alter session set container=CDB$ROOT;

會(huì)話已更改。

SQL> alter database open;

數(shù)據(jù)庫(kù)已更改。

哎,我的天吶!吶啊~~~

7、總結(jié)

1)一個(gè)PDB損壞,導(dǎo)致整個(gè)CDB以及其他PDB都不能用,乃至于無法恢復(fù)?不應(yīng)該啊,這可是oracle啊,不可能這么弱智的

還真是。聽說oracle 12c r1版本就是,PDB宕機(jī),CDB也會(huì)陪著一起宕;到r2就好一點(diǎn),只宕PDB。

2)本次恢復(fù),從CDB切換到PDB是關(guān)鍵。網(wǎng)上給出的答案,都是11g或以前的,一個(gè)實(shí)例對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù),所以沒有數(shù)據(jù)庫(kù)切換的概念,文件說脫機(jī)就脫機(jī)了。

3)只要數(shù)據(jù)庫(kù)實(shí)例能啟動(dòng),不管CDB是否已打開,sys都能進(jìn)去:

sqlplus sys/pwd@servername as sysdba;

而PDB則不行。在未打開的情況下,你用 conn user/pwd@servername 這種方式已經(jīng)進(jìn)不去了,但切換會(huì)話還可以:

SQL> alter session set container=PDBDTJK;

會(huì)話已更改。

這是孫悟空的一根救命毫毛。

4)以上問題的解決,現(xiàn)在看起來一步一步的,清晰明了,但這中間經(jīng)過了多少煎熬和痛苦。昨天傍晚出現(xiàn)的問題,搞到21點(diǎn),還沒搞定?;丶依^續(xù)查資料到晚上快24點(diǎn)。早上七點(diǎn)醒來,才查了一下會(huì)話切換。早上是人最清醒的時(shí)候。

我都不清楚這個(gè)文件是怎么刪除的。在繼續(xù)使用的情況下,刪除文件系統(tǒng)會(huì)提示被鎖定,估計(jì)是停掉數(shù)據(jù)庫(kù)再刪除,叉啊,這不是找死嗎。我都不敢想象,如果今天數(shù)據(jù)庫(kù)沒起來,會(huì)有一翻怎樣的折騰。雖然是開發(fā)數(shù)據(jù)庫(kù),但好多項(xiàng)目在使用,各有各的PDB。

好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

您可能感興趣的文章:
  • oracle 12c創(chuàng)建可插拔數(shù)據(jù)庫(kù)(PDB)與用戶詳解
  • ORACLE 12C PDB 維護(hù)基礎(chǔ)知識(shí)介紹

標(biāo)簽:滁州 遼源 南充 涼山 焦作 郴州 合肥 許昌

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《oracle 12c因誤刪pdb數(shù)據(jù)文件導(dǎo)致整個(gè)數(shù)據(jù)庫(kù)打不開的解決方法》,本文關(guān)鍵詞  oracle,12c,因誤,刪,pdb,數(shù)據(jù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《oracle 12c因誤刪pdb數(shù)據(jù)文件導(dǎo)致整個(gè)數(shù)據(jù)庫(kù)打不開的解決方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于oracle 12c因誤刪pdb數(shù)據(jù)文件導(dǎo)致整個(gè)數(shù)據(jù)庫(kù)打不開的解決方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    宽甸| 莱州市| 平泉县| 宝兴县| 固原市| 禄丰县| 大埔县| 永定县| 西乌珠穆沁旗| 天长市| 油尖旺区| 广宗县| 香格里拉县| 怀安县| 古蔺县| 宁阳县| 瑞丽市| 吕梁市| 林州市| 巧家县| 托克逊县| 镇江市| 马边| 手游| 洛隆县| 昭平县| 武隆县| 西吉县| 湘潭县| 沾益县| 茶陵县| 浙江省| 游戏| 泸定县| 家居| 福海县| 伊川县| 中宁县| 乌兰浩特市| 祁阳县| 青神县|