oracle資料庫備份技術
網路故障 os oracle director
一、備份的意義
當我們使用乙個資料庫時,總希望資料庫的內容是可靠的、正確的,但由於計算機系統的故障(硬體故障、網路故障、程序故障和系統故障)影響資料庫系統的操作,影響資料庫中資料的正確性,甚至破壞資料庫,使資料庫中全部或部分資料丟失。
因此對現有資料的儲存--備份顯得越發重要。
二、備份的方法
oracle資料庫有三種標準的備份。匯出/匯入(export/import) 、冷備份、熱備份。
匯出備份是一種邏輯備份,這種方法包括讀取一系列的資料庫日誌,並寫入檔案中,這些日誌的讀取與其所處位置無關。
冷備份和熱備份是物理備份(也稱低階備份),它涉及到組成資料庫的檔案,但不考慮邏輯內容。
面我們分別介紹一下這三種備份方法及其特點:
(一)、匯出/匯入(export/import)
export/import是用來將oracle中資料移出/移入資料庫。
1、export將資料庫中資料備份成乙個二進位制系統檔案稱為「匯出轉儲檔案(export dump file),並將重新生成資料庫寫入檔案中。
它有三種模式:
使用者模式:匯出使用者所有物件以及物件中的資料
表模式:匯出使用者所有表或者指定的表
整個資料庫:匯出資料庫中所有物件
它的備份有三種型別:
完全型(complete export):備份整個資料庫
積累型(comulative erport):備份上一次積累型備份所改變的資料
增量型(increamental export):備份上一次備份後改變的資料
export 的命令可以互動式進行,各引數的具體含義見oracle exp/imp引數詳解。
在進行匯出備份時我們要考慮一點問題,那就是匯出的一致性,在匯出過程 中匯出每讀一次就讀取乙個表,因而儘管匯出是在乙個特點時自己開始的,但不同的表讀取的時間不同,因此,匯出開始讀乙個表時,此時表中的資料才是匯出的資料,這樣當大多數表按內部關鍵字和外部關鍵字相互聯絡時,在匯出過程中這些相關聯表的改變就會導致匯出的不一致性,要避開這個,我們可以將匯出過程安排在不對錶操作的時候進行。另外,當oracle中restrictep consistent 選項就可以保證匯出資料一致性。
2、import匯入:
匯入的過程是匯出的逆過程,這個命令先讀取匯出來的匯出轉儲二進位制檔案,並執行檔案,恢復物件使用者和資料。
import命令執行的方法和export方案有關。
如果export所實施的是完全型方案(full)則在import時所有的資料物件,包括表空間,資料檔案,使用者都會在匯入時建立,但考慮到資料庫中的物理布局,預先建立表空間和使用者是有用的。
如果export使用的是incremental/cumulative方式,則需要預先設定好錶空間、使用者、資料檔案。
(二)、冷備份
冷備份發生在資料庫已經正常關閉的情況下,當正常關閉時會提供給我們乙個完整的資料庫。
資料庫使用的每個檔案都被備份下來,這些檔案包括:
☆所有資料檔案
☆所有控制檔案
☆所有聯機redo log 檔案
☆init.ora檔案(可選)
值得注意的是冷備份必須是資料庫關閉的情況下完成,當資料庫開著的時候,執行資料庫檔案系統備份無效。
作冷備份一般步驟是:
正常關閉要備份的例項(instance)
備份整個資料庫到乙個目錄
啟動資料庫
指令碼如下:
sqldba>connect internal
sqldba>shutdown normal
sqldba>! cp 或 sqldba>!tar cvf /dev/rmt/0 /wwwdg/oracle
sqldba>startup
(三)、熱備份(achirelog)
資料庫需要二十四小時執行,而且隨時有新的資料加入,資料丟失將影響整個公司,採用archivelog mode物理備份。
設定資料庫為automatic archivelog mode,指令碼如下:
#su - oracle
%svrmgrl
svrmgrl>connect internal
svrmgrl>startup mount
svrmgrl>alter database archivelog
svrmgrl>shutdown
svrmgrl>exit
%vi init.ora
加入log_archive_start = true # if you want automatic archiving
log_archive_dest = $oracle_home/dbs/arch
log_archive_format = log%s.arc
%dbstart
oracle資料庫備份
oracle資料庫的邏輯備份分為三種模式 表備份 使用者備份和完全備份。表模式 備份某個使用者模式下指定的物件 表 業務資料庫通常採用這種備份方式。若備份到本地檔案,使用如下命令 exp icdmain icd rows y indexes n compress n buffer 65536 fil...
Oracle資料庫備份
將下面的語句儲存為批處理檔案,即backup.dat,雙擊即可實現資料庫備份。1.資料庫匯出,儲存格式為 年月日日期時分秒.dmp 帶有日誌 exp 使用者名稱 密碼 資料庫例項名 file date 0,4 date 5,2 date 8,2 date 11,3 time 0,2 time 3,2...
oracle資料庫備份
oracle資料庫 1 命令列備份 1 將資料庫test完全匯出,使用者名稱system 密碼manager 匯出到d daochu.dmp中 exp system manager test file d daochu.dmp full y 附加一句 若把備份倒到指定資料夾下,資料夾的名字中最好不要...