您好,登錄后才能下訂單哦!
由于服務(wù)器更換,或者硬盤損壞等問題,在有些場景下,我們需要對數(shù)據(jù)庫進(jìn)行遷移。
Oracle 數(shù)據(jù)庫有多種備份方式,如果可以停機(jī),建議最好使用冷備的方式,直接遷移數(shù)據(jù)文件,這樣效率會(huì)比較高。
由于兩臺(tái)主機(jī)都是Windows server,為了方便直接使用復(fù)制文件的方式,由于特殊原因,遷移前的數(shù)據(jù)目錄和遷移后的數(shù)據(jù)目錄是不一致的。直接遷移數(shù)據(jù)后,啟動(dòng)會(huì)報(bào)如下錯(cuò)誤:
SQL> startup ORACLE 例程已經(jīng)啟動(dòng)。 Total System Global Area 1071333376 bytes Fixed Size 1334380 bytes Variable Size 301990804 bytes Database Buffers 754974720 bytes Redo Buffers 13033472 bytes 數(shù)據(jù)庫裝載完畢。 ORA-01157: 無法標(biāo)識(shí)/鎖定數(shù)據(jù)文件 1 - 請參閱 DBWR 跟蹤文件 ORA-01110: 數(shù)據(jù)文件 1: 'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\SYSTEM01.DBF'
查看文件路徑:
SQL> select name from v$controlfile;
NAME --------------------------------------------------------- F:\APP\ADMINISTRATOR\ORADATA\AGRISK\CONTROL01.CTL F:\APP\ADMINISTRATOR\ORADATA\AGRISK\CONTROL02.CTL F:\APP\ADMINISTRATOR\ORADATA\AGRISK\CONTROL03.CTL
SQL> select name from v$datafile;
NAME --------------------------------------------------------- D:\APP\ADMINISTRATOR\ORADATA\AGRISK\SYSTEM01.DBF D:\APP\ADMINISTRATOR\ORADATA\AGRISK\SYSAUX01.DBF D:\APP\ADMINISTRATOR\ORADATA\AGRISK\UNDOTBS01.DBF D:\APP\ADMINISTRATOR\ORADATA\AGRISK\USERS01.DBF D:\APP\ADMINISTRATOR\ORADATA\AGRISK\AGRISK.DBF
SQL> select name from v$tempfile;
NAME --------------------------------------------------------- D:\APP\ADMINISTRATOR\ORADATA\AGRISK\TEMP01.DBF D:\APP\ADMINISTRATOR\ORADATA\AGRISK\AGRISK_TEMP.DBF
SQL> select member from v$logfile;
MEMBER --------------------------------------------------------- D:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO03.LOG D:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO02.LOG D:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO01.LOG
停止數(shù)據(jù)庫:
SQL> shutdown immediate;
將原主機(jī)上oradata目錄下實(shí)例的文件全部拷貝到遷移后的主機(jī)對應(yīng)目錄。然后在新的主機(jī)上以mount方式啟動(dòng)數(shù)據(jù)庫實(shí)例:
SQL> startup mount;
除了控制文件的路徑是正常的,其他的文件路徑都需要修改,將原來的錯(cuò)誤路徑D盤改為F盤:
SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\SYSTEM01.DBF' to 'F:\APP\ADMINISTRATOR\ORADATA\AGRISK\SYSTEM01.DBF'; 數(shù)據(jù)庫已更改。 SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\SYSAUX01.DBF' to 'F:\APP\ADMINISTRATOR\ORADATA\AGRISK\SYSAUX01.DBF'; 數(shù)據(jù)庫已更改。 SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\UNDOTBS01.DBF' to 'F:\APP\ADMINISTRATOR\ORADATA\AGRISK\UNDOTBS01.DBF'; 數(shù)據(jù)庫已更改。 SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\USERS01.DBF' to 'F:\APP\ADMINISTRATOR\ORADATA\AGRISK\USERS01.DBF'; 數(shù)據(jù)庫已更改。 SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\AGRISK.DBF' to 'F:\APP\ADMINISTRATOR\ORADATA\AGRISK\AGRISK.DBF'; 數(shù)據(jù)庫已更改。 SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\TEMP01.DBF' to 'F:\APP\ADMINISTRATOR\ORADATA\AGRISK\TEMP01.DBF'; 數(shù)據(jù)庫已更改。 SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\AGRISK_TEMP.DBF' to 'F:\APP\ADMINISTRATOR\ORADATA\AGRISK\AGRISK_TEMP.DBF'; 數(shù)據(jù)庫已更改。 SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO01.LOG' to 'F:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO01.LOG'; 數(shù)據(jù)庫已更改。 SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO02.LOG' to 'F:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO02.LOG'; 數(shù)據(jù)庫已更改。 SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO03.LOG' to 'F:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO03.LOG'; 數(shù)據(jù)庫已更改。
確認(rèn)修改成功后,啟動(dòng)數(shù)據(jù)庫:
SQL> alter database open; 數(shù)據(jù)庫已更改。
重啟數(shù)據(jù)庫:
SQL> shutdown immediate; 數(shù)據(jù)庫已經(jīng)關(guān)閉。 已經(jīng)卸載數(shù)據(jù)庫。 ORACLE 例程已經(jīng)關(guān)閉。
SQL> startup ORACLE 例程已經(jīng)啟動(dòng)。 Total System Global Area 1071333376 bytes Fixed Size 1334380 bytes Variable Size 301990804 bytes Database Buffers 754974720 bytes Redo Buffers 13033472 bytes 數(shù)據(jù)庫裝載完畢。 數(shù)據(jù)庫已經(jīng)打開。
查看監(jiān)聽端口。如果沒有配置netca網(wǎng)絡(luò)監(jiān)聽端口,需要使用系統(tǒng)自帶的Net Cofiguration Assistant進(jìn)行配置。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。