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

oracle dg庫數據文件創建失敗ORA

140次閱讀
沒有評論

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

丸趣 TV 小編給大家分享一下 oracle dg 庫數據文件創建失敗 ORA-01111 怎么辦,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

具體報錯如下

SQL alter database open read only ;

alter database open read only

*

ERROR at line 1:

ORA-10458: standby database requires recovery

ORA-01157: cannot identify/lock data file 24 – see DBWR trace file

ORA-01111: name for data file 24 is unknown – rename to correct file

ORA-01110: data file 24:

/data/u01/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00024

剛剛在主庫添加了數據文件:

SQL alter tablespace  MODEL_BH  add datafile /data2/oradata/datafile/bapp/MODEL_BH010.dbf size 31g;

然后查看下發現 24 號數據文件就是剛才添加的那文件:

SQL set line 1000

SQL set pagesize 1000

SQL col name for a60

SQL col status for a20

SQL select FILE#,name  from v$datafile where file#=24;

  FILE# NAME

———- ————————————————————

24 /data2/oradata/datafile/bapp/MODEL_BH010.dbf

也就是說出庫的這個文件,沒有同步到從庫,突然想到,今天這個文件的目錄放到的一個新的掛載點上了 /data2(由于空間不足,新添加的掛在點 )。壞了因為從庫的 db_file_name_convert 文件沒有配置傳喚 /data2/oradata/datafile/bapp/ 的路徑,具體如下:

SQL show parameter convert 

NAME   TYPE VALUE

———————————— ———– ——————————

db_file_name_convert   string /data/app/oracle/oradata/dataf

ile/bapp/, /data/u01/app/dataf

ile/

然后我搭建的 datagurd 一般都是把備庫的參數配置 STANDBY_FILE_MANAGEMENT 為 auto, 如下所示:

SQL show parameter STANDBY_FILE_MANAGEMENT;

NAME                                 TYPE        VALUE

———————————— ———– ——————————

standby_file_management     string     AUTO

1)STANDBY_FILE_MANAGEMENT=AUTO 的情況下,如果從庫的 db_file_name_convert 參數設置的正確了,那么主庫創建的數據文件在備份端應用日志時會自動創建,從庫會根據 convert 參數在備庫創建相對應的數據文件;

2)STANDBY_FILE_MANAGEMENT=AUTO 的情況下,但是如果主庫創建在其他路徑的數據文件,也就是說如果從庫的 db_file_name_convert 參數沒有正確設置(就像我前面的,主庫的 /data2 下的路徑沒有設置對應的轉換路徑,那么這時候從庫就會創建到 $ORACLE_HOME/dbs 下(注意只是控制文件中有這個以 UNNAMED 開頭命名的文件信息,但是不會真正的創建,同樣如果主庫是 drop,備庫也會 drop。

我的情況正是 STANDBY_FILE_MANAGEMENT=AUTO,然后從庫的 db_file_name_convert 參數沒有正確設置,

在從庫查看文件狀態為 recover 的,表示從庫沒有創建成功

SQL   select file#,name ,status from v$datafile where status= RECOVER

  FILE#  NAME  status

———- ——————————————————————————————————- 

24  /data/u01/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00024  RECOVER

下面展示修復過程:

1. 在從庫修改參數 db_file_name_convert;

如下所示,添加上 /data2/oradata/datafile/bapp/ 的轉換路徑

SQL show parameter convert 

NAME   TYPE VALUE

———————————— ———– ——————————

db_file_name_convert   string /data/app/oracle/oradata/dataf

ile/bapp/, /data/u01/app/dataf

ile/, /data2/oradata/datafile/

bapp/, /data/u01/app/datafile/

2. 重啟從庫

SQL shu  immediate

SQL startup  mount

3. 修改從庫的參數 standby_file_management=manual

SQL alter system set standby_file_management= manual

System altered.

注釋:standby_file_management 為 manual,那么當主庫添加了文件,從庫需要手工創建上,并且如果 standby_file_management=auto,備庫是不允許手工創建文件的!!

4. 在備庫創建上那個文件,如下所示!!!

SQL alter database create datafile /data/u01/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00024  as /data/u01/app/datafile/MODEL_BH010.dbf

此時再查看這個 24 號文件,發現名字已經變回來了

SQL select name ,file# from v$datafile where file#=24;

NAME

——————————————————————————–

  FILE#

———-

/data/u01/app/datafile/MODEL_BH010.dbf

24

但是此時候查看依舊是 recover 的狀態:

SQL   select file#,name ,status from v$datafile where status= RECOVER

  FILE#  NAME  status

———- ——————————————————————————————————- 

24  /data/u01/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00024  RECOVER

需要打開 mrp 進程,應用日志,恢復下備庫!注意不要先 read only  open!

alter database recover managed standby database using current logfile disconnect from session;

再次查看這個這個文件,發現已經不在是 recover 狀態了,為 online 的了,這時候才是真的恢復成功了!

SQL select name ,status from v$datafile where file#=24;

NAME  STATUS

——————————————————————————–

/data/u01/app/datafile/MODEL_BH010.dbf 
ONLINE

7. 以 read only 方式開啟數據庫

需要先關閉 mrp 進程,然后才能以 read only 方式打開數據,否則報錯!

SQL alter database open read only;

alter database open read only

*

ERROR at line 1:

ORA-10456: cannot open standby database; media recovery session may be in

progress

關閉 mrp 進程:

SQL   ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

Database altered.

然后開啟數據庫

SQL alter database open read only;

Database altered.

再次開啟 mrp 進程

alter database recover managed standby database using current logfile disconnect from session;

8. 修改從庫的參數 standby_file_management=auto

SQL alter system set standby_file_management= auto

經驗證數據同步正常

9. 最后最好重啟下備庫!!!!然后別忘記啟動 mrp 進程!

看完了這篇文章,相信你對“oracle dg 庫數據文件創建失敗 ORA-01111 怎么辦”有了一定的了解,如果想了解更多相關知識,歡迎關注丸趣 TV 行業資訊頻道,感謝各位的閱讀!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-24發表,共計4270字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 海口市| 麻阳| 舒兰市| 浑源县| 石阡县| 曲水县| 油尖旺区| 墨竹工卡县| 鸡泽县| 积石山| 马山县| 虞城县| 汪清县| 华池县| 丽水市| 忻州市| 寿光市| 西吉县| 长兴县| 墨玉县| 泊头市| 平舆县| 应城市| 东宁县| 芜湖县| 九江县| 茶陵县| 娄底市| 西平县| 太和县| 汾阳市| 鲜城| 秀山| 白玉县| 溆浦县| 台州市| 大同市| 四川省| 汝阳县| 贵德县| 夏津县|