1. ALTER DATABASE方法;
-- 此方法要求关闭数据库-- 用此方法,可以移动任何表空间的数据文件。
STEP 1. 下数据库:
$ sqlplus /nolog
SQL> CONNECT INTERNAL;
SQL> SHUTDOWN;
SQL> EXIT;
STEP 2.用操作系统命令移动数据文件:
-- 将数据文件 'test.ora' 从/ora/oracle/data1目录移动到/ora/oracle/data2目录下:
$ mv /ora/oracle/data1/test.ora /ora/oracle/data2
STEP 3. Mount数据库,用ALTER DATABASE命令将数据文件改名:
$ sqlplus /nolog
SQL> CONNECT INTERNAL;
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>SELECT NAME,STATUS FROM V$DATAFILE;
2. ALTER TABLESPACE方法:
-- 用此方法,要求此数据文件既不属于SYSTEM表空间,也不属于含有ACTIVE回滚段或临时段的表空间。-- 此方法的好处是不需要关闭数据库,仅需要将表空间设置为脱机即可
STEP1. 将此数据文件所在的表空间OFFLINE:
$ sqlplus /nolog
SQL> CONNECT INTERNAL;
SQL> ALTER TABLESPACE test OFFLINE;
SQL> EXIT;
STEP2. 用操作系统命令移动数据文件:
将数据文件 'test.ora' 从/ora/oracle/
data1目录移动到/ora/oracle/data2目录下:
$ mv /ora/oracle/data1/test.ora /ora/oracle/data2
STEP3. 用ALTER TABLESPACE命令改数据文件名:
$ sqlplus /nolog
SQL> CONNECT INTERNAL;
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;
本文介绍了两种Oracle数据库中数据文件的迁移方法:一种是通过关闭数据库使用ALTER DATABASE命令进行迁移,适用于所有表空间类型;另一种是在不关闭数据库的情况下,通过将表空间设置为脱机状态并使用ALTER TABLESPACE命令来实现数据文件的迁移。
165

被折叠的 条评论
为什么被折叠?



