在Oracle数据库中移动数据文件的具体方法

  一.移动数据文件:
  – 可以用ALTER DATABASE,ALTER TABLESPACE两种方法移动数据文件。
  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;
  二. 移动控制文件:
  – 控制文件 在 INIT.ORA文件中指定。移动控制文件相对比较简单,下数据库,
  – 编辑INIT.ORA,移动控制文件,重启动数据库。
  ◆STEP 1. 下数据库:
  $ sqlplus /nolog
  SQL> CONNECT INTERNAL;
  SQL> SHUTDOWN;
  SQL> EXIT;
  ◆STEP 2.用操作系统命令 移动控制文件:
  –将控制文件’ctl3orcl.ora’ 从/ora/oracle/data1目录移动到/ora/oracle/data2目录下:
  $ mv /ora/oracle/data1/ctrlorcl3.ora /ora/oracle/data2
  ◆STEP 3. 编辑INIT.ORA文件:
  INIT.ORA文件的在$ORACLE_HOME/dbs目录下,
  修改参数 “control_files”,其中指定移动后的控制文件:
  control_files = (/ora/oracle/data1/ctrlorcl1.ora,/ora/oracle/data1/ctrlorcl2.ora,/ora/oracle/data2/ctrlorcl3.ora)
  ◆STEP 4. 重启动数据库:
  $ sqlplus /nolog
  SQL> CONNECT INTERNAL;
  SQL> STARTUP;
  SQL>SELECT name FROM V$CONTROLFILE;
  SQL> EXIT;
  三. 移动联机日志文件:
  ◆STEP 1. 停数据库:
  $ sqlplus /nolog
  SQL> CONNECT INTERNAL;
  SQL> SHUTDOWN;
  SQL> EXIT;
  ◆STEP 2. 用操作系统命令移动联机日志文件:
  –将联机日志文件’redolog1.ora’ 从/ora/oracle/data1目录移动到/ora/oracle/data2目录下:
  $ mv /ora/oracle/data1/redolog1.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/redolog1.ora’ TO ‘/ora/oracle/data2/redolog1.ora’;
  ◆STEP 4.重启动数据库: .
  SQL> ALTER DATABASE OPEN;
  SQL>SELECT MEMBER FROM V$LOGFILE;