精華區beta Database 關於我們 聯絡資訊
※ 引述《MugenPower (無限MUGEN)》之銘言: : ontrol file 裡面記錄了 file的info, database的name等等的 info : 直接COPY到另外一台就可以帶起來? 修改 control file 的方法: (1) startup nomount, alter database mount (不需再 alter database open, 剛才推文講錯) (2) 在 sysdba 下, ALTER DATABASE BACKUP CONTROLFILE TO TRACE (3) 在 log 目錄下最新產生的檔案中, 會包括一段 SQL 用以更新 control file (4) 修改此段 SQL 來設定路徑, 檔名, DB Name 等 (5) 執行修改後的 SQL, control file 即被更改完成 (6) alter database open : 那RMAN應該沒必要存在,Export這個utitlity也是沒用的東西 : Oracle Migration也不用那麼麻煩 直接 COPY 檔案就好? : 事實上並不是這種做法 用 import/export 等方法的好處是可把 export 出的結果再 import 其他的 Oracle 版本, 直接 copy datafile 主要是用在同個版本或是 block format 相同的版本. 另外, 就是 export 出的檔案比較小. 原因很簡單, export 只把資料輸出, 而 datafile 中還有其他沒用到的空間. : n兄所說的方法不是不行 : 不過有很多但書沒提到 : 譬如說 DB 應該 clean shutdown (NOT ABORT ...no instance Recovery) : DB NAME應該要一樣 等等 最好是有做 clean shutdown, 但沒有也沒關係, 改好 control file 後就可 以 recover 了. (當然, 指 log file 還在的情況下) : 原po可以試試看這樣帶不帶得起來 : 應該會錯在 MOUNT的 STAGE吧 不會. 就算找不到 datafile, 也不會在 mount 時出問題 (此部份已再三 實際操作確認過), 而是在 open 時. 這種路徑或其他名稱需要更新的情況, 照上面的方法改好 control file 即可順利 open 資料庫. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 64.9.236.19 ※ 編輯: noguest 來自: 64.9.233.155 (02/06 10:28) > -------------------------------------------------------------------------- < 作者: popcorn5368 (小宇) 看板: Database 標題: Re: [系統] 重灌作業系統,資料庫該怎麼辦? 時間: Tue Feb 6 22:53:25 2007 感謝各位提供意見 經由一位業界的資料庫管理師的指導,目前資料庫已修復,感謝這位雷姓資料庫管理師~~~ 我的做法如下,首先先備份Oracle Home裡的資料 (注意:因為我的資料庫是9i,如果要還原到10g,先須還原到9i後再產生dmp檔匯入到10g 系統下) /oradata:下面有所建立資料庫的資料夾,其中.ora .dbf .ctl redo*.log 這幾種檔案要備份 /database:spfile*.ora pwd*.ora 這兩種兩種要備份,在此*的地方就是你資料庫的名稱 /admin:可以不必但我有留者,在這底下會有與你資料庫名稱相同的資料夾,例AAA 不過之後你重建新建立的資料庫後,AAA底下的像是/cdmp /bdmp /udnp必須存在 以上資料的備分完後: 1.重灌OS 2.重灌Oracle:暫不先建立實體的database,不過我的Oracle Home的所在的路徑與先前損毀資料庫 資料庫的路徑位置完全一樣,然後就直接將先前備份的檔案複製到相同的絕對路徑之下, 這樣就可以避免之前兩位板友所說要改control file的問題 3.使用oradim重建database的服務(因為我有保留Orahome/admin的pfile,故我有指定 pfile的所在位置) 4.重建監聽器組態、區域網路服務組態 5.在命令提示字元下,下以下命令 set oracle sid="資料庫的SID" sqlplus "/as sysdba" startup -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.125.32.51