二、操作过程
? ? 本次操作对象为非系统表空间,环境rhel6.3_x64+Oracle RAC11g
?1、 RAC为归档模式,不停库,通过Oracle11g asmcmd 中cp命令,操作。
? ? 首先模拟环境:
SQL> create tablespace firsoul datafile 'firsoul01.dbf' size 10m;
Tablespace created.
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
+DATA/racdb/datafile/system.293.859438573
………………………………
/oracle/app/oracle/product/11.2.0/dbs/firsoul01.dbf
?
节点1,查看数据文件状态、信息
SQL> set lines 150? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
SQL> col file_name for a55? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
SQL> select file_name,file_id,ONLINE_STATUS,tablespace_name from dba_data_files;? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
FILE_NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? FILE_ID ONLINE_ TABLESPACE_NAME? ?
-------------------------------------------------------------- ------- ----------------?
+DATA/racdb/datafile/system.293.859438573? ? ? ? ? ? ? ? ? ? 1 SYSTEM? SYSTEM? ? ? ? ? ?
+DATA/racdb/datafile/sysaux.288.859438589? ? ? ? ? ? ? ? ? ? 2 ONLINE? SYSAUX? ? ? ? ? ?
+DATA/racdb/datafile/undotbs1.287.859438601? ? ? ? ? ? ? ? ? 3 ONLINE? UNDOTBS1? ? ? ? ?
+DATA/racdb/datafile/undotbs2.285.859438615? ? ? ? ? ? ? ? ? 4 ONLINE? UNDOTBS2? ? ? ? ?
+DATA/racdb/datafile/users.278.859438619? ? ? ? ? ? ? ? ? ? 5 ONLINE? USERS? ? ? ? ? ? ?
+DATA/racdb/datafile/test1.261.859451689? ? ? ? ? ? ? ? ? ? 6 ONLINE? TEST1? ? ? ? ? ? ?
/oracle/app/oracle/product/11.2.0/dbs/firsoul01.dbf? ? ? ? 11 ONLINE? FIRSOUL? ? ? ? ? ?
?
节点2,查看数据文件状态,信息
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 11 - see DBWR trace file
ORA-01110: data file 11: '/oracle/app/oracle/product/11.2.0/dbs/firsoul01.dbf '
?
将本地数据文件OFFLINE,或可以将整个表空间OFFLINE
SQL> alter database datafile 11 offline;
Database altered.
?
通过ASMCMD CP命令拷贝数据文件
ASMCMD> cp /oracle/app/oracle/product/11.2.0/dbs/firsoul01.dbf .
copying /oracle/app/oracle/product/11.2.0/dbs/firsoul01.dbf -> +data/racdb/datafile/firsoul01.dbf
ASMCMD> ls -lrt
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'
Type? ? ? Redund? Striped? Time? ? ? ? ? ? Sys? Name
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? N? ? firsoul01.dbf => +DATA/ASM/DATAFILE/firsoul01.dbf.260.882071123
DATAFILE? UNPROT? COARSE? JUN 11 09:00:00? Y? ? SYSAUX.288.859438589
DATAFILE? UNPROT? COARSE? JUN 11 09:00:00? Y? ? SYSTEM.293.859438573
DATAFILE? UNPROT? COARSE? JUN 11 09:00:00? Y? ? TEST1.261.859451689
DATAFILE? UNPROT? COARSE? JUN 11 09:00:00? Y? ? UNDOTBS1.287.859438601
DATAFILE? UNPROT? COARSE? JUN 11 09:00:00? Y? ? UNDOTBS2.285.859438615
DATAFILE? UNPROT? COARSE? JUN 11 09:00:00? Y? ? USERS.278.859438619
?
rename数据文件,并查看信息
SQL> alter database rename file '/oracle/app/oracle/product/11.2.0/dbs/firsoul01.dbf' to '+data/racdb/datafile/firsoul01.dbf';?
Database altered.
?SQL> select file_name,file_id,ONLINE_STATUS,tablespace_name from dba_data_files
? 2? ;
FILE_NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? FILE_ID ONLINE_ TABLESPACE_NAME
------------------------------------------------------- ---------- ------- ------------------------------
+DATA/racdb/datafile/system.293.859438573? ? ? ? ? ? ? ? ? ? ? ? 1 SYSTEM? SYSTEM
+DATA/racdb/datafile/sysaux.288.859438589? ? ? ? ? ? ? ? ? ? ? ? 2 ONLINE? SYSAUX
……………………
+DATA/racdb/datafile/firsoul01.dbf? ? ? ? ? ? ? ? ? ? ? ? ? ? ?