Oracle 9i 資料庫移動過程
來源:互聯網
上載者:User
oracle|過程|資料|資料庫
Oracle 9i 資料庫移動過程
作者:未知
資料庫移動,在項目實施過程中,經常會發生,對於有經驗的DBA來說,資料庫移動是十分容易。但對於一些只瞭解系統,對資料庫不是十分懂的人員來說,oracle的移動就不是那麼容量了。
例如當系統安裝完成以後,儲存空間擴容了,需要對原對ORACLE進行移動,需要進行資料移動。以前在ORACLE8I FOR WINDOWS 2000中是可以進行移動的。現在ORACLE9I FOR AIX 5L 的移動如何做呢???其實經對各種不同的平台,操作過程完全一樣。
一、複製移動資料檔案
1)、擷取資料庫相關資訊
首先要查看一下資料庫的檔案內容:
sqlplus “ / as sysdba”
? select * from v$datafile;
? select * from v$controlfile
? select * from v$logfile;
2)、行動裝置 App資料檔案
shutdown immediate關閉資料庫,拷貝資料檔案到另外一個目錄下。需要copy 的檔案有:
system01.dbf
indx01.dbf
temp01.dbf
users01.dbf
應用資料檔案
3)、 修改資料庫檔案的位置
啟動MOUNT模式
? startup mount;
? alter database rename file ‘\oracle\oradata\ocp ystem01.dbf' to ‘\oradata\ocp ystem01.dbf”
? alter database rename file ‘\oracle\oradata\ocp\indx01.dbf' to ‘\oradata\ocp\indx01.dbf';
注意只能變更移動的資料庫檔案,不包括控制檔案與記錄檔,TEMP檔案。
二. 移動控制檔案
(1)備份SPFILE中的內容:
再重新啟動資料庫:
? startup;
? create pfile='c:\init.ora' from spfile;
(2)修改init.ora檔案中的內容:
*.control_files='\oradata\ocp\control01.ctl','\oradata\ocp\control02.ctl','\oradata\ocp\control03.ctl'
變更已經複製的目錄位置。
Shutdown 資料庫
(3)將控制檔案複製過去,
將三個控制檔案移動到上面所修改的的目錄下。
(4) 倒入參數檔案
以init.ora參數方式啟動:
? startup pfile='\oracle\init.ora';
? create spfile from pfile='\oracle\init.ora';
? shutdown immediate;
? startup; 從spfile中進行啟動。
這樣控制檔案移動工作就結束了。
三、 重建或重定位LOG檔案
解決記錄檔的移動方式有兩種,一種是移動(RENAME方式)另一種是重新建立。
(1)移動LOG檔案
重新移動資料庫檔案與移動系統資料庫檔案是一樣的方法,只是要求資料庫必須是“startup mount”方式進行。
? startup mount
? alter database rename file ‘\oracle\oradata\oralog1.ora' to ‘\oradata\ocp\oralog1.dbf'
樣
(2)重建LOG檔案
先重建一個組GROUP ,並添加一個LOG檔案作為分頁檔。
ALTER DATABASE ADD LOGFILE GROUP 4 ('$HOME/ORADATA/u01/log4.rdo','$HOME/ORADATA/u02/log4.rdo') SIZE 1M;
然後再刪除其它的LOG組,要求必須保持有兩個LOG檔案組在系統中。
Alter database drop logfile member ‘\oracle\oradata\ocp\oralog01.ora'
四、重建系統監時(temp)檔案系統
在移動資料資料表空間時,TEMP檔案是不能被移動的,這裡要求可以進行重建一個TEMP資料表空間,並設定為系統預設的TEMP檔案系統。然後再冊除原來的TEMP資料表空間,達到移動資料表空間的過程。
> create temporary tablespace “temp02” tempfile ‘\oradata\ocp\temp02.dbf' size 500m extent management local uniform size 10m;
然後再刪除原來的TEMP檔案就可以了。
五、測試資料庫
進行重啟動ORACLE資料
$ sqlplus “/as sysdba”
? startup;
? show sga;
?