oracle學習筆記(1)-數據備份與恢復
2024-08-29 13:49:08
供稿:網友
數據備份
不論何種方式,數據庫的備份即為data file/control file/redo file此三種文件的備份。
1、eXP/imp的備份方式
2、脫機備份方式(offline backup)
3、聯機備份方式(online backup)
4、standy的運行模式
1、exp/imp的備份方式
(1)命令方式
可以在online的環境下進行。
(2)OEM方式
利用導出備份向導進行導出。
2、脫機備份方式(offline backup)
復制相關的文件即可。
(1)關閉數據庫;
(2)復制文件,datafile/control file/redo log file;
(3)打開數據庫。
3、聯機備份方式(online backup)
條件:
(1)數據庫不能關閉;
(2)數據庫必需處于歸檔模式(archive mode),即redo log file記錄滿后,把完整的redo log file保存
在磁盤上;
讓數據處于archive mode的方法:
(1)設置archive mode;
在initorcl.ora文件中設置如下參數:
#啟動arch背景的處理程序
log_archive_start=true
#設置archive log file的存放地方
log_archive_dest=/home/oradata/orcl/archive
#設置脫機事務日志的文件名
log_archive_format=-s%.arc
(2)mount狀態下設置archive mode,打開數據庫;
startup mount pfile=initorcl.ora;
alter database archivelog;
alter database open;
聯機備份方法一
(1)設置tablespace為backup mode;
alter tablespace tablespace_name begin backup;
(2)復制相關的數據表
copy sourcefile destfile
(3)恢復tablespace到正常狀態
alter tablespace tablespace_name end backup;
(4)backup control file
alter database backup controlfile to 'control.bk'
(5)copy redo log file
4、standy的運行模式
此模式為主從服務器備份模式。
方法:
(1)預備備份主機
(2)主要數據庫的備份
方法如下:
a、full offline backup
b、online backup
c、備份數據庫的control file
alter database backup standby controlfile as 'filename'
(3)確定主要機器是處于archivelog mode
操作方法如3所示。
(4)從主要機器將backup datafiles / control file復制到備份主機。
復制的文件如下:
a、control file
b、backup datafiles;
c、archived redo logs
d、onlie redo logs
e、initialization file
(5)設置主要機器的initialization parameters
(6)設置備份主機的initialization parameters
?????
可能與(5)設置有所不同。
(7)打開備份主機數據庫
a、在nomount狀態下打開數據庫,然后alter啟動standby機器
start nomount pfile=initstandby.ora;
alter database mount standby database;
b、standby mode 下啟動后,表示備份機器已經能夠接受PRimary數據庫的archive redo log,可用FTP或Oracle
提供的方法由oracle自動取得數據。
(8)啟動備份數據庫
alter database recover managed standby database;
數據恢復
1、脫機備份的恢復(會丟失數據)
(1)確定數據庫關閉
(2)復制相關備份文件到相關位置(control file,redo log file,datafiles)
(3)啟動數據庫
2、archive mode恢復
(1)complete recovery
a、關閉數據庫;
shutdown;
b、在mount階段打開數據庫
startup mount;
c、進行數據庫恢復
set autorecovery on;
recover database;
d、完成recovery后,打開數據庫
alter database open;
(2)對單一文件或數據表recovery;
a、讓需要恢復的tablespace脫機
alter tablespace appdata offline immediate;
b、用好的備份文件取代損壞文件
c、確定要恢復的archive log file存在
d、開始recovery;
recover tablespace appdata;
recover datafile 'user01.dbf';
e、完成后,alter讓tablespace聯機
alter tablespace appdata online;
(3)incomplete recovery
假如事務日志文件損壞,則要注重datafiles and control file記錄的log sequence number是不相同的,則為不完全恢復。
mount階段要把log sequence number置為1,這樣數據庫才能打開。
使用cancel恢復到某一時間點
a、mount打開數據庫
startup mount;
b、恢復
recover database until cancel;
c、完成之后,打開數據庫(open mode),重新設置control file and datafiles的log sequence number的設置為1;
alter database open resetlogs;
使用指定時間
a、mount打開數據庫
startup mount;
b、恢復
recover database until time '2001-09-10:18:00:00';
c、完成之后,打開數據庫(open mode),重新設置control file and datafiles的log sequence number的設置為1;
alter database open resetlogs;