在ORACLE中移動資料庫檔案

來源:互聯網
上載者:User

---轉載
在ORACLE中移動資料庫檔案 大全

在ORACLE中移動資料庫檔案

--ORACLE資料庫由資料檔案,控制檔案和聯機記錄檔三種檔案組成。
--由於磁碟空間的變化,或者基於資料庫磁碟I/O效能的調整等,
--我們可能會考慮移動資料庫檔案。
--下面以LUNIX平台為例,分別討論三種資料庫檔案的移動方法。

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.