在ORACLE中移動資料庫檔案在(轉)

subid發表於2007-08-12
在ORACLE中移動資料庫檔案[@more@]---- ORACLE資料庫由資料檔案,控制檔案和聯機日誌檔案三種檔案組成。由於磁碟空間的變化,或者基於資料庫磁碟I/O效能的調整等,資料庫管理員可能會考慮移動資料庫檔案。下面以UNIX平臺為例,分別討論三種資料庫檔案的移動方法。

---- 一.移動資料檔案:

---- 可以用ALTER DATABASE,ALTER TABLESPACE兩種方法移動資料檔案。

---- 1. ALTER DATABASE方法;

---- 用此方法,可以移動任何表空間的資料檔案。

---- STEP 1. 下資料庫:

$ svrmgrl
SVRMGR > CONNECT INTERNAL;
SVRMGR > SHUTDOWN;
SVRMGR > EXIT;

---- STEP 2.用作業系統命令移動資料檔案:
---- 將資料檔案 'app1_data.ora' 從/ora/oracle7/data1目錄移動到/ora/oracle7/data2目錄下:

---- $ mv /ora/oracle7/data1/app1_data.ora /ora/oracle7/data2

---- STEP 3. Mount資料庫,用ALTER DATABASE命令將資料檔案改名:

---- $ svrmgrl

SVRMGR > CONNECT INTERNAL;
SVRMGR > STARTUP MOUNT;
SVRMGR > ALTER DATABASE RENAME FILE
2 > '/ora/oracle7/data1/app1_data.ora ' TO
3 > '/ora/oracle7/data2/app1_data.ora;

STEP 4. 開啟資料庫:.
SVRMGR > ALTER DATABASE OPEN;
SVRMGR >SELECT NAME,STATUS FROM V$DATAFILE;

---- 2. ALTER TABLESPACE方法:
---- 用此方法,要求此資料檔案既不屬於SYSTEM表空間,也不屬於含有ACTIVE回滾段或臨時段的表空間。

---- STEP1. 將此資料檔案所在的表空間OFFLINE:

$ svrmgrl
SVRMGR > CONNECT INTERNAL;
SVRMGR > ALTER TABLESPACE app1_data OFFLINE;
SVRMGR > EXIT;

STEP2. 用作業系統命令移動資料檔案:
將資料檔案 'app1_data.ora' 從/ora/oracle7/
data1目錄移動到/ora/oracle7/data2目錄下:
$ mv /ora/oracle7/data1/app1_data.ora /ora/oracle7/data2

STEP3. 用ALTER TABLESPACE命令改資料檔名:
$ svrmgrl
SVRMGR > CONNECT INTERNAL;
SVRMGR > ALTER TABLESPACE app1_data RENAME DATAFILE
2 > '/ora/oracle7/data 1/app1_data.ora' TO
3 > '/ora/oracle7/data2/app1_data.ora;

STEP4. 將此資料檔案所在的表空間ONLINE:
SVRMGR > ALTER TABLESPACE app1_data ONLINE;
SVRMGR > SELECT NAME,STATUS FROM V$DATAFILE;

---- 二. 移動控制檔案:

---- 控制檔案 在 INIT.ORA檔案中指定。移動控制檔案相對比較簡單,下資料庫,編輯INIT.ORA,移動控制檔案,重啟動資料庫。

STEP 1. 下資料庫:
$ svrmgrl
SVRMGR > CONNECT INTERNAL;
SVRMGR > SHUTDOWN;
SVRMGR > EXIT;

STEP 2.用作業系統命令 移動控制檔案:
將控制檔案'ctl3orcl.ora' 從/ora/oracle7
/data1目錄移動到/ora/oracle7/data2目錄下:
$ mv /ora/oracle7/data 1/ctrl3orcl.ora
/ora/oracle7/data2

STEP 3. 編輯INIT.ORA檔案:
INIT.ORA檔案的在$ORACLE_HOME/dbs目錄下,
修改引數 "control_files",其中指定移動後的控制檔案:
control_files = (/ora/oracle7/data 1/ctrl1orcl.ora,
/ora/oracle7/data1/ctrl2orcl.ora,
/ora/oracle7/data2/ctrl3orcl.ora)

STEP 4. 重啟動資料庫:
$ svrmgrl
SVRMGR > CONNECT INTERNAL;
SVRMGR > STARTUP;
SVRMGR >SELECT name FROM V$CONTROLFILE;
SVRMGR > EXIT;


---- 三. 移動聯機日誌檔案:
STEP 1. 停資料庫:
$ svrmgrl
SVRMGR > CONNECT INTERNAL;
SVRMGR > SHUTDOWN;
SVRMGR > EXIT;

STEP 2. 用作業系統命令移動聯機日誌檔案:
將聯機日誌檔案'redolog1.ora' 從/ora/oracle7
/data1目錄移動到/ora/oracle7/data2目錄下:
$ mv /ora/oracle7/data 1/redolog1.ora
/ora/oracle7/data2

STEP 3. Mount資料庫,用ALTER DATABASE
命令改聯機日誌檔名:.
$ svrmgrl
SVRMGR > CONNECT INTERNAL;
SVRMGR > STARTUP MOUNT CC1;
SVRMGR > ALTER DATABASE RENAME FILE
2 > '/ora/oracle7/data 1/redolog1.ora' TO
3 > '/ora/oracle7/data 2/redolog1.ora';

STEP 4.重啟動資料庫: .
SVRMGR > ALTER DATABASE OPEN;
SVRMGR >SELECT MEMBER FROM V$LOGFILE;

原作者:張勇
來源:中國動感技術網路


--------------------------------------------------------------------------------

■ 點選此處發表您的看法
■ 將本文推薦給朋友 【歡迎投稿】【關閉視窗】


 熱門精選  奧索推薦
中文2000(Linux版)打破微軟壟斷神話 (閱867次)
用DOS命令破除UNIX管理員口令 (閱583次)
一分鐘搞定Windows下的PHP安裝 (閱540次)
天才博士驚世之作,開放原始碼功不可沒 (閱530次)
3種平臺安裝php4 (閱337次)
JavaScript概況 (12篇)
JavaScript視窗功能指南之建立對話方塊 (11篇)
動態屬性 (10篇)
HTML 元件 (10篇)
我的論壇原始碼 (10篇)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10796304/viewspace-952516/,如需轉載,請註明出處,否則將追究法律責任。

相關文章