【RAC】RAC本地資料檔案遷移至ASM的方法(3)
目前在各個行業業務中存在大量的Oracle RAC環境,尤其對於中小型企業及一些管理不規範的環境中,對資料庫的操作也就顯得雜亂無章了,它不是核心系統,但有問題也夠運維人員喝一壺的。下面說一個常見的問題,就是在RAC環境中,往往會遇到本地資料檔案,也就是隻能在一個節點訪問,出現這樣的狀況,主要有兩個原因,命名不規範,造成Oracle自動建立到DBS目錄下,再個對RAC系統不瞭解,按照之前方式建立。那麼在出現這個問題時怎麼解決呢,下面我們簡單學習一下。
二、操作過程
本次操作物件為非系統表空間,環境rhel6.3_x64+Oracle RAC11g
1、 RAC為非歸檔模式,裸裝置遷移到ASM。不停庫,透過RMAN中copy命令,操作。
首先模擬環境,節點2操作:
SQL> alter tablespace firsoul add datafile '/dev/raw/raw9' size 40m;
Tablespace altered.
SQL> create table firsoul.test (id int,name varchar2(40));
Table created.
SQL> insert into firsoul.test values(1,'firsoul');
1 row created.
SQL> commit; SQL> col file_name for a50 SQL> col tablespace_name for a10 SQL> select file_name,file_id,ONLINE_STATUS,tablespace_name from dba_data_files;
FILE_NAME FILE_ID ONLINE_ TABLESPACE -------------------------------------------------- ---------- ------- ---------- +DATA/racdb/datafile/system.293.859438573 1 SYSTEM SYSTEM +DATA/racdb/datafile/sysaux.288.859438589 2 ONLINE SYSAUX …………………… +DATA/racdb/datafile/firsoul.259.882071697 7 ONLINE FIRSOUL /dev/raw/raw9 8 ONLINE FIRSOUL +DATA/racdb/datafile/firsoul01.dbf 11 ONLINE FIRSOUL |
節點1,檢視資料檔案狀態,資訊
SQL> set lines 200 SQL> col file_name for a50 SQL> col tablespace_name for a10 SQL> select file_name,file_id,ONLINE_STATUS,tablespace_name from dba_data_files; ERROR: ORA-01157: cannot identify/lock data file 8 - see DBWR trace file ORA-01110: data file 8: '/dev/raw/raw9' |
將需要變更資料檔案所屬表空間OFFLINE,非歸檔模式下單個資料檔案在資料庫OPEN狀態下無法OFFLINE。
SQL> alter database datafile 8 offline; alter database datafile 8 offline * ERROR at line 1:
ORA-01145: offline immediate disallowed unless media recovery
enabled
Tablespace altered. SQL> col file_name for a50 SQL> col tablespace_name for a10 SQL> select file_name,file_id,ONLINE_STATUS,tablespace_name from dba_data_files;
FILE_NAME FILE_ID ONLINE_ TABLESPACE -------------------------------------------------- ---------- ------- ---------- +DATA/racdb/datafile/system.293.859438573 1 SYSTEM SYSTEM …………………… +DATA/racdb/datafile/firsoul.259.882071697 7 OFFLINE FIRSOUL /dev/raw/raw9 8 OFFLINE FIRSOUL +DATA/racdb/datafile/firsoul01.dbf 11 OFFLINE FIRSOUL |
透過RMAN CP命令複製資料檔案
RMAN> copy datafile '/dev/raw/raw9' to '+DATA';
Starting backup at 2015-06-11 10:02:28 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=45 instance=racdb2 device type=DISK channel ORA_DISK_1: starting datafile copy input datafile file number=00008 name=/dev/raw/raw9 output file name=+DATA/racdb/datafile/firsoul.263.882093749 tag=TAG20150611T100229 RECID=2 STAMP=882093752 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03 Finished backup at 2015-06-11 10:02:32 |
rename資料檔案,並檢視資訊
SQL> alter database rename file '/dev/raw/raw9' to '+DATA/racdb/datafile/firsoul.263.882093749';
Database altered.
SQL> set lines 200 SQL> col file_name for a50 SQL> col tablespace_name for a10 SQL> select file_name,file_id,ONLINE_STATUS,tablespace_name from dba_data_files;
FILE_NAME FILE_ID ONLINE_ TABLESPACE -------------------------------------------------- ---------- ------- ---------- +DATA/racdb/datafile/system.293.859438573 1 SYSTEM SYSTEM ……………… +DATA/racdb/datafile/firsoul.259.882071697 7 OFFLINE FIRSOUL +DATA/racdb/datafile/firsoul.263.882093749 8 OFFLINE FIRSOUL +DATA/racdb/datafile/firsoul01.dbf 11 OFFLINE FIRSOUL |
我們可以看到,資料檔案已移植到ASM中,下面將offline表空間修改為online。
SQL> alter tablespace firsoul online;
Tablespace altered.
SQL> set lines 200 SQL> col file_name for a50 SQL> col tablespace_name for a10 SQL> select file_name,file_id,ONLINE_STATUS,tablespace_name from dba_data_files;
FILE_NAME FILE_ID ONLINE_ TABLESPACE -------------------------------------------------- ---------- ------- ---------- +DATA/racdb/datafile/system.293.859438573 1 SYSTEM SYSTEM …… +DATA/racdb/datafile/firsoul.259.882071697 7 ONLINE FIRSOUL +DATA/racdb/datafile/firsoul.263.882093749 8 ONLINE FIRSOUL +DATA/racdb/datafile/firsoul01.dbf 11 ONLINE FIRSOUL |
兩個節點檢視,都正常。
附:SYSTEM資料檔案移植步驟(過程說明):
1. Stop DB. |
三、 總結
在Oracle RAC操作過程中,我們更需要嚴謹,對於非系統表空間可以不用啟停資料庫,不過需要檢視資料庫系統是是否歸檔模式,資料庫版本,選擇更合理的遷移方式。對於系統資料檔案則需要資料庫為MOUNT狀態進行操作,並且其他恢復完成且需要其他節點例項重啟。Oracle11g ascmd中有cp命令,相對更簡單一點,在Oracle10g RAC方式下,需要透過rman copy命令進行檔案複製,總之,我們需要根據現場環境做出更合理的方式進行操作。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29487349/viewspace-1696511/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【RAC】RAC本地資料檔案遷移至ASM的方法(2)ASM
- 【RAC】RAC本地資料檔案遷移至ASM的方法(1)ASM
- oracle之 RAC本地資料檔案遷移至ASMOracleASM
- ASM下資料檔案遷移至不同磁碟組小記ASM
- 利用rman將本地資料檔案遷移到asmASM
- RAC環境下建立本地資料檔案的解決方法
- ORACLE RAC ASM資料檔案遷移OMF檔案報錯ORA-01276解決OracleASM
- 資料檔案遷移至其他磁碟組
- oracle10g單例項遷移至3節點RACOracle單例
- RAC資料庫將資料檔案建立在本地磁碟資料庫
- 更改RAC資料庫日誌檔案大小及數量 for ASM資料庫ASM
- RAC中誤將資料檔案建立在本地盤時的修正
- 遷移資料庫檔案到ASM資料庫ASM
- RAC(ASM)歸檔模式修改ASM模式
- RAC 11G ASM下修改spfile檔案ASM
- 【資料遷移】RMAN遷移資料庫到ASM(二)切換資料檔案到ASM資料庫ASM
- 【RAC】刪除RAC資料庫節點(二)——刪除ASM資料庫ASM
- 如何遷移ASM資料檔案到檔案系統ASM
- 把檔案系統的資料檔案遷移到ASM儲存ASM
- 為rac資料庫增加控制檔案資料庫
- RAC資料庫新增ASM磁碟組(1)資料庫ASM
- 資料庫從檔案系統轉移至ASM實驗記錄資料庫ASM
- 資料庫從檔案系統遷移到ASM資料庫ASM
- Oracle資料遷移至MySQLOracleMySql
- RMAN遷移資料庫(rac or single)資料庫
- oracle RAC中表空間資料檔案錯誤建立到了節點本地位置Oracle
- RMAN Duplicate Database From RAC ASM To RAC ASM [ID 461479.1]DatabaseASM
- 資料庫從檔案系統轉移至ASM實驗記錄[zt]資料庫ASM
- 【ASM】ASM資料檔案和OS檔案(FILESYSTEM)轉移方法總結ASM
- ASM 檔案與本地檔案的轉換ASM
- 將資料庫從ASM遷移到檔案系統資料庫ASM
- 將資料庫從檔案系統遷移到ASM資料庫ASM
- 12c複製 RAC ASM中的密碼檔案到檔案系統ASM密碼
- 11G Oracle RAC新增新表空間時資料檔案誤放置到本地檔案系統的修正Oracle
- rac 環境新增資料檔案誤新增到檔案系統,正確解決方法
- 資料庫遷移至+ASM中資料庫
- Oracle RAC遷移至南大通用GBase 8c 解決方案Oracle
- oracle RAC 更換儲存遷移資料Oracle