国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

手工轉移數據庫Step By Step

2024-07-21 02:08:31
字體:
來源:轉載
供稿:網友


收集最實用的網頁特效代碼!


手工轉移數據庫step by step

 

author:kamus

mail:[email protected]

date:2004-1

 

有時候我們會遇到這樣的情況,現有的數據庫要從一個機器轉移到另外一個機器上,一般我們會使用導出,導入。但是如果數據庫的數據非常多,數據文件尺寸很大,那么在導出導入的過程就很可能會出現問題,并且漫長的過程也是我們無法容忍的。在這種情況下,我們可以簡單地使用操作系統的copy命令,直接進行數據庫的轉移。

以下示例均在redhat fedora core 1上的oracle9.2.0.1中操作,其它操作系統和oracle版本同樣適用。

假設我們的數據庫在服務器a上,$oracle_base是/oracle,$oracle_home是/oracle/product/9.2.0。現在我們要將此數據庫轉移到服務器b上,并且新的$oracle_base是/u01/oracle,$oracle_home是/u01/oracle/product/9.2.0。sid是oralinux。

操作步驟如下:

 

一.在服務器b上安裝oracle,安裝過程中不要創建數據庫。用戶的profile直接從服務器a上copy過來即可,注意需要修改原先的$oracle_home到現在的位置。

二.如果服務器a上的oracle使用的是spfile,那么根據此spfile創建pfile:

create pfile from spfile;

三.關閉服務器a上的數據庫,shutdown immediate。如果數據庫不允許關閉,那么可以使用聯機備份,這種情況數據庫必須處于archivelog模式,轉移的原理和允許關閉的情況一樣,此處不作討論。

四.備份服務器a上的所有數據文件,包括以下:

a)         所有的datafile(臨時文件可以不copy,比如temp01.dbf)

b)        所有的online redo log

c)        所有的archive redo log

d)        所有的control file

e)         $oracle_home/dbs/init<sid>.ora(此文件是在上面第二步中創建的)

f)         $oracle_home/dbs/orapw<sid>(這是password file)

g)        $oracle_home/network/listener.ora(這步可以省略,以后重新生成也可以)

h)        $oracle_base/admin/<sid>/下的所有目錄,一般是udump, cdump, bdump(這步可以省略,以后手工創建目錄也可以)

五.通過ftp或者別的工具將上述的備份文件,全部上傳到服務器b的相應目錄中。比如說原來在服務器a上$oracle_base/oradata/<sid>/system01.dbf,現在就上傳到服務器b上$oracle_base/oradata/<sid>/system01.dbf,保證目錄的邏輯結構一樣,實際上物理結構已經發生了變化(a上$oracle_base是/oracle,而b上是/u01/oracle)。其它的文件均作相同處理,如果服務器b上還沒有相應的目錄,那么就手工創建。

六.編輯上傳到服務器b上的init<sid>.ora文件,將其中涉及的目錄結構全部改為b中目前的目錄結構,比如本例中就是將/oracle改為/u01/oracle。

七.在服務器b上,sqlplus “/ as sysdba”,提示進入空閑進程。

八.根據修改過的pfile創建spfile,create spfile from pfile;

九.啟動數據庫到mount狀態,startup mount;

十.修改control file中所有數據文件的位置,可以通過spool生成所有的sql:

sql> alter database rename file '/oracle/oradata/oralinux/system01.dbf'

  2  to '/u01/oracle/oradata/oralinux/system01.dbf';

按照以上語法修改所有的數據文件位置。

十一.       此時數據庫已經可以使用了,alter database open;

十二.       將臨時文件添加到temp表空間中:

alter tablespace temp add tempfile ‘'/u01/oracle/oradata/oralinux/temp01.dbf’ size 20m;

十三.       還有一些后續工作,包括更新數據庫b上的監聽配置文件(其實可以不用管,因為9i的實例已經可以自動注冊到監聽程序上了,如果是先起監聽再起數據庫,那么立刻就會注冊,如果是先起數據庫再起監聽,那么會稍微有些延時才注冊),修改/etc/oratab文件,以能夠使用dbstart和dbshut腳本。

 

這樣數據庫就算完全轉移了,如果有什么問題,可以給我發郵件。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 仪征市| 射阳县| 青田县| 施秉县| 漠河县| 五家渠市| 潼关县| 高淳县| 宜章县| 铁岭县| 富平县| 汉阴县| 明溪县| 茶陵县| 资兴市| 柘荣县| 紫云| 会东县| 滦平县| 辰溪县| 石狮市| 康平县| 西和县| 龙口市| 巴中市| 永丰县| 衡阳县| 东明县| 若尔盖县| 临夏市| 丘北县| 库尔勒市| 富蕴县| 星座| 柞水县| 石城县| 祁门县| 三穗县| 万宁市| 买车| 耿马|