11G Oracle RAC新增新表空間時資料檔案誤放置到本地檔案系統的修正
今天看了一篇文章說是誤將新建立的表空間的資料檔案放置在了本地系統而不是共享儲存上。
是Oracle的中文技術支援部落格題目是:RAC中誤將資料檔案建立在本地盤時的修正
於是我想11G 也相容這些操作的方法,但是11G的新特性有一點就是可以直接支援ASM檔案系統直接可以和本地檔案系統進行檔案的拷貝了,也就是有三種方法。
1. RMAN的 copy datafile 方式
2. dbms_file_transfer方式
3. ASMCMD中的直接cp方式了
分別演示三種方式:
RMAN
1)建立好本地開始的表空間
SQL> create tablespace andy datafile '/home/oracle/andy.dbf' size 100M;
Tablespace created.
2)檢視一下狀態
SQL> select name,status from v$datafile;
NAME
--------------------------------------------------------------------------------
STATUS
-------
+DATA/racdb/datafile/system.256.823634487
SYSTEM
+DATA/racdb/datafile/sysaux.257.823634489
ONLINE
+DATA/racdb/datafile/undotbs1.258.823634489
ONLINE
NAME
--------------------------------------------------------------------------------
STATUS
-------
+DATA/racdb/datafile/users.259.823634491
ONLINE
+DATA/racdb/datafile/example.264.823634653
ONLINE
+DATA/racdb/datafile/undotbs2.265.823634943
ONLINE
NAME
--------------------------------------------------------------------------------
STATUS
-------
+DATA/racdb/datafile/undotbs3.266.823634945
ONLINE
+DATA/racdb/datafile/andylhz.272.823709117
ONLINE
+DATA/racdb/datafile/archivedata.274.824748169
ONLINE
NAME
--------------------------------------------------------------------------------
STATUS
-------
+DATA/racdb/datafile/archivedata01.275.824749235
ONLINE
/home/oracle/andy.dbf
ONLINE
3)在本地表空間上建立表 andy01
SQL> create table andy01 tablespace andy as select * from dba_objects;
Table created.
4)在第二個例項上去建立表也放在andy這個表空間上,注意紅色字型部分,報告無法定位andy.dbf資料檔案
[oracle@racdb2 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Wed Feb 12 17:00:30 2014
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> conn / as sysdba
Connected.
SQL> create table andy02 tablespace andy as select * from dba_objects;
create table andy02 tablespace andy as select * from dba_objects
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 11 - see DBWR trace file
ORA-01110: data file 11: '/home/oracle/andy.dbf'
5)然後進行修正操作,先將andy表空間進行offline
然後進行RMAN 拷貝 在將資料檔案進行移動,online即可
SQL> alter database rename file '/home/oracle/andy.dbf' to '+data/racdb/datafile/andy.dbf';
第二種方式
1)先建立兩個目錄,offline表空間andy
SQL> create directory andy01 as '/home/oracle/';
Directory created.
SQL> create directory andy02 as '+data/racdb/datafile/';
Directory created.
SQL>
2)進行檔案傳輸
SQL> exec dbms_file_transfer.copy_file('andy01','andy.dbf','andy02','andy.dbf');
PL/SQL procedure successfully completed.
SQL>
進入asmcmd檢視一下
ASMCMD> pwd
+data/racdb/datafile
ASMCMD> ls
ANDYLHZ.272.823709117
ARCHIVEDATA.274.824748169
ARCHIVEDATA01.275.824749235
COPY_FILE.279.839351419
EXAMPLE.264.823634653
SYSAUX.257.823634489
SYSTEM.256.823634487
UNDOTBS1.258.823634489
UNDOTBS2.265.823634943
UNDOTBS3.266.823634945
USERS.259.823634491
andy.dbf
ASMCMD>
已經成功拷貝過去了
移動資料檔案,online資料檔案
SQL> alter database rename file '/home/oracle/andy.dbf' to '+data/racdb/datafile/andy.dbf';
Database altered.
SQL> alter tablespace andy online;
Tablespace altered.
第三種:通過grid使用者進入到asmcmd環境下然後直接進入到RAC環境下的資料檔案所在路徑因為是資料檔案建立在了oracle的家目錄下,grid沒有許可權讀取,所以使用root使用者將資料檔案移動到grid家目錄下同時變更權
[root@racdb1 grid]#mv andy.dbf /home/grid/
[root@racdb1 grid]#chown grid.asmadmin andy.dbf
[root@racdb1 grid]# su - grid
[grid@racdb1 ~]$ asmcmd
ASMCMD> cd data/racdb/datafile/
ASMCMD> ls
ANDYLHZ.272.823709117
ARCHIVEDATA.274.824748169
ARCHIVEDATA01.275.824749235
EXAMPLE.264.823634653
SYSAUX.257.823634489
SYSTEM.256.823634487
UNDOTBS1.258.823634489
UNDOTBS2.265.823634943
UNDOTBS3.266.823634945
USERS.259.823634491
ASMCMD> cp /home/grid/andy.dbf ./
copying /home/grid/andy.dbf -> +data/racdb/datafile/andy.dbf
ASMCMD> ls
ANDYLHZ.272.823709117
ARCHIVEDATA.274.824748169
ARCHIVEDATA01.275.824749235
EXAMPLE.264.823634653
SYSAUX.257.823634489
SYSTEM.256.823634487
UNDOTBS1.258.823634489
UNDOTBS2.265.823634943
UNDOTBS3.266.823634945
USERS.259.823634491
andy.dbf
ASMCMD>
移動資料檔案到共享儲存
SQL> alter database rename file '/home/oracle/andy.dbf' to '+data/racdb/datafile/andy.dbf';
Database altered.
SQL>
將資料檔案online。
驗證資料檔案狀態
SQL> select name,status from v$datafile;
NAME
--------------------------------------------------------------------------------
STATUS
-------
+DATA/racdb/datafile/system.256.823634487
SYSTEM
+DATA/racdb/datafile/sysaux.257.823634489
ONLINE
+DATA/racdb/datafile/undotbs1.258.823634489
ONLINE
NAME
--------------------------------------------------------------------------------
STATUS
-------
+DATA/racdb/datafile/users.259.823634491
ONLINE
+DATA/racdb/datafile/example.264.823634653
ONLINE
+DATA/racdb/datafile/undotbs2.265.823634943
ONLINE
NAME
--------------------------------------------------------------------------------
STATUS
-------
+DATA/racdb/datafile/undotbs3.266.823634945
ONLINE
+DATA/racdb/datafile/andylhz.272.823709117
ONLINE
+DATA/racdb/datafile/archivedata.274.824748169
ONLINE
NAME
--------------------------------------------------------------------------------
STATUS
-------
+DATA/racdb/datafile/archivedata01.275.824749235
ONLINE
+DATA/racdb/datafile/andy.dbf
ONLINE
11 rows selected.
from:
http://www.it165.net/database/html/201402/5218.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13750068/viewspace-1152030/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 移動資料檔案、系統表空間檔案、臨時表空間檔案
- 錯誤新增表空間的資料檔案
- RAC中誤將資料檔案建立在本地盤時的修正
- ORACLE RAC 裸裝置資料庫一節點表空間擴容錯誤新增資料檔案到本地的處理Oracle資料庫
- 誤刪oracle資料庫表空間檔案Oracle資料庫
- oracle誤刪除表空間的資料檔案Oracle
- 表空間新增資料檔案的疑惑
- Oracle 11g中Temp臨時表空間、檔案的新特性Oracle
- oracle RAC中表空間資料檔案錯誤建立到了節點本地位置Oracle
- Oracle系統表空間剛新增的一個資料檔案誤刪除恢復處理Oracle
- oracle rac on aix 下為表空間增加資料檔案OracleAI
- Oracle臨時表空間檢視、新增臨時表空間資料檔案、修改預設臨時表空間 方法!Oracle
- Oracle 表空間與資料檔案Oracle
- oracle 資料檔案表空間管理Oracle
- MySQL innodb共享表空間新增表空間資料檔案方法MySql
- rac 環境新增資料檔案誤新增到檔案系統,正確解決方法
- MySQL InnoDB系統表空間資料檔案配置MySql
- oracle 將表空間下的資料檔案從檔案系統遷移到ASM磁碟組OracleASM
- oracle 回收表空間的資料檔案大小Oracle
- oracle 表空間 資料檔案 筆記Oracle筆記
- Oracle 表空間資料檔案遷移Oracle
- 表空間&資料檔案和控制檔案(zt)
- ASM與檔案系統之間copy資料檔案--檔案系統到ASMASM
- 小測某Q友其應用人員不小心把RAC表空間tablespace資料檔案datafile建在本地檔案系統
- oracle 普通表空間資料檔案壞塊Oracle
- MySQL 系統表空間檔案解析MySql
- 【學習日記】oracle之表空間、資料檔案、控制檔案Oracle
- Oracle資料庫表空間的資料檔案大小上限。Oracle資料庫
- 透過xtts遷移單例項檔案系統表空間到RAC ASM儲存表空間TTS單例ASM
- 通過xtts遷移單例項檔案系統表空間到RAC ASM儲存表空間TTS單例ASM
- Oracle 表空間增加檔案Oracle
- 使用中undo表空間資料檔案被誤刪
- oracle 失誤刪掉資料檔案後,刪除表空間操作Oracle
- 表空間和資料檔案的管理
- 資料檔案,表空間的移動
- Oracle 11g 表空間的誤刪除, 當前的控制檔案不識別該表空間Oracle
- ORACLE表空間、資料檔案離線問題Oracle
- oracle基礎管理——表空間和資料檔案Oracle