一.移动数据文件:
可以用ALTER DATABASE,ALTER TABLESPACE两种方法移动数据文件。
1. ALTER DATABASE
方法一:用此方法,可以移动任何表空间的数据文件。
step1:
关闭数据库
#sqlplus / as sysdba
SQL>shutdown immediate
step2:
用操作系统命令移动数据文件:
将数据文件‘test.ora’从/ora/Oracle/data1目录移动到/ora/oracle/data2目录下:
#mv /ora/oracle/data1/test.ora/ora/oracle/data2
step3:
Mount数据库,用ALTERDATABASE命令将数据文件改名:
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE RENAME FILE ‘/ora/oracle/data1/test.ora’ TO ‘/ora/oracle/data2/test.ora’;
step 4:
打开数据库
SQL> ALTER DATABASE OPEN;
SQL> SELECTNAME,STATUS FROM V$DATAFILE;
2. ALTER TABLESPACE
方法:用此方法,要求此数据文件既不属于SYSTEM表空间,也不属于含有ACTIVE回滚段或临时段的表空间。
step1:
将此数据文件所在的表空间OFFLINE:
#sqlplus / as sysdba
SQL> ALTER TABLESPACE test OFFLINE;
step2:
用操作系统命令移动数据文件:
将数据文件‘test.ora’ 从/ora/oracle/data1目录移动到/ora/oracle/data2目录下:
$ mv /ora/oracle/data1/test.ora/ora/oracle/data2
step3:
用ALTER TABLESPACE命令改数据文件名:
SQL> ALTER TABLESPACE test RENAME DATAFILE‘/ora/oracle/data1/test.ora’ TO ‘/ora/oracle/data2/test.ora’;
step4:
将此数据文件所在的表空间ONLINE:
SQL> ALTER TABLESPACE test ONLINE;
SQL> SELECT NAME,STATUS FROM V$DATAFILE;