※ 引述《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