1 引言
ORACLE 數據庫是一種大型關系型的數據庫,可以存貯達到存貯 TB 的數據,那麼如何保證這些數據的安全尤其至關重要,我們從 1991 年開始使用 ORACLE 數據庫,通過這些年的使用,我們制定了一整套的 ORACLE 數據庫的備份制度。現在把我們的備份制度介紹給大家,供大家參考。
2 根據實際需要決定數據庫的運行方式
ORACLE 數據庫有兩種運行方式:一是歸檔方式( ARCHIVELOG ),歸檔方式的目的是當數據庫發生故障時最大限度恢復所有已提交的事物;二是不歸檔方式 (NOARCHIVELOG) ,恢復數據庫到最近的回收點。我們根據數據庫的高可用性和用戶可承受丟失的工作量的多少,把我們正式運行的數據庫采用為歸檔方式;那些正在開發和調試的數據庫采用不歸檔方式。
3 如何改變數據庫的運行方式
3.1 在創建數據庫時設置數據庫的運行的方式
在創建數據庫時,作為創建數據庫的一部分,就決定了數據庫初始的存檔方式。一般情況下為 NOARCHIVELOG 方式。當數據庫創建好以後,根據我們的需要把需要運行在歸檔方式的數據庫改成 ARCHIVELOG 方式。
3.2 改變不歸檔方式為為歸檔方式
關閉數據庫,備份已有的數據。改變數據庫的運行方式是對數據庫的重要改動,所以要對數據庫做備份,對可能出現的問題作出保護。
啟動 Instance ,Mount 數據庫但不打開數據庫,來改變歸檔方式
sqldba lmode=y ( svrmgrl )
sqldba>connect internal
sqldba>startup mount
sqldba>alter database archivelog;
使能自動存檔
在初始化文件 init*.ora( 一般放 ORACLE 根目錄的下層目錄 dbs 下 ) 加參數:
log_archive_start=true
指定存檔的重做登錄文件名和存放的位置
同樣是在初始化文件 init*.ora 中加入下面的參數:
log_archive_format=%S.arc
log_archive_dest=/arch12/arch (arch12 是日志文件存放的目錄 )
關閉數據庫,重新啟動數據庫,歸檔方式轉換完成.
4 回收制度
4. 1 根據數據庫的運行方式和可承受丟失的工作量來決定數據庫的回收制度對於不歸檔方式,我們用的是 ORACLE 數據庫的邏輯備份 Export ,回收的制度是:一個月作一次全備份 (x01.dmp) ,一周作一次累積備份 (c*.dmp) ,一天一次增量備份 (I*.dmp) ,具體的是星期一到星期五作增量備份,星期六做累積備份或全備份,每次做完備份後自動傳到其它的機器上存儲。這些備份都是自動執行的 , 後面給出程序文本。
對於歸檔方式,我們用的是 ORCALE 的物理備份:當數據庫創建好以後,做一次物理上的全備份,平時在不關閉數據庫的前提下,一個星期對經常改變的數據文件做聯機的數據庫數據文件的物理備份;當數據庫的結構發生改變,如:增加表空間,加數據文件等,如允許關機,正常關閉數據庫,重新做數據庫全備份,否則,備份控制文件,備份數據文件照常。聯機的日志文件我們是寫在陣列上的,不用鏡象和備份。