在Oracle數(shù)據(jù)庫中移動數(shù)據(jù)文件的具體方法
一.移動數(shù)據(jù)文件:
– 可以用ALTER DATABASE,ALTER TABLESPACE兩種方法移動數(shù)據(jù)文件。
1. ALTER DATABASE方法;
– 用此方法,可以移動任何表空間的數(shù)據(jù)文件。
◆STEP 1. 下數(shù)據(jù)庫:
$ sqlplus /nolog
SQL> CONNECT INTERNAL;
SQL> SHUTDOWN;
SQL> EXIT;
◆STEP 2.用操作系統(tǒng)命令移動數(shù)據(jù)文件:
– 將數(shù)據(jù)文件 ‘test.ora’ 從/ora/oracle/data1目錄移動到/ora/oracle/data2目錄下:
$ mv /ora/oracle/data1/test.ora /ora/oracle/data2
◆STEP 3. Mount數(shù)據(jù)庫,用ALTER DATABASE命令將數(shù)據(jù)文件改名:
$ 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. 打開數(shù)據(jù)庫:.
SQL> ALTER DATABASE OPEN;
SQL>SELECT NAME,STATUS FROM V$DATAFILE;
2. ALTER TABLESPACE方法:
– 用此方法,要求此數(shù)據(jù)文件既不屬于SYSTEM表空間,也不屬于含有ACTIVE回滾段或臨時段的表空間。
◆STEP1. 將此數(shù)據(jù)文件所在的表空間OFFLINE:
$ sqlplus /nolog
SQL> CONNECT INTERNAL;
SQL> ALTER TABLESPACE test OFFLINE;
SQL> EXIT;
◆STEP2. 用操作系統(tǒng)命令移動數(shù)據(jù)文件:
將數(shù)據(jù)文件 ‘test.ora’ 從/ora/oracle/
data1目錄移動到/ora/oracle/data2目錄下:
$ mv /ora/oracle/data1/test.ora /ora/oracle/data2
◆STEP3. 用ALTER TABLESPACE命令改數(shù)據(jù)文件名:
$ sqlplus /nolog
SQL> CONNECT INTERNAL;
SQL> ALTER TABLESPACE test RENAME DATAFILE ‘/ora/oracle/data1/test.ora’ TO ‘/ora/oracle/data2/test.ora’;
◆STEP4. 將此數(shù)據(jù)文件所在的表空間ONLINE:
SQL> ALTER TABLESPACE test ONLINE;
SQL> SELECT NAME,STATUS FROM V$DATAFILE;
二. 移動控制文件:
– 控制文件 在 INIT.ORA文件中指定。移動控制文件相對比較簡單,下數(shù)據(jù)庫,
– 編輯INIT.ORA,移動控制文件,重啟動數(shù)據(jù)庫。
◆STEP 1. 下數(shù)據(jù)庫:
$ sqlplus /nolog
SQL> CONNECT INTERNAL;
SQL> SHUTDOWN;
SQL> EXIT;
◆STEP 2.用操作系統(tǒng)命令 移動控制文件:
–將控制文件’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目錄下,
修改參數(shù) “control_files”,其中指定移動后的控制文件:
control_files = (/ora/oracle/data1/ctrlorcl1.ora,/ora/oracle/data1/ctrlorcl2.ora,/ora/oracle/data2/ctrlorcl3.ora)
◆STEP 4. 重啟動數(shù)據(jù)庫:
$ sqlplus /nolog
SQL> CONNECT INTERNAL;
SQL> STARTUP;
SQL>SELECT name FROM V$CONTROLFILE;
SQL> EXIT;
三. 移動聯(lián)機日志文件:
◆STEP 1. 停數(shù)據(jù)庫:
$ sqlplus /nolog
SQL> CONNECT INTERNAL;
SQL> SHUTDOWN;
SQL> EXIT;
◆STEP 2. 用操作系統(tǒng)命令移動聯(lián)機日志文件:
–將聯(lián)機日志文件’redolog1.ora’ 從/ora/oracle/data1目錄移動到/ora/oracle/data2目錄下:
$ mv /ora/oracle/data1/redolog1.ora /ora/oracle/data2
◆STEP 3. Mount數(shù)據(jù)庫,用ALTER DATABASE 命令改聯(lián)機日志文件名:.
$ 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.重啟動數(shù)據(jù)庫: .
SQL> ALTER DATABASE OPEN;
SQL>SELECT MEMBER FROM V$LOGFILE;
