在ORACLE中移動(dòng)數(shù)據(jù)庫(kù)文件 大全
在ORACLE中移動(dòng)數(shù)據(jù)庫(kù)文件 --ORACLE數(shù)據(jù)庫(kù)由數(shù)據(jù)文件,控制文件和聯(lián)機(jī)日志文件三種文件組成。 --由于磁盤空間的變化,或者基于數(shù)據(jù)庫(kù)磁盤I/O性能的調(diào)整等, --我們可能會(huì)考慮移動(dòng)數(shù)據(jù)庫(kù)文件。 --下面以LUNIX平臺(tái)為例,分別討論三種數(shù)據(jù)庫(kù)文件的移動(dòng)方法。 一.移動(dòng)數(shù)據(jù)文件: -- 可以用ALTER DATABASE,ALTER TABLESPACE兩種方法移動(dòng)數(shù)據(jù)文件。 1. ALTER DATABASE方法; -- 用此方法,可以移動(dòng)任何表空間的數(shù)據(jù)文件。 STEP 1. 下數(shù)據(jù)庫(kù): sqlplus /nolog SQL> CONNECT INTERNAL; SQL> SHUTDOWN; SQL> EXIT; STEP 2.用操作系統(tǒng)命令移動(dòng)數(shù)據(jù)文件: -- 將數(shù)據(jù)文件 ‘test.ora‘ 從/ora/oracle/data1目錄移動(dòng)到/ora/oracle/data2目錄下: mv /ora/oracle/data1/test.ora /ora/oracle/data2 STEP 3. Mount數(shù)據(jù)庫(kù),用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. 打開(kāi)數(shù)據(jù)庫(kù):. SQL> ALTER DATABASE OPEN; SQL>SELECT NAME,STATUS FROM VDATAFILE; 2. ALTER TABLESPACE方法: -- 用此方法,要求此數(shù)據(jù)文件既不屬于SYSTEM表空間,也不屬于含有ACTIVE回滾段或臨時(shí)段的表空間。 STEP1. 將此數(shù)據(jù)文件所在的表空間OFFLINE: sqlplus /nolog SQL> CONNECT INTERNAL; SQL> ALTER TABLESPACE test OFFLINE; SQL> EXIT; STEP2. 用操作系統(tǒng)命令移動(dòng)數(shù)據(jù)文件: 將數(shù)據(jù)文件 ‘test.ora‘ 從/ora/oracle/ data1目錄移動(dòng)到/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 VDATAFILE; 二. 移動(dòng)控制文件: -- 控制文件 在 INIT.ORA文件中指定。移動(dòng)控制文件相對(duì)比較簡(jiǎn)單,下數(shù)據(jù)庫(kù), -- 編輯INIT.ORA,移動(dòng)控制文件,重啟動(dòng)數(shù)據(jù)庫(kù)。 STEP 1. 下數(shù)據(jù)庫(kù): sqlplus /nolog SQL> CONNECT INTERNAL; SQL> SHUTDOWN; SQL> EXIT; STEP 2.用操作系統(tǒng)命令 移動(dòng)控制文件: --將控制文件‘ctl3orcl.ora‘ 從/ora/oracle/data1目錄移動(dòng)到/ora/oracle/data2目錄下: mv /ora/oracle/data1/ctrlorcl3.ora /ora/oracle/data2 STEP 3. 編輯INIT.ORA文件: INIT.ORA文件的在ORACLE_HOME/dbs目錄下, 修改參數(shù) "control_files",其中指定移動(dòng)后的控制文件: control_files = (/ora/oracle/data1/ctrlorcl1.ora,/ora/oracle/data1/ctrlorcl2.ora,/ora/oracle/data2/ctrlorcl3.ora) STEP 4. 重啟動(dòng)數(shù)據(jù)庫(kù): sqlplus /nolog SQL> CONNECT INTERNAL; SQL> STARTUP; SQL>SELECT name FROM VCONTROLFILE; SQL> EXIT; 三. 移動(dòng)聯(lián)機(jī)日志文件: STEP 1. 停數(shù)據(jù)庫(kù): sqlplus /nolog SQL> CONNECT INTERNAL; SQL> SHUTDOWN; SQL> EXIT; STEP 2. 用操作系統(tǒng)命令移動(dòng)聯(lián)機(jī)日志文件: --將聯(lián)機(jī)日志文件‘redolog1.ora‘ 從/ora/oracle/data1目錄移動(dòng)到/ora/oracle/data2目錄下: mv /ora/oracle/data1/redolog1.ora /ora/oracle/data2 STEP 3. Mount數(shù)據(jù)庫(kù),用ALTER DATABASE 命令改聯(lián)機(jī)日志文件名:. 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.重啟動(dòng)數(shù)據(jù)庫(kù): . SQL> ALTER DATABASE OPEN; SQL>SELECT MEMBER FROM VLOGFILE; |
|