rac庫資料檔案建立在os本地的解決辦法

2021-09-19 17:40:13 字數 3242 閱讀 6140

按照影響程度大小,方案a需要down庫,方案b需要offline tablespace,方案c只需offline datafile即可。綜合來看,下面的testcase_c_2的方法來的最簡單。影響也最小。

方案a:

testcase_a_1: (用asm的cp)

srvctl stop database -d ora11g

asmcmd> cp /tmp/test.dbf test01.dbf

sql> startup mount

sql> alter database rename file '/tmp/test.dbf' to '+data/ora11g/datafile/test01.dbf';

sql> alter database open;

srvctl stop instance -d ora11g -i ora11g1

srvctl start database -d ora11g

testcase_a_2_a:(用rman的backup as copy)

srvctl stop database -d ora11g

rman> startup mount

rman> backup as copy datafile 7 format '+data';

rman> switch datafile 7 to copy;

sql> alter database open;

srvctl stop instance -d ora11g -i ora11g1

srvctl start database -d ora11g

testcase_a_2_b:(用rman的copy)

srvctl stop database -d ora11g

rman> startup mount

rman> copy datafile 7 to '+data';

rman> switch datafile 7 to copy;

rman> alter database open;

srvctl stop instance -d ora11g -i ora11g1

srvctl start database -d ora11g

testcase_a_2_c:(用rman的copy+sqlplus的rename)

srvctl stop database -d ora11g

rman> startup mount

rman> copy datafile 7 to '+data';

sql> alter database rename file '/tmp/test.dbf' to '+data/ora11g/datafile/test.272.921855725';

sql> alter database open;

srvctl stop instance -d ora11g -i ora11g1

srvctl start database -d ora11g

方案b:

testcase_b_1(用asm的cp)

sql> alter tablespace test offline;

asmcmd> cp /tmp/test.dbf test.dbf

sql> alter database rename file '/tmp/test.dbf' to '+data/ora11g/datafile/test.dbf';

sql> alter tablespace test online;

testcase_b_2: (用rman的copy)

sql> alter tablespace test offline;

rman> copy datafile 7 to '+data';

rman> switch datafile 7 to copy;

sql> alter tablespace test online;

方案c:

testcase_c_1:(用create datafile as)

sql> alter database datafile 7 offline;

sql> alter database create datafile '/tmp/test.dbf' as '+data';

sql> recover datafile 7;

auto

sql> alter database datafile 7 online;

testcase_c_2:(用rman的copy)

sql> alter database datafile 7 offline;

rman> copy datafile 7 to '+data';

rman> switch datafile 7 to copy;

rman> recover datafile 7;

sql> alter database datafile 7 online;

(具體的測試日誌,見附件)

另外,郵件中方案c提到的,offline drop的方式,還是不建議採用,因為offline drop只是標記了一下資料檔案,在控制檔案中,還是會看到這個檔案的資訊。除非重建控制檔案或者drop整個tablespace。

另外,recover datafile的時候,不建議使用sql> alter database recover datafile 7。因為會掛住。

sql> alter database recover datafile 7;

alter database recover datafile 7

*error at line 1:

ora-00279: change 4025242 generated at 09/06/2016 15:28:47 needed for thread 1

ora-00289: suggestion :

+fra/ora11g/archivelog/2016_09_06/thread_1_seq_669.669.921857351

ora-00280: change 4025242 for thread 1 is in sequence #669

建議使用:

recover datafile xx,然後指定auto

用rman的recover datafile xx

在sqlplus中set autorecovery on之後,再alter database recover datafile xx

alter database recover automatic datafile ***

移動建立在本地的資料檔案到磁碟中

新為客戶部署了rac環境,但是客戶不懂rac,增加資料檔案的時候把資料檔案建立在了本地,導致某乙個節點不可訪問資料庫的問題,下面就是處理步驟 1,備份資料檔案 rman backup datafile 45 format home oracle example u ramn backup dataf...

mysql 載入本地資料檔案

和資料檔案 create table pet name varchar 20 owner varchar 20 species varchar 20 char 1 birth date,death date hadoop master cat datafile.txt fluffy harold c...

單資料庫rac模式下表空間資料檔案增加

表空間使用情況查詢 set pages 999 set linesize 999 select a.tablespace name 表空間名稱 100 round nvlsql sql 2 b.bytes free,0 a.bytes alloc 100,2 佔用率 round a.bytes al...