溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

RAC中誤將數(shù)據(jù)文件創(chuàng)建在本地盤時的修正方法是什么

發(fā)布時間:2021-11-09 11:05:10 來源:億速云 閱讀:185 作者:iii 欄目:關(guān)系型數(shù)據(jù)庫

本篇內(nèi)容介紹了“RAC中誤將數(shù)據(jù)文件創(chuàng)建在本地盤時的修正方法是什么”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

測試目的:驗證RAC中誤將數(shù)據(jù)文件創(chuàng)建在本地盤時的修復(fù)辦法

環(huán)境說明:

兩節(jié)點RAC,數(shù)據(jù)庫名為kdedi 版本11.2.0.4 

使用了ASM作為共享存儲解決方案。

一 環(huán)境準(zhǔn)備

1)節(jié)點一上創(chuàng)建表空間test1,數(shù)據(jù)文件不放到ASM,而是放到本地盤,能查看到表空間,能在上面創(chuàng)建表:

19:26:00 sys@XXX>create tablespace test1 datafile '/home/oracle/test1.dbf' size 10m;

Tablespace created.

19:28:25 sys@XXX> select name,status from v$datafile;

NAME

---------------------------------------------------------------------------------------------------------------------------------------

STATUS

…………

/home/oracle/test1.dbf

ONLINE

30 rows selected.

19:28:32 sys@XXX> create table test1 (id int) tablespace test1;

Table created.

19:29:01 sys@XXX> create table test2 tablespace test1 as select * from dba_tables;

Table created.

19:29:09 sys@XXX>

2) 節(jié)點二上 能查到表空間test1,但創(chuàng)建表報錯:

19:24:33 sys@XXX>select name ,status from v$datafile;

NAME

---------------------------------------------------------------------------------------------------------------------------------------

STATUS

-------

/home/oracle/test1.dbf

ONLINE

30 rows selected.

19:29:24 sys@XXX> create table test1 (id int) tablespace test1;

 create table test1 (id int) tablespace test1*

ERROR at line 1:

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

ORA-01110: data file 30: '/home/oracle/test1.dbf'

3)但是數(shù)據(jù)庫還是照樣能夠重啟

[grid@qs-oradb1 ~]$ srvctl stop database -d kdedi

[grid@qs-oradb1 ~]$ srvctl start database -d kdedi

[grid@qs-oradb1 ~]$ 

2 處理過程

20:56:25 sys@XXX> alter tablespace test1 offline;

Tablespace altered.

20:56:59 sys@XXX>exec dbms_file_transfer.copy_file('TEST1','test1.dbf','TEST2','test1.dbf');

PL/SQL procedure successfully completed.

20:57:09 sys@XXX> alter database rename file '/home/oracle/test1.dbf' to '+XXX_DATA/XXX/datafile/test1.dbf';

Database altered.

20:57:39 sys@XXX> alter tablespace test1 online;

Tablespace altered.

3、備注

以上遷移數(shù)據(jù)文件時是采用 dbms_file_transfer.copy_file遷移數(shù)據(jù)文件的方法,也可以使用RMAN來做:

SQL>select tablespace_name,file_name,status,online_status from

dba_data_files;

需要對表空間進行OFFLINE

登錄RMAN,

 RMAN> sql "alter tablespace test1 offline";

  RMAN> copy datafile '/home/oracle/test1.dbf' to

'+DG/rac10g/datafile/test1.dbf';

SQL> alter database rename file '/home/oracle/test1.dbf' to

'+DG/rac10g/datafile/test1.dbf';

SQL> alter tablespace test1 online;

附:刪除數(shù)據(jù)文件的別名:

[grid@qs-oradb1 ~]$ asmcmd

ASMCMD> ls -l

State    Type    Rebal  Name

MOUNTED  EXTERN  N      ARCH/

MOUNTED  EXTERN  N      DG_GRID/

MOUNTED  EXTERN  N      FBFJ_DATA/

MOUNTED  EXTERN  N      KDEDI_DATA/

切到對應(yīng)的目錄下:

ASMCMD> cd +KDEDI_DATA/kdedi/datafile

ASMCMD> rm test1.dbf

“RAC中誤將數(shù)據(jù)文件創(chuàng)建在本地盤時的修正方法是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

rac
AI