作者:佚名 來(lái)源:不詳 發(fā)布時(shí)間:2004-6-16 13:58:00 發(fā)布人:admin
增大字體
---- ORACLE數據庫由數據文件,控制文件和聯(lián)機日志文件三種文件組成。由于磁盤(pán)空間的變化,或者基于數據庫磁盤(pán)I/O
性能的調整等,數據庫管理員可能會(huì )考慮移動(dòng)數據庫文件。下面以UNIX平臺為例,分別討論三種數據庫文件的移動(dòng)方法。
---- 一.移動(dòng)數據文件:
---- 可以用ALTER DATABASE,ALTER TABLESPACE兩種方法移動(dòng)數據文件。
---- 1. ALTER DATABASE方法;
---- 用此方法,可以移動(dòng)任何表空間的數據文件。
---- STEP 1. 下數據庫:
$ svrmgrl
SVRMGR > CONNECT INTERNAL;
SVRMGR > SHUTDOWN;
SVRMGR > EXIT;
---- STEP 2.用操作系統命令移動(dòng)數據文件:
---- 將數據文件 ‘a(chǎn)pp1_data.ora‘ 從/ora/oracle7/data1目錄移動(dòng)到/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. 打開(kāi)數據庫:.
SVRMGR > ALTER DATABASE OPEN;
SVRMGR >SELECT NAME,STATUS FROM V$DATAFILE;
---- 2. ALTER TABLESPACE方法:
---- 用此方法,要求此數據文件既不屬于SYSTEM表空間,也不屬于含有ACTIVE回滾段或臨時(shí)段的表空間。
---- STEP1. 將此數據文件所在的表空間OFFLINE:
$ svrmgrl
SVRMGR > CONNECT INTERNAL;
SVRMGR > ALTER TABLESPACE app1_data OFFLINE;
SVRMGR > EXIT;
STEP2. 用操作系統命令移動(dòng)數據文件:
將數據文件 ‘a(chǎn)pp1_data.ora‘ 從/ora/oracle7/
data1目錄移動(dòng)到/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;
---- 二. 移動(dòng)控制文件:
---- 控制文件 在 INIT.ORA文件中指定。移動(dòng)控制文件相對比較簡(jiǎn)單,下數據庫,編輯INIT.ORA,移動(dòng)控制文件,重啟動(dòng)
數據庫。
STEP 1. 下數據庫:
$ svrmgrl
SVRMGR > CONNECT INTERNAL;
SVRMGR > SHUTDOWN;
SVRMGR > EXIT;
STEP 2.用操作系統命令 移動(dòng)控制文件:
將控制文件‘ctl3orcl.ora‘ 從/ora/oracle7
/data1目錄移動(dòng)到/ora/oracle7/data2目錄下:
$ mv /ora/oracle7/data 1/ctrl3orcl.ora
/ora/oracle7/data2
STEP 3. 編輯INIT.ORA文件:
INIT.ORA文件的在$ORACLE_HOME/dbs目錄下,
修改參數 "control_files",其中指定移動(dòng)后的控制文件:
control_files = (/ora/oracle7/data 1/ctrl1orcl.ora,
/ora/oracle7/data1/ctrl2orcl.ora,
/ora/oracle7/data2/ctrl3orcl.ora)
STEP 4. 重啟動(dòng)數據庫:
$ svrmgrl
SVRMGR > CONNECT INTERNAL;
SVRMGR > STARTUP;
SVRMGR >SELECT name FROM V$CONTROLFILE;
SVRMGR > EXIT;
---- 三. 移動(dòng)聯(lián)機日志文件:
STEP 1. 停數據庫:
$ svrmgrl
SVRMGR > CONNECT INTERNAL;
SVRMGR > SHUTDOWN;
SVRMGR > EXIT;
STEP 2. 用操作系統命令移動(dòng)聯(lián)機日志文件:
將聯(lián)機日志文件‘redolog1.ora‘ 從/ora/oracle7
/data1目錄移動(dòng)到/ora/oracle7/data2目錄下:
$ mv /ora/oracle7/data 1/redolog1.ora
/ora/oracle7/data2
STEP 3. Mount數據庫,用ALTER DATABASE
命令改聯(lián)機日志文件名:.
$ 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.重啟動(dòng)數據庫: .
SVRMGR > ALTER DATABASE OPEN;
SVRMGR >SELECT MEMBER FROM V$LOGFILE;