分类: Oracle
2008-05-23 22:22:02
来源: |
|
数据备份 不论何种方式,数据库的备份即为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; |