在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;