一、系統(tǒng)環(huán)境:
操作系統(tǒng):winXP
數(shù)據(jù)庫(kù)版本: 9.2.0.1.0
數(shù)據(jù)庫(kù)SID:test
數(shù)據(jù)庫(kù)為非歸檔模式
二、遷移過程
原數(shù)據(jù)庫(kù)數(shù)據(jù)文件位置:C:\oracle\oradata\test
目標(biāo)數(shù)據(jù)庫(kù)數(shù)據(jù)文件位置:D:\Software\oradata\test
原來數(shù)據(jù)文件位置
'C:\ORACLE\ORADATA\TEST\SYSTEM01.DBF',
'C:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF',
'C:\ORACLE\ORADATA\TEST\CWMLITE01.DBF',
'C:\ORACLE\ORADATA\TEST\DRSYS01.DBF',
'C:\ORACLE\ORADATA\TEST\EXAMPLE01.DBF',
'C:\ORACLE\ORADATA\TEST\INDX01.DBF',
'C:\ORACLE\ORADATA\TEST\ODM01.DBF',
'C:\ORACLE\ORADATA\TEST\TOOLS01.DBF',
'C:\ORACLE\ORADATA\TEST\USERS01.DBF',
'C:\ORACLE\ORADATA\TEST\XDB01.DBF'
因?yàn)樾枰苿?dòng)所有的數(shù)據(jù)文件,所以采用alter database方法
1、 首先shutdown數(shù)據(jù)庫(kù)
SQL> shutdown immediate 數(shù)據(jù)庫(kù)已經(jīng)關(guān)閉。 已經(jīng)卸載數(shù)據(jù)庫(kù)。 ORACLE 例程已經(jīng)關(guān)閉。 |
2、 使用系統(tǒng)命令復(fù)制粘貼到指定目錄
copy C:\oracle\oradata\test\* D:\Software\oradata\test\*
3、 啟動(dòng)數(shù)據(jù)庫(kù)到mount狀態(tài),更改數(shù)據(jù)文件的位置
SQL> startup mount ORACLE 例程已經(jīng)啟動(dòng)。 Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes 數(shù)據(jù)庫(kù)裝載完畢。 SQL> |
alter database rename file 'C:\ORACLE\ORADATA\TEST\SYSTEM01.DBF',
'C:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF',
'C:\ORACLE\ORADATA\TEST\CWMLITE01.DBF',
'C:\ORACLE\ORADATA\TEST\DRSYS01.DBF',
'C:\ORACLE\ORADATA\TEST\EXAMPLE01.DBF',
'C:\ORACLE\ORADATA\TEST\INDX01.DBF',
'C:\ORACLE\ORADATA\TEST\ODM01.DBF',
'C:\ORACLE\ORADATA\TEST\TOOLS01.DBF',
'C:\ORACLE\ORADATA\TEST\USERS01.DBF',
'C:\ORACLE\ORADATA\TEST\XDB01.DBF' to
'D:\Software\oradata\test\SYSTEM01.DBF',
'D:\Software\oradata\test\UNDOTBS01.DBF',
'D:\Software\oradata\test\CWMLITE01.DBF',
'D:\Software\oradata\test\DRSYS01.DBF',
'D:\Software\oradata\test\EXAMPLE01.DBF',
'D:\Software\oradata\test\INDX01.DBF',
'D:\Software\oradata\test\ODM01.DBF',
'D:\Software\oradata\test\TOOLS01.DBF',
'D:\Software\oradata\test\USERS01.DBF',
'D:\Software\oradata\test\XDB01.DBF'
然后打開數(shù)據(jù)庫(kù)
SQL> alter database open;
數(shù)據(jù)庫(kù)已更改。
SQL> select name from v$datafile;
NAME
-----------------------------------------------
D:\SOFTWARE\ORADATA\TEST\SYSTEM01.DBF
D:\SOFTWARE\ORADATA\TEST\UNDOTBS01.DBF
D:\SOFTWARE\ORADATA\TEST\CWMLITE01.DBF
D:\SOFTWARE\ORADATA\TEST\DRSYS01.DBF
D:\SOFTWARE\ORADATA\TEST\EXAMPLE01.DBF
D:\SOFTWARE\ORADATA\TEST\INDX01.DBF
D:\SOFTWARE\ORADATA\TEST\ODM01.DBF
D:\SOFTWARE\ORADATA\TEST\TOOLS01.DBF
D:\SOFTWARE\ORADATA\TEST\USERS01.DBF
D:\SOFTWARE\ORADATA\TEST\XDB01.DBF
已選擇10行。
4、 更改聯(lián)機(jī)日志文件
關(guān)閉數(shù)據(jù)庫(kù):shutdown immediate
alter alter database rename file 'C:\ORACLE\ORADATA\TEST\REDO01.LOG',
'C:\ORACLE\ORADATA\TEST\REDO02.LOG',
'C:\ORACLE\ORADATA\TEST\REDO03.LOG' to
'D:\Software\oradata\test\REDO01.LOG',
'D:\Software\oradata\test\REDO02.LOG',
'D:\Software\oradata\test\REDO03.LOG'
數(shù)據(jù)庫(kù)已更改。
5、 修改inittest.ora里面的控制文件路徑,inittest.ora文件是用create pfile from spfile創(chuàng)建的,目錄在%ORACLE_HOME%\database下:
l 先關(guān)閉數(shù)據(jù)庫(kù):shutdown immediate
l copy 控制文件到新目錄中
l 啟動(dòng)到nomount狀態(tài),因?yàn)檫@時(shí)候沒有打開控制文件,不會(huì)造成控制文件不一致情況:startup nomount
l 創(chuàng)建pfile:create pfile from spfile
l 修改文件里面的控制文件信息
control_files='D:\Software\oradata\test\CONTROL01.CTL','D:\Software\oradata\test \CONTROL02.CTL',' D:\Software\oradata\test \CONTROL03.CTL'
l 修改后使用create spfile from pfile使修改后的文件生效
alter database mount看看能否打開控制文件
alter database open;打開數(shù)據(jù)庫(kù)
6、 臨時(shí)文件的移動(dòng)
由于控制文件不記錄臨時(shí)文件的信息,所以不能使用alter database rename file命令完成,只能刪除掉原來的再建立一個(gè)
SQL> create temporary tablespace temp02 tempfile 'd:\software\oradata\test\temp0
2.dbf' size 40M autoextend on extent management local uniform size 1M
SQL> alter database default temporary tablespace temp02;
SQL> drop tablespace temp including contents and datafiles;
表空間已丟棄。