一.移動資料檔案:
可以用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;