您好,登錄后才能下訂單哦!
本篇內(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ì)量的實用文章!
免責(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)容。