Oracle冷備份時出現的情況

2021-08-24 21:50:29 字數 2393 閱讀 1390

先來簡單的說一下oracle的備份方式,詳細功能可以搜尋一下。

一種是邏輯備份,即所謂的匯出(export)和匯入(import)命令,這種方式的優點是,能夠對資料庫中的每個物件進行備份,並且實現不同平台下的資料遷移,但備份的時候資料庫不能是關閉的,從cmd命令進入,缺點是無法保證介質的損失,只是邏輯上的資料備份,一般適用於日常備份和小資料量的維護。

二種是物理備份,物理備份分冷備份和熱備份,冷備份,非歸檔模式,是在關閉資料庫的情況下,將相關的資料庫、控制、引數、日誌檔案等統一備份,其備份恢復速度快,安全性也高,缺點是,備份的是只能夠恢復到某乙個點上,並且無法實現某個物件的恢復,主要使用在實時要求不高(即可以關閉資料庫)或者整體資料遷移時使用。熱備份,歸檔模式,是在資料庫不關閉的情況下進行備份,理論上可以恢復到當前的前一秒,缺點是,操作複雜,需要比較高的水平,中間不能出現差錯,否則無法恢復,另外歸檔檔案占用空間較大,主要使用在資料庫訪問量小或需要實現表空間和資料檔案的備份,當然另外乙個就是對備份精度要求比較高的場合。

下面的是我在冷備份還原資料庫時遇到的情況:

我在一台電腦a的安裝了oracle10g,安裝目錄是d:/oracle/product/10.2.0,對應的資料庫的目錄是d:/oracle/product/10.2.0/oradata,在另外一台電腦b,也安裝了oracle10,安裝目錄是:d:/oracle/product/10.2.0,資料檔案路徑為:d:/oracle/product/10.2.0/oradata,即兩台電腦的檔案路徑完全相同,這時,冷備份就相當的容易,直接停掉電腦a的資料庫服務,然後拷貝相應的檔案到電腦b上,將電腦b的服務開啟就可以使用了。

但是,如果我在另外一台的不同目錄下安裝了oracle10g,安裝路徑為e:/oracle/product/10.2.0,如果沒有相應的資料庫,我們可以使用嚮導或者命令新建乙個指定相應的資料檔案路徑為e:/oracle/product/10.2.0/oradata,上面的方法,因為相關的資料、日誌及控制檔案都定位的是電腦a備份的目錄。搜尋了網上的一大把,最後採用了這樣的方法。

1.將電腦a的資料庫冷備份

2.將電腦b的oracleservice***停掉,或者在cmd shutdown immediate

3.拷貝到電腦b的資料庫檔案路徑

4.拷貝電腦a上的冷備檔案到z:/oracle/oradata/目錄下;

5.cmd 使用》sqlplus /nolog登入,然後connect user/password@***登入

6.sql>startup nomount(如果停掉了服務,則需要再開啟)

7.sql>alter database mount;

8.sql>alter database backup controlfile to trace;

執行了7之後,在e:/oracle/product/10.2.0/admin/***/udump安裝目錄下找到控制檔案,按照時間倒序排就知道了,複製一下,然後拷貝到其他地方,開啟可以看到如下所示的內容(將前面的建立資訊刪除,即沒有加--注釋的)

startup nomount

create controlfile reuse database "orcl" noresetlogs noarchivelog

maxlogfiles 16

maxlogmembers 3

maxdatafiles 100

maxinstances 8

maxloghistory 292

logfile

group 1 'z:/oracle/oradata/orcl/redo01.log' size 10m,

group 2 'z:/oracle/oradata/orcl/redo02.log' size 10m,

...-- standby logfile

datafile

'd:/oracle/oradata/orcl/system01.dbf',

'd:/oracle/oradata/orcl/undotbs01.dbf',

...character set zhs16gbk;

然後儲存成檔案,如d:/executecontrolfile.sql

9.sql>shutdown immediate

10.sql>@d:/executecontrolfile.sql

11.sql>shutdown immediate

12.sql>startup;

這樣就可以完成不同目錄下的拷貝了,你可以使用語句進行查詢

sql>select * from v$logfile;

sql>select * from v$datafile;

sql>select * from v$controlfile;

看目錄是否已經定位在新的目錄,同時訪問表如

sql>select * from all_objects;

如果查詢到資料,那麼恭喜你,還原成功!

Oracle的冷備份

1 冷備份發生在資料庫已經正常關閉的情況下,當正常關閉時會提供給我們乙個完 整的資料庫。冷備份是將關鍵性檔案拷貝到另外位置的一種做法。對於備份 oracle 資訊而言,冷備份是最快和最安全的方法。值得注意的是冷備份必須是資料庫關閉的情況下完成,當資料庫開著的時候,執行資料庫檔案系統備份無效。2 冷備...

oracle冷備份 恢復

方法一 最簡單的方法 需建庫 備份 直接拷貝oracle目錄下的admin oradata兩個資料夾,ora92目錄下database,到其他儲存實現備份。恢復 1.建立乙個和原來一樣的資料庫。安裝路徑和資料庫名必須和原來一致 2.用管理員連入資料庫後停止資料庫。3.把安裝目錄下的admin和ora...

oracle冷備份示例

oracle 的冷備份 1 冷備份發生在資料庫已經正常關閉的情況下,當正常關閉時會提供給我們乙個完 整的資料庫。冷備份是將關鍵性檔案拷貝到另外位置的一種做法。對於備份 oracle 資訊而言,冷備份是最快和最安全的方法。值得注意的是冷備份必須是資料庫關閉的情況下完成,當資料庫開著的時候,執行資料庫檔...