最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年10月31日 10:00:20   作者:左直拳  
這篇文章主要給大家介紹了關(guān)于oracle 12c因誤刪pdb數(shù)據(jù)文件導(dǎo)致整個數(shù)據(jù)庫打不開問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起看看吧。

前言

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

方法如下:

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

sqlplus sys/pwd@orcl12c as sysdba;

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

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

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

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


已經(jīng)卸載數(shù)據(jù)庫。
ORACLE 例程已經(jīng)關(guān)閉。
SQL> startup
ORACLE 例程已經(jī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ù)庫裝載完畢。
ORA-01157: 無法標(biāo)識/鎖定數(shù)據(jù)文件 101 - 請參閱 DBWR 跟蹤文件
ORA-01110: 數(shù)據(jù)文件 101:
'D:\APP\ADMINISTRATOR\ORADATA\ORCL12C\PDBDTJK\NMEMC.DBF'

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

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

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

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

SQL> alter session set container=PDBDTJK;

會話已更改。

SQL> show pdbs;

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

5、脫機(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)錯誤:
ORA-01145: 除非啟用了介質(zhì)恢復(fù), 否則不允許立即脫機


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

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

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

SQL> alter session set container=CDB$ROOT;

會話已更改。

SQL> alter database open;

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

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

7、總結(jié)

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

還真是。聽說oracle 12c r1版本就是,PDB宕機,CDB也會陪著一起宕;到r2就好一點,只宕PDB。

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

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

sqlplus sys/pwd@servername as sysdba;

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

SQL> alter session set container=PDBDTJK;

會話已更改。

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

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

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

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

相關(guān)文章

  • Oracle數(shù)字類型number自增的實現(xiàn)代碼

    Oracle數(shù)字類型number自增的實現(xiàn)代碼

    這篇文章主要介紹了Oracle數(shù)字類型number自增的實現(xiàn)代碼,需要的朋友可以參考下
    2017-08-08
  • Oracle數(shù)據(jù)庫安全策略分析 (三)

    Oracle數(shù)據(jù)庫安全策略分析 (三)

    Oracle數(shù)據(jù)庫安全策略分析 (三)...
    2007-03-03
  • 關(guān)于Oracle多表連接,提高效率,性能優(yōu)化操作

    關(guān)于Oracle多表連接,提高效率,性能優(yōu)化操作

    這篇文章主要介紹了關(guān)于Oracle多表連接,提高效率,性能優(yōu)化操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Oracle變更redo log文件位置的操作步驟

    Oracle變更redo log文件位置的操作步驟

    重做日志文件 redo log file 通常也稱為日志文件,它是保證數(shù)據(jù)庫安全和數(shù)據(jù)庫備份與恢復(fù)的文件,是數(shù)據(jù)庫安全和恢復(fù)的最基本的保障,本文小編給大家介紹了Oracle變更redo log文件位置的操作步驟,需要的朋友可以參考下
    2025-02-02
  • 一文詳解Oracle存儲過程

    一文詳解Oracle存儲過程

    Oracle存儲過程是Oracle數(shù)據(jù)庫中的一種數(shù)據(jù)處理對象,它可以在數(shù)據(jù)庫中定義一組預(yù)定義的SQL語句,用于完成特定的數(shù)據(jù)庫操作,本文將通過代碼示例詳細(xì)介紹了Oracle存儲過程,需要的朋友可以參考下
    2023-05-05
  • Oracle如何獲取當(dāng)前庫中所有表空間創(chuàng)建的語句

    Oracle如何獲取當(dāng)前庫中所有表空間創(chuàng)建的語句

    在Oracle數(shù)據(jù)庫管理中,通過使用dbms_metadata.get_ddl函數(shù),可以方便地獲取表空間的DDL創(chuàng)建語句,首先利用select查詢構(gòu)造需要的DDL語句,然后執(zhí)行得到的查詢語句即可獲取對應(yīng)表空間的創(chuàng)建語句,這種方法適用于數(shù)據(jù)庫遷移或備份時重建表空間的需求
    2024-10-10
  • oracle中if/else的三種實現(xiàn)方式詳解

    oracle中if/else的三種實現(xiàn)方式詳解

    本文給大家介紹了oracle中if/else的三種實現(xiàn)方式及注意事項,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-10-10
  • Oracle兩張表關(guān)聯(lián)批量更新其中一張表的數(shù)據(jù)

    Oracle兩張表關(guān)聯(lián)批量更新其中一張表的數(shù)據(jù)

    本文給大家分享兩種方法解決Oracle兩張表關(guān)聯(lián)批量更新其中一張表的數(shù)據(jù),方法非常簡單,具有參考借鑒價值,需要的的朋友參考下吧
    2017-06-06
  • Oracle提高sql執(zhí)行效率的心得建議

    Oracle提高sql執(zhí)行效率的心得建議

    sql執(zhí)行效率一直都是為人所關(guān)注,那到底應(yīng)該怎樣提高呢?有什么比較好的方法,下面與大家分享下比較不錯的建議,感興趣的朋友可以參考下,希望對大家有所幫助
    2013-08-08
  • Oracle計算時間差常用函數(shù)

    Oracle計算時間差常用函數(shù)

    這篇文章主要介紹了Oracle計算時間差常用函數(shù),涉及用法代碼及示例,具有一定參考價值。需要的朋友可以了解下。
    2017-09-09

最新評論

宁强县| 保山市| 温泉县| 鄯善县| 平阴县| 固镇县| 高州市| 改则县| 离岛区| 柯坪县| 临洮县| 定结县| 柳江县| 聊城市| 铁力市| 固镇县| 旅游| 苗栗县| 榕江县| 光山县| 新巴尔虎左旗| 安顺市| 沭阳县| 西昌市| 孝义市| 随州市| 昌黎县| 宁强县| 阿城市| 水城县| 互助| 凌源市| 安溪县| 道孚县| 措勤县| 锡林郭勒盟| 普安县| 土默特右旗| 肇庆市| 陆河县| 蓬溪县|