77范文网 - 专业文章范例文档资料分享平台

[精品]Oracle 数据库备份与恢复总结(5)

来源:网络收集 时间:2018-12-29 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

echo\控制文件备份完毕!'''fromdual;\echo\

echo\正在备份数据文件...'''fromdual;\echo\echo\数据文件备份完毕!'''fromdual;\echo\正在备份联机日志...'''fromdual;\echo\

echo\echo\联机日志备份完毕!'''fromdual;\echo\

echo\脱机冷备完毕!'''fromdual;\echo\echo\##生成冷备份执行脚本

sqlplus-s'/assysdba'<$tempsql>$backupsh rm-f$tempsql chmod+x$backupsh cp$backupsh.

echo\正在生成冷备对应的恢复脚本[$rcvrsh]...\##准备工作

echo\echo\echo\echo\echo\echo\

echo\echo\

echo\恢复脚本生成时间:\年%m月%d日-%H:%M:%S`\fromdual;\

echo\恢复文件所在路径:$backupdir'fromdual;\echo\echo\

echo\开始进行文件的复制恢复...'''fromdual;\echo\恢复文件所在的路径:$backupdir'''fromdual;\##这里不直接关闭数据库,提示用户手工关闭为好如果需要直接关闭,请修改 echo\echo\echo\echo\

echo\数据库已启动,请先关闭ORACLE数据库'''fromdual; \

echo\echo\

21

echo\

echo\

echo\正在恢复控制文件...'''fromdual;\

echo\length(name)-instr(name,'/',-1))||''||namefromv\\$controlfile;\echo\控制文件恢复完毕!'''fromdual;\echo\

echo\正在恢复数据文件...'''fromdual;\

echo\length(name)-instr(name,'/',-1))||''||namefromv\\$datafile;\echo\数据文件恢复完毕!'''fromdual;\echo\正在恢复联机日志...'''fromdual;\echo\

echo\length(member)-instr(member,'/',-1))||''||memberfromv\\$logfile;\echo\联机日志恢复完毕!'''fromdual;\echo\

echo\脱机冷备恢复完毕!'''fromdual;\echo\echo\##生成冷备恢复的执行脚本

sqlplus-s'/assysdba'<$tempsql>$rcvrsh rm-f$tempsql chmod+x$rcvrsh cp$rcvrsh.

echo\生成脱机冷备备份与恢复脚本完毕!\echo\请检查脚本文件:[$backupsh]\echo\echo\

#如果需要生成后立即执行备份,可增加关闭数据库的操作,然后将以一几行的注 释#去掉即可 #./$backupsh

#echo\备份执行完毕,请检查!\#echo\

(3)重启Oracle数据库 $sqlplus/nolog

SQL>connect/assysdba SQL>startup

2.如果自从上次脱机冷备后,数据文件错误,联机日志没有被覆盖,可模拟不完全恢 复。

1.SQL>shutdown;

2.$cp....;//只恢复出错的数据文件 3.SQL>startupmount; 4.SQL>recoverdatabase;

22

5.SQL>alterdatabaseopen; 3.3ARCHIVELOG模式 3.3.1脱机冷备与恢复 同NONARCHIVELOG模式 3.3.2联机热备

联机热备是在数据库运行的情况下进行备份的方法。热备份要求数据库在Archivelog 方式下操作,并需要大量的档案空间。 热备份的优点:

1.可在表空间或数据文件级备份,备份时间短。 2.备份时数据库仍可使用,支持24*7不间断运行。 3.可达到秒级恢复(恢复到某一时间点上)。 4.可对几乎所有数据库实体作恢复。

5.恢复是快速的,在大多数情况下在数据库仍工作时恢复。 热备份的不足是:

1.不能出错,否则后果严重。

2.若热备份不成功,所得结果不可用于时间点的恢复。

3.因难于维护,所以要特别仔细小心,不允许“以失败而告终”。

注意:在热备过程中系统会生成更多的重做日志和回滚数据。所以必须在数据库较空闲时才进行备份。 备份内容:

(1)数据文件:一个表空间一个表空间地备份 sql>altertablespaceusersbeginbackup; sql>$copy'/xx/xx.dbf''/yy/yy.dbf'; sql>altertablespaceusersendbackup; sql>altersystemcheckpoint;

(只读表空间直接拷贝,不用beginbackup) (2)备份归档log文件

(1)临时停止归档进程log_archive_max_processes=0 (2)log下那些在archiveredolog目标目录中的文件 (3)重新启动archive进程 (4)备份归档的redolog文件 (3)备份联机的控制文件:

sql>alterdatabasebackupcontrolfileto'/xx/xx.ctl'; (4)备份初始化文件配置文件等: sql>$copy....;

热备脚本:hotback.sql Rem热备份脚本forLinux

Rem执行该脚本必须保证数据库处于归档模式 Remdb.dw.dm@gmail.com2007-03-17 Rem

Rem设置SQL*Plus环境参数 Rem

setfeedbackoff setpagesize0

23

setheadingoff setverifyoff setlinesize100 settrimspoolon

Rem设置备份相关的路径ForLinux Rem设置数据文件备份路径

definedatafile_dir='/u05/oracle/hotback/datafile' Rem设置归档日志文件备份路径

definearchlog_dir='/u05/oracle/hotback/archlog' Rem设置控制文件备份路径

definecontrolfile_dir='/u05/oracle/hotback/controlfile' Rem设置生成的备份脚本名

definehotback='/u05/oracle/hotback/open_hot_backup.sql' definespoolfile='/u05/oracle/hotback/spool.tmp' definecpy='cp'

prompt***Spoolingto&hotback

Rem产生备份数据文件、归档日志文件的命令 setserveroutputonsize1000000 spool&hotback

promptspool&spoolfile promptarchiveloglist;;

promptaltersystemswitchlogfile;; promptaltersystemarchivelogall;; DECLARE

CURSORcur_tablespaceIS SELECTtablespace_name FROMdba_tablespaces ORDERBYtablespace_name;

CURSORcur_datafile(tnVARCHAR)IS SELECTfile_name FROMdba_data_files

WHEREtablespace_name=tn ORDERBYfile_name; CURSORcur_arch_destIS SELECTvalue FROMv$parameter

WHEREname='log_archive_dest'; BEGIN

FORctINcur_tablespaceLOOP

IFct.tablespace_name!='TEMP'then

dbms_output.put_line('altertablespace'||ct.tablespace_name||'beginbackup;'); FORcdINcur_datafile(ct.tablespace_name)LOOP

dbms_output.put_line('host&cpy'||cd.file_name||'&datafile_dir'); ENDLOOP;

24

dbms_output.put_line('altertablespace'||ct.tablespace_name||'endbackup;'); endif; ENDLOOP;

FORdestINcur_arch_destLOOP

dbms_output.put_line('host&cpy'||dest.value||'/*&archlog_dir'); ENDLOOP; END; /

Rem产生备份控制文件的命令

promptaltersystemarchivelogcurrent;;

promptalterdatabasebackupcontrolfiletotrace;;

promptalterdatabasebackupcontrolfileto'&controlfile_dir/control.bak'REUSE;; promptarchiveloglist;;

promptprompt***HotBackupFinish***; promptspooloff spooloff;

hostrm-f&spoolfile Rem执行生成的脚本文件 Rem@&hotback

Remhostdel&hotback 3.3.3联机热备的恢复 3.3.3.1完全恢复 一般步骤:

1.通过以下信息,找到故障数据文件 alert.log

backgroundtracefile

v$recover_filev$recovery_log

通过这两个视图可以了解详细的需要恢复的数据文件与需要使用到的归档日志。 2.将故障数据文件对应的表空间offline SQL>altertablespacexxxoffline; 3.restoreandrecover SQL>hostcp....;

SQL>[alterdatabase]recoverdatabase/tablespace/datafile'xx'; 4.将表空间online

SQL>altertablespacexxxonline; 3.3.3.2不完全恢复

不完全恢复的方法只能恢复到过去某个时间点/SCN的数据库状态。 一些限制: 1.必要条件

一个有效的online/offline备份(包含所有的数据文件) 自从备份到故障前的所有归档日志

有可能需要控件文件(所有控件文件丢失,数据库结构已改变) SQL>recoverdatabase...usingbackupcontrolfile; 2.只能恢复到所有备份数据文件的最大SCN以后,

25

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库[精品]Oracle 数据库备份与恢复总结(5)在线全文阅读。

[精品]Oracle 数据库备份与恢复总结(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/397585.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: