alter database backup controlfile to trace的含義

msdnchina發表於2009-06-05

大家知道,在alter database mount 之後,就可以執行重新建立控制檔案的命令了,所使用的命令如下:alter database backup controlfile to trace;此命令被執行後,把當前控制檔案的資訊複製到TRACE檔案中.也就是說,此命令是基於現有的控制檔案的.今天遇到一個問題,從側面驗證了這一點.

某客戶的電腦中熊貓病毒,直接導致oracle92資料庫當機,並導致應用軟體登陸不了.之後,此客戶照著網上搜尋的一些資料,沒有備份oracle 目錄,就直接重新安裝了oracle,這下弄大了.之後,客戶自己看到確實無法物理恢復了,才讓我們過去.我將此資料帶回公司,恢復了一下現場的環境,看了一下,mount 之後,alter database backup controlfile to trace,開啟trace檔案一下,我傻了,這裡邊怎麼沒有浪潮ps財務軟體所建立的資料檔案路徑呢??難道此controlfile不是當機時的controlfile???

此時我弄明白了,這個controlfile是客戶自己重新安裝oracle時形成的controlfile,不是當機時的controlfile.

另外我注意到一點,system01.dbf的修改時間與controlfile的修改時間,不一樣.難道system01.dbf是當機時的?於是,我就用dcba的aul工具,讀取了system01.dbf裡的user資訊,結果發現了LC0019999這個user,這是浪潮ps財務軟體所建立的使用者,這說明,system01.dbf,已經是建立過浪潮帳套的狀態了(也就是建立過gs_oradb_001表空間了).

這個例子說明:alter database backup controlfile to trace 是"將當前控制檔案的資訊複製到TRACE檔案中", 不是收集data file和 redo log file的資訊,因為此時(mount之後),並不檢查data file 和redo log file 的存在(existence).既然,不檢查這2個檔案的存在,也就談不上收集data file和 redo log file的資訊用來臨時形成trace檔案了.

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/161195/viewspace-605298/,如需轉載,請註明出處,否則將追究法律責任。

相關文章