Oracle数据库备份恢复技术详解_第1页
Oracle数据库备份恢复技术详解_第2页
Oracle数据库备份恢复技术详解_第3页
Oracle数据库备份恢复技术详解_第4页
Oracle数据库备份恢复技术详解_第5页
已阅读5页,还剩147页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Oracle数据库备份恢复技术详解技术创新,变革未来0103目 录Contents02RMAN备份恢复介绍闪回技术备份恢复基础知识01备份恢复基础01为什么需要备份?1笔记本系统重装之历史邮件(计划内)2备份的必要性3备份的时效性01备份是什么?Backupand Recovery Users Guide (e10642)A backup is a copy of data of a database that you can use to reconstruct data.备份是你能够重建数据或数据库的数据复制基于多种目的的数据保护 基于不同需求的数据转换01恢复是什么?恢复是当意外发生或者

2、有其他需要时, 将已经备份的数据信息还原到数据库中。01备份的对象:数据库必要组成文件参数文件控制文件数据文件临时文件undo文件Redo log文件归档文件01备份的对象:数据库必要组成文件01事务的四大特征原子性(Atomicity)隔离性(Isolation)持久性(Durability)一致性(Consistency)01什么是备份恢复目的?备份恢复策略的目的是保护数据避免数据丢失和当数据丢失后重建数据库。01我们的责任?Devise设计 Implement 实施 Manage 管理备份恢复策略(strategy)01备份的?数据的保存设计到创建数据库备份的长期存储机制数据转换当涉及数

3、据从一个数据库迁移到另一个库或者主机01为什么需要DBA介入并进行数据恢复?1234硬件故障和系统故障 误操作病毒软件故障5自然灾害需要灾难恢复策略来保护对抗灾难数据丢失01介质损坏?磁盘不能进行正常的IO操作任何数据库文件对于介质损坏都是脆弱的典型原因可能的解决方法磁盘驱动器故障1. 从备份中还原受影响的文件。2. 如果需要,通知数据库关于新 文件的位置。磁盘控制器故障3. 如果需要,通过应用重做信息来 恢复文件。删除或损坏了数据库文件语句故障典型问题可能的解决方法尝试表中插入无效数据与业务用户合作来验证并更正数据尝试执行操作,但权限不足提供适当的对象或系统权限尝试分配空间失败启用可恢复的空

4、间分配增加所有者限额增加表空间的空间应用程序中存在逻辑错误与开发人员合作来更正程序错误01用户进程故障典型问题可能的解决方法用户执行了异常断开连接操作通常不需要DBA 执行任何操作就可解决用户进程故障。实例后台进程会回退未提交的更改并解除锁定。观察变化趋势用户会话已异常终止用户遇到了程序错误并终止了会话趋势:在导致数据库停机时间的原因 占比中越来越大01 网络故障典型问题可能的解决方法监听程序失败配置备份监听程序和连接时故障 转移网络接口卡 (NIC) 故障配置多个网卡网络连接失败配置备份网络连接01实例故障典型问题可能的解决方法断电使用“startup”命令重新启动实 例。硬件故障从实例故障

5、进行恢复是自动执行的,其中包括前滚重做日志中的更改和一个后台进程出现故障回紧急关闭过程退任何未提交的事务处理。使用预警日志、跟踪文件调查出现错误的原因。01可能的用户故障SQLDROP TABLE T_T1;SQLTRUNCATE TABLE T_T1;SQLDELETE FROM T_T1;SQLCOMMIT;SQLUPDATE T_T1 SET TNAME=B;SQLCOMMIT;01用户故障的影响localized 局部的Demo:从employee表中误删除了一个人的影响widespread 广泛的Demo:一批自动化job删除了一个公司的当月订单01用户故障的后续目标:尽可能的降低数

6、据库的停机时间解决措施:用户培训合理管理用户授权(能够避免大多数的用户误操作)需要进行操作复核需要进行操作审计定制和实施合理的备份策略回退或使用闪回查询进行恢复从回收站中恢复01程序错误Application Errors应用程序发生故障,导致块损坏。当物理损坏,数据库不能认到块 则称作介质损坏。 现象:checksum 无效 块包含的都是0块头和块尾不匹配 解决办法:当块损坏量不大,可以通过块介质恢复(block media recovery)进行修复01灾难恢复问题?在出现严重灾难的情况下,您的业务会受到什么样的影响?地震、水灾或火灾完全丢失计算机存储硬件或软件故障失去重要人员,如数据库管

7、理员是否已制定定期测试策略的计划?01备份恢复的任务?各种失败的计划和测试责任设置数据库的备份和恢复环境 设定备份安排监控备份恢复环境 处理备份的问题当数据丢失时能够恢复01备份的种类?备份只能是逻辑备份或物理备份的一种。01物理备份?physical backups are copies of the physical files used in storing and recovering a database.物理备份是用于恢复数据库的物理文件的复件。物理备份将以上这些文件复制储存到另一个目录, 可以是磁盘或者脱机储存。01逻辑备份是什么?逻辑备份通过对数据库的逻辑数据比如表,存储过程,

8、 用户等数据写入二进制文件,与数据库内部文件的物理 位置无关。01两者的关系?物理备份是任何有效的备份恢复策略的基础。逻辑备份是在很多情况下有效提高物理备份的补充,但当数据丢失并且没有物理备份的情况下并不能完全满足。01物理备份细分?脱机物理备份需要数据文件/redo log/控制文件/参数文件(可选)数据库必须为正常关闭的情况下执行联机物理备份数据库为归档模式业务是否可以停止数据库是否为归档模式01脱机物理备份(冷备)的步骤?获取备份文件的目录和文件名 dba_data_files/V$CONTROLFILE/v$logfile正常关闭数据库 SQLSHUTDOWN IMMEDIATE执行文

9、件备份 cp file1 file2启动数据库 SQLSTARTUP优点:操作简单, 没有很高的门槛缺点:数据库需要关闭数据文件多时备份时间太久/备 份集太大只能恢复到备份的时间点01脱机物理备份的恢复步骤?1正常关闭数据库 SQLSHUTDOWN IMMEDIATE2.将备份出的文件恢复到原定的相关目录 cp file1 file24.启动数据库 SQLSTARTUP01联机物理备份前提检查当前数据库处于归档/非归档模式 SQLARCHIVE LOG LIST修改为归档模式SQLALTER SYSTEM SETLOG_ARCHIVE_DEST_1=location=/ARCH1 SCOPE=

10、BOTH;SQLSHUTDOWN IMMEDIATE SQLSTARTUP MOUNT;SQLALTER DATABASE ARCHIVELOG; SQLALTER DATABASE OPEN;SQLALTER SYSTEM SWITCH LOGFILE; #切换redo,查看对应目录 是否有归档生成01联机物理备份例子在线备份用户表空间连接数据库$sqlplus system/oracleSID获取需要备份的users表空间的数据文件信息 SQLSELECT FILE_NAME FROM DBA_DATA_FILES WHERE TABLESPACE_NAME=USERS;设置开始在线备份标

11、记SQLALTER TABLESPACE USERS BEGIN BACKUP;备份表空间对应的数据文件SQLhost cp /app/oracle/oradata/TEST1/USERS.DBF/app/oracle/orabak/TEST1/online/USERS.DBF 5.设置停止在线备份标记SQLALTER TABLESPACE USERS END BACKUP;01联机物理备份恢复例子当数据库提示该文件的磁盘有问题或者文件被误删除,数据库 不能打开,提示需要介质恢复时,进行覆盖。01逻辑备份的方法?1.Export小工具 2.DATA PUMP 数据泵10g 之前使用exp/im

12、p工具10g开始除了exp/imp,还多了expdp/impdp01导出备份的模式?表模式:导出用户所有表或者指定的表用户模式:导出用户是有对象以及对象中的数据或者 只导出表结构表空间模式:按表空间名导出数据对象全库模式:导出数据库中所有对象01导入备份导入是导出的逆向工程。导入先读取导出的二进制文件,运行文件,恢复对象用户数 据。当全库导入时,所有对象都会自动创建,例如表空间,数据文件, 用户。一般考虑到数据库中的物理规划,都会提前创建。01导出备份的表模式操作步骤:exp system/passwdTEST1 TABLES=(vivien.laptop,vivien.disk) file=

13、/app/oracle/orabak/exp/EXP_vivien_tab.dmp“ log=“/app/oracle/orabak/exp/EXP_vivien_tab.log“01导出备份的用户模式操作步骤:exp system/passwdTEST1 owner=vivienfile=/app/oracle/orabak/exp/EXP_vivien.dmp“ log=“/app/oracle/orabak/exp/EXP_vivien.log“01导出备份的表空间模式操作步骤:exp system/passwdTEST1 tablespace=usersfile=/app/oracle

14、/orabak/exp/EXP_users_tbs.dmp“ log=“/app/oracle/orabak/exp/EXP_users_tbs.log“实际工作中,并没有使用 过这种模式.01导出备份的全库模式操作步骤:exp system/passwdTEST1 FULL=Yfile=/app/oracle/orabak/exp/EXP_db_all.dmp“ log=“/app/oracle/orabak/exp/EXP_db_all.log“01导入备份的表模式操作步骤:imp system/passwdTEST1 FROMUSER=VIVIEN TOUSER=VIVIENTABLES

15、=(laptop,disk) tablespace=users commit=yfile=/app/oracle/orabak/exp/EXP_vivien_tab.dmp log=“/app/oracle/orabak/exp/IMP_vivien_tab.log”01导入备份的用户模式操作步骤:imp system/passwdTEST1 FROMUSER=VIVIEN TOUSER=VIVIENfile=/app/oracle/orabak/exp/EXP_vivien.dmp“ log=“/app/oracle/orabak/exp/IMP_vivien.log“01导入备份的表空间模

16、式操作步骤:imp system/passwdTEST1 FROMUSER=VIVIEN TOUSER=VIVIENfile=/app/oracle/orabak/exp/EXP_vivien.dmp“ log=“/app/oracle/orabak/exp/IMP_vivien.log“01导出备份的全库模式操作步骤:imp system/passwdTEST1 FULL=Yfile=/app/oracle/orabak/exp/EXP_db_all.dmp“ log=“/app/oracle/orabak/exp/IMP_db_all.log“01Exp参数详解exp -help01exp

17、参数优化传统路径方式: 【默认导出方式】EXP采用SQL语句的方式把要导出的表的数据获取,然后通过网络将数 据传输到客户端,在客户端上生成转储文件。SQL语句的执行,就需要 shared_pool中生成执行计划,数据缓存到buffer中。直接路径方式:EXP不采用SQL的方式,直接绕过share_pool和buffer cache,直接获得数 据块。将数据块的数据抽出来直接传递给客户端。只需要在导出时添 加Direct=Y 参数。速度快,当含LOB时还是以传统方式导出。direct=n datafile-sga-pga-dump direct=y datafile-pga-dump01exp参

18、数优化BUFFER=409600000指定缓冲区的大小,参数依赖于操作系统,用户可以根据导出数据块 的性质,设置较大的数值FEEDBACK=10000每隔一定的行数显示备份进展RECORDLENGTH=64000文件记录的最大长度,以字节为单位,即导出I/O的buffer,最大为 65535。这个参数决定了在没写入导出文件中缓存中堆积数据的多少。 如果没有设置这个参数,取决于操作系统平台,在大多数平台的默认 值是1024字节。01Expdp 参数详解expdp-help01数据泵与export/import之间的差异数据泵是对export/import的升级 并行流只能数据库本机执行 可以断点

19、重传可以查看备份恢复的进度异常终端时需要手工删除默认创建的master table可以计算导出文件的大小exp/imp可以远程导出兼容数据库版本更多01数据泵导出例子前期准备:1.创建目录SQLCREATE DIRECTORY EXPDP_DIR AS/app/oracle/orabak/expdp; 2.授权SQLGRANT READ,WRITE ON DIRECTORY EXPDP_DIR TO USER_1;3.导出expdp system/oracle directory=expdp_dir TABLES=vivien.tab1 DUMPFILE=tab1_%U.dmpPARALLEL

20、=8JOB_NAME=exp_tab1logfile=exp_tab1.log01数据泵导出日志解读Master table 记录了导出对象的ddl 导出的进度等信息 异常中断,数据库不会删除01数据泵如何查看进度expdp system/oracleattach=exp_tab1status涉及视图 DBA_DATAPUBMP_JOBS DBA_DATAPUMP_SESSIONS查询语句select sid,serial# from v$session s, dba_datapump_sessions d where s.saddr=d.saddr;01备份需要什么?01备份需要什么?硬件1

21、01备份需要什么?硬件201备份需要什么?软件101备份需要什么?软件201 RTO从低到高分为5个级别级别恢复时间要求1级2小时内恢复2级4小时内恢复3级8小时内恢复4级1天内恢复5级可恢复,但无时间要求01RPO从低到高分为5个级别级别可容忍丢失的数据1级无数据丢失2级30分钟内3级4小时内4级8小时内5级一天之内的数据01后台进程和恢复:检查点(CKPT)01后台进程和恢复:重做日志文件和日志写进程01后台进程和恢复:归档程序(ARCn)01实例恢复实例恢复或崩溃恢复:原因是尝试打开一个数据库,该数据库中的文件在关闭时没有进 行同步是自动执行的使用重做日志组中存储的信息来同步文件涉及到两

22、个不同的操作:前滚:数据文件还原到实例出现故障之前所处的状态。回退:已执行但尚未提交的更改会返回到初始状态。01实例恢复的阶段01进行配置以提高可恢复性要配置数据库以使可恢复性达到最大,必须:计划常规备份多路复用控制文件多路复用重做日志组保留重做日志的归档副本01用户管理的备份用户管理的方案:指通过手动过程来跟踪备份需求和状态。DBA 需要编写脚本。需要将数据库文件置于正确的模式以进行备份。依赖操作系统命令来备份文件。02RMAN备份恢复介绍02 恢复管理器功能RMAN 为执行下列操作提供了一种灵活的方式:检测备份过程中损坏的块通过下列方式提高性能:自动并行化生成较少的重做日志限制备份的I/O

23、 操作磁带流式处理管理备份和恢复任务02RMAN 资料库:使用控制文件RMAN 资料档案库包含的是有关目标数据库和备份及恢复操作的 元数据。RMAN 资料档案库始终存储在目标数据库的控制文件中。CONTROL_FILE_RECORD_KEEP_TIME 用于确定一个记录至少要保 留多少天才可被覆盖。控制文件可能增大。02与RMAN 连接的类型目标数据库恢复目录数据库辅助数据库备用数据库重复数据库TSPITR 例程02V$FLASH_RECOVERY_AREA_USAGE可通过查询V$FLASH_RECOVERY_AREA_USAGE 来查看快速恢复区 磁盘空间使用情况。SQL SELECT f

24、ile_type,percent_space_used AS used,percent_space_reclaimable AS reclaimable, 4 number_of_files AS number5 FROM v$flash_recovery_area_usage ; FILE_TYPE USED RECLAIMABLE FILES- - - - CONTROLFILE 0 0 0ONLINELOG 0 0 0ARCHIVELOG 69.13 0 593BACKUPPIECE 0 0 0IMAGECOPY 0 0 0FLASHBACKLOG 1.77 0 3702 设置影响RMA

25、N 的参数数据库初始化参数CONTROL_FILE_RECORD_KEEP_TIMEDB_RECOVERY_FILE_DEST 和DB_RECOVERY_FILE_DEST_SIZE(如果使用快速 恢复区)环境变量NLS_DATE_FORMATNLS_LANG02RMAN 命令:概览02RMAN 命令RMAN BACKUP AS BACKUPSET2 FORMAT /BACKUP/df_%d_%s_%p.bus3 TABLESPACE hr_data;02 不使用恢复目录进行连接从本地启动RMANUNIX: $ ORACLE_SID=DB01; export ORACLE_SID$ rman

26、target / as sysdbaWindows NT:C: set ORACLE_SID=DB01 C: rman target / as sysdba从远程启动RMANrman target sys/target_pwdDB0102其它RMAN 命令行参数将RMAN 输出写入到一个日志文件:调用RMAN 时执行命令文件:$ rman target sys/oraclelog $HOME/ORADATA/u03/rman.log appendrman target sys/oraclelog $HOME/ORADATA/u03/rman.log append $HOME/STUDENT/L

27、ABS/my_rman_script.rcv02 作业命令示例RUN 命令:RMAN RUN backup incremental level 0format /u01/db01/backup/%d_%s_%pfileperset 5(database include current controlfile);sql alter database archive log current;02 RMAN 配置设置RMAN 预设有一些默认的配置设置使用CONFIGURE 命令可以:配置自动通道指定备份保留策略指定要创建的备份副本数将默认备份类型设置为BACKUPSET 或COPY限制备份集的大小在

28、备份中排除表空间启用和禁用备份优化配置控制文件的自动备份02SHOW 命令显示永久配置设置使用SHOW 命令可显示:自动通道配置设置备份保留策略设置要创建的备份副本数备份集大小限制不包括在备份中的表空间备份优化状态使用SHOW ALL 命令显示所有设置:RMANSHOW ALL;02 保留策略保留策略描述哪些备份将被保留以及保留时间。有以下两种类型的保留策略:恢复窗口:建立一个时间段,在该时段内必须可以进行时间点恢复冗余:建立必须保留的固定数量的备份这些策略互相排斥,并且都可以使用CONFIGURE命令进行设置。02 CONFIGURE 命令配置自动通道:通过指定恢复期实施保留策略:通过指定冗

29、余实施保留策略:RMAN CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT /db01/BACKUP/%U;RMAN CONFIGURE RETENTION POLICY TO RECOVERY 2 WINDOW OF 7 days;RMAN CONFIGURE RETENTION POLICY TO REDUNDANCY 2;02 CONFIGURE 命令配置双重备份集:配置备份优化:使用CLEAR 选项恢复为缺省值:RMAN CONFIGURE DATAFILE BACKUP COPIES FOR 2 DEVICE TYPE disk TO 2;RMAN

30、CONFIGURE BACKUP OPTIMIZATION ON;RMAN CONFIGURE RETENTION POLICY CLEAR; RMAN CONFIGURE CHANNEL DEVICE TYPE sbt CLEAR;02通道分配自动通道是预配置的通道,用于后续命令。要更改自动 通道分配的默认设备类型,可使用:RMAN CONFIGURE DEFAULT DEVICE TYPE TO sbt;手动分配的通道是可覆盖自动通道设置的通道。对于 以下运行块,该通道将覆盖自动通道:RMAN RUN 2 ALLOCATE CHANNEL c1 DEVICE TYPE disk;3 BAC

31、KUP DATAFILE/u01/oradata/user01.dbf;4 02自动分配通道更改缺省设备类型配置自动通道的并行性:指定备份片段大小的最大值RMAN CONFIGURE DEFAULT DEVICE TYPE TO sbt;RMAN CONFIGURE DEVICE TYPE DISK PARALLELISM 3;RMAN CONFIGURE CHANNEL DEVICE TYPE DISK 2 MAXPIECESIZE 2G;02 手动分配通道BACKUP、COPY、RESTORE 和RECOVER 命令至少需要一个通道。分配一个通道会在目标数据库上启动一个服务器进程。通道会影

32、响并行性程度。通道可写入不同的介质类型。通道可用于施加限制。RMAN RUN 2 ALLOCATE CHANNEL c1 TYPE disk3 FORMAT = /db01/BACKUP/usr0520.bak;4 BACKUP DATAFILE /db01/ORADATA/users01.dbf;02并行备份集为提高性能,分配多个通道并将文件分配给特定通道。02压缩备份RMAN BACKUP AS2 COMPRESSED BACKUPSET3 DATABASE;RMAN CONFIGURE DEVICE TYPE 2 DISK PARALLELISM 23 BACKUP TYPE TO4 C

33、OMPRESSED BACKUPSET;02 映像副本RMAN BACKUP AS COPY2 DATAFILE /ORADATA/users_01_db01.dbf3 FORMAT /BACKUP/users01.dbf; RMAN BACKUP AS COPY4 ARCHIVELOG LIKE arch_1060.arc5 FORMAT arch_1060.bak;02BACKUP 命令选项检查物理块损坏。扫描物理损坏。对中止前所允许检测到的损坏数量设置阈值。执行备份操作前验证目标输入文件。对备份集进行双重备份。覆盖现有备份集或映像副本。将对存储设备与磁盘上数据文件之间数据传输的控制传递给

34、介质管理层。加密备份文件。02 备份归档重做日志联机重做日志文件切换是自动的。执行归档日志故障转移。可以指定要备份的归档重做日志的范围。归档重做日志文件的备份集不能包含任何其它类型的文件。RMAN BACKUP2 FORMAT /disk1/backup/ar_%t_%s_%p 3 ARCHIVELOG FROM SEQUENCE=2344 DELETE INPUT;02 数据库整体备份RMAN BACKUP DATABASE PLUS ARCHIVELOG;02 RMAN 备份类型完全备份包含所有使用的数据 文件块。级别为0 的增量备份等同于标 记为0 级的完全备份。级别为1 的累积增量备份

35、仅包 含自上次级别为0 的增量备份 以来修改的块。级别为1 的差异增量备份仅包 含自上次增量备份以来修改的 块。02 差异与累积差异增量备份包含自上次增量备份以来更改的所有块。累积增量备份包含自上次级别为0 的增量备份以来更改的所有块。02 块更改跟踪启用块更改跟踪可简化备份过程,其可以:在更改跟踪文件中记录更改的块由RMAN 自动使用(如果启用此选项)通过避免备份过程中的完全数据文件扫描来优化增量备份02 启用块更改跟踪SQL ALTER DATABASE ENABLE 2 BLOCK CHANGE TRACKING3 USING FILE /mydir/rman_change_track.

36、f 4 REUSE;02 增量更新备份RMAN RECOVER COPY OF2 DATAFILE n|file_name 3 WITH TAG incr_upd_df1;02LIST 命令操作列出数据文件的备份集和副本:列出指定表空间的任何数据文件的备份集和副本:列出包含指定范围的归档日志的备份集和副本:RMAN LIST BACKUP OF DATABASE;RMAN LIST BACKUP OF DATAFILE2 /db01/ORADATA/u03/users01.dbf;RMAN LISTCOPY OF TABLESPACE SYSTEM;RMAN LIST COPY OF DATA

37、BASE ARCHIVELOG 2 FROM TIME=SYSDATE-7;02 REPORT 命令生成资料库的详细分析生成的报告可以回答以下问题:数据库中包含哪些数据文件?哪些文件需要备份?哪些备份可以删除?哪些文件不可恢复?02REPORT NEED BACKUP 命令列出需要备份的所有数据文件假定在还原过程中使用最新的备份提供三个选项增量(Incremental)天数(Days)冗余(Redundancy)恢复窗口如果不使用任何选项,则考虑已配置的保留策略REPORT NEED BACKUP incremental 3; REPORT NEED BACKUP days 3;REPORT

38、NEED BACKUP redundancy 3;REPORT NEED BACKUP recovery window of 3 days;02REPORT OBSOLETE 和DELETE OBSOLETE查找根据当前保留策略设置应视为作废的所有恢复文件如果需要的备份副本不多于两个,列出作废的恢复文件:删除备份集键为4 的备份集:删除由于已存在两个以上的备份而视为作废的恢复文件:RMAN REPORT OBSOLETE;RMAN REPORT OBSOLETE REDUNDANCY 2;RMAN DELETE BACKUPSET 4;RMAN DELETE OBSOLETE REDUNDAN

39、CY 2;02 RMAN 动态视图V$ARCHIVED_LOGV$BACKUP_CORRUPTIONV$BACKUP_DEVICEV$BACKUP_FILESV$BACKUP_PIECEV$BACKUP_REDOLOGV$BACKUP_SETV$BACKUP_SPFILEV$COPY_CORRUPTIONV$RMAN_CONFIGURATION02监视RMAN 备份使用SET COMMAND ID 命令将服务器会话与通道相关联。查询V$PROCESS 和V$SESSION 以确定会话与RMAN 通道的对应关 系。查询V$SESSION_LONGOPS 以监视备份和副本的进度。使用操作系统实用程

40、序监视进程或线程。01使用DBVERIFY 实用程序验证备份01DBVERIFY 命令行界面外部命令行实用程序用于确保备份数据库或数据文件在还原之前是有效的遇到数据损坏问题时可作为有用的诊断辅助工具%dbv file=/ORADATA/u03/users01.dbf logfile=dbv.log01 文件丢失的原因以下原因可能会导致文件丢失:用户错误应用程序错误介质故障01关键性与非关键性可通过采取以下措施之一来修复该问题:创建一个新文件。重建文件。恢复丢失或损坏的文件。01 丢失TEMPFILE如果缺失任何一个临时文件,则需要TEMP 空间来执行的SQL 语句 都将失败。SQL selec

41、t * from big_table order by 1,2,3,4,5,6,7,8,9,10,11,12,13;select * from big_table order by 1,2,3,4,5,6,7,8,9,10,11,12,13*ERROR at line 1:ORA-01565: error in identifying file /u01/app/oracle/oradata/orcl/temp01.dbf ORA-27037: unable to obtain file status Linux Error: 2: No such file or directory01 恢复

42、TEMPFILE 丢失01日志组状态:概述在任何给定时间,重做日志组的状态都 会是以下值之一:CURRENT:LGWR 进程当前正在向重做 日志组写入重做数据。ACTIVE:不再向重做日志组写入数据, 但是仍需要它来进行实例恢复。INACTIVE:不再向重做日志组写入数据, 且不再需要它来进行实例恢复。01丢失重做日志组成员缺失重做成员文件时,预警日志和归档进程(ARCn) 跟踪文件将记 录一条错误消息。Errors in file/u01/app/oracle/admin/orcl/bdump/orcl_arc1_25739.trc: ORA-00313: open failed for m

43、embers of log group 2 of thread 1ORA-00312: online log 2 thread 1: /u01/app/oracle/oradata/orcl/redo02b.log ORA-27037: unable to obtain file status Linux Error: 2: No such file or directory01 重新创建重做日志文件SQL ALTER DATABASE DROP LOGFILE MEMBER/u01/app/oracle/oradata/orcl/redo02b.log;SQL !rm /u01/app/or

44、acle/oradata/orcl/redo02b.log SQL ALTER DATABASE ADD LOGFILE MEMBER/u01/app/oracle/oradata/orcl/redo02b.logTO GROUP 2;01重新创建口令验证文件使用OS 验证登录到数据库。将REMOTE_LOGIN_PASSWORDFILE 参数设置为NONE 并重新启动 数据库。使用orapwd 重新创建口令文件。将REMOTE_LOGIN_PASSWORDFILE 设置EXCLUSIVE。向口令文件添加用户并向每个用户分配适当的权限。重新启动实例。$ orapwd file=$ORACLE_

45、HOME/dbs/orapwORCL password=admin entries=501 数据库恢复执行用户管理的完全或不完全恢复确定需要不完全恢复的情况使用RMAN 执行完全或不完全恢复基于时间、SCN、日志序列、还原点或取消等方法执行不完全恢复恢复自动备份的控制文件恢复只读表空间01 RECOVER 命令从备份还原所有数据库文件,然后恢复数据库:从备份还原损坏的数据文件,然后恢复数据文件:或SQL RECOVER DATABASESQL RECOVER DATAFILE2 /oradata/indx01.dbfSQL RECOVER TABLESPACE index_tbs01RMAN

46、恢复:RESTORE和RECOVER 命令runsql ALTER TABLESPACE inv_tbs OFFLINE IMMEDIATE; RESTORE TABLESPACE inv_tbs;RECOVER TABLESPACE inv_tbs DELETE ARCHIVELOG; sql ALTER TABLESPACE inv_tbs ONLINE;01 完全恢复与不完全恢复恢复可分为以下两类:完全恢复是将数据库恢复到当前最新状态,包括直至请求恢复时进 行的所有已提交的数据更改。不完全恢复是将数据库恢复到请求恢复操作之前的指定的过去时间 点。01完全恢复过程01不完全恢复过程01 需

47、要不完全恢复的情况完全恢复由于归档日志文件丢失而失败。丢失了数据文件和一个或多个未归档重做日志文件。丢失了非多路复用联机重做日志文件。01 不完全恢复的类型不完全恢复有以下四种类型:基于时间的恢复基于取消的恢复基于更改的恢复日志序列恢复01 执行用户管理不完全恢复将数据库恢复到某一时刻:恢复数据库直到执行取消操作:使用备份控制文件进行恢复:SQL RECOVER DATABASE UNTIL 2 TIME 2016-12-14:12:10:03;SQL RECOVER DATABASE UNTIL CANCEL;SQL RECOVER DATABASE2 UNTIL TIME 2016-12-

48、14:12:10:033 USING BACKUP CONTROLFILE;01执行用户管理的不完全恢复要执行用户管理的不完全恢复,请按以下步骤进行操作:关闭数据库。还原数据文件。装载数据库。恢复数据库。使用RESETLOGS 选项打开数据库01用户管理的基于时间的恢复:示例情况如下:某个作业运行出错,必须取消其结果和影响。该操作发生在15 分钟前,并且在此之后数据库活动很少。您决定执行不完全恢复,将数据库还原到15 分钟前的状态。SQL SHUTDOWN IMMEDIATE$ cp /BACKUP/*.dbf/u01/db01/ORADATA SQL STARTUP MOUNTSQL REC

49、OVER DATABASE UNTIL TIME 2016-11-28:11:44:00; SQL ALTER DATABASE OPEN RESETLOGS;01用户管理的基于取消的恢复:示例情况与基于时间的示例相同,除了以下各项:重做日志未进行多路复用。一个联机重做日志丢失。丢失的重做日志未归档。该重做日志包含自上午11:34 以来的信息。丢失了26 分钟的数据。用户可以手动重新输入其数据。01用户管理的基于取消的恢复:示例用户管理的基于取消的恢复:示例按以下步骤恢复数据库:1. 关闭数据库。2. 从最新备份还原所有数据文件。3. 已经具有了有效备份,所以可以装载数据库。4. 执行RECO

50、VER DATABASE UNTIL CANCEL。5. 执行ALTER DATABASE OPEN RESETLOGS 以打开数据库。01使用RMAN 执行不完全恢复装载数据库。分配多个通道以并行执行操作。还原所有数据文件。使用UNTIL TIME、UNTIL SEQUENCE 、UNTIL SCN 恢复数据库。使用RESETLOGS 打开数据库。01使用RMAN 的基于时间的恢复:示例RMAN RUN 2 SET UNTIL TIME = 2016-11-28:11:44:00;3 RESTORE DATABASE;4 RECOVER DATABASE;5 ALTER DATABASE O

51、PEN RESETLOGS; 01 使用RMAN 的日志序列恢复:示例RMAN RUN 2 SET UNTIL SEQUENCE 120 THREAD 1;3 ALTER DATABASE MOUNT;4 RESTORE DATABASE;5 RECOVER DATABASE; # recovers through log 119 6 ALTER DATABASE OPEN RESETLOGS;7 01不完全备份和预警日志下面是在不完全恢复情况下,有关预警日志的一些最佳方案: 恢复前后检查预警日志。查找错误信息、提示和SCN。确认恢复过程中的各步骤都已成功完成。01还原点SQL CREATE

52、RESTORE POINT before_load;RMAN RECOVER DATABASE UNTIL RESTORE POINTbefore_load;还原点:用作SCN 或特定时间点的别名 存储在控制文件中可以与以下各项配合使用:RECOVER DATABASE FLASHBACK DATABASE FLASHBACK TABLE01不完全恢复:最佳方案提前计划和实践方案。研究并确认不完全恢复是必要的。 认真执行所有步骤。恢复前后对整个数据库进行备份。 始终验证恢复是否已成功完成。 使用还原点01恢复控制文件自动备份RMAN RESTORE CONTROLFILE TO /oradat

53、a/ctlfile.bak FROM AUTOBACKUP;RECOVER DATABASE; ALTER DATABASE OPEN RESETLOGS;01创建新的控制文件SQL ALTER DATABASE BACKUP CONTROLFILE TO TRACE;01回顾总结按数据库备份的本质划分物理备份 逻辑备份按备份时,数据库是否可用(是否启动)划分“热”备份,或联机备份,或非一致性备份 “冷”备份,或脱机备份,或一致性备份按备份数据数据是否完整划分完全备份 增量备份按备份的介质划分磁盘备份 磁带备份按备份的方式划分 RMAN备份 expdp/exp备份03闪回技术03闪回技术Fla

54、shback(闪回)是Oracle10g里新加入的一个非常有用 的一个特性。闪回技术提供了从逻辑错误中恢复的更有效和更 快的方法。闪回操作使数据库中的实体显示或回到过去的某一时间点, 这样可以实现对历史数据的恢复。闪回数据库功能可以将Oracle数据库恢复到以前的时间点Oracle数据库10g提供了五个新的闪回功能: 闪回版本查询,闪回事务查询, 闪回删除,闪回表,闪回数据库。Oracle数据库11gR1提供了一个有趣的新的闪回功能:闪回数据存档,它允许一个Oracle数据库管理员维护一个记录, 对指定时间范围内对所有表的改变情况进行记录。03闪回查询闪回查询(Flashback Query)

55、:查询过去某个时间点或者某个SCN值时表中的数据。Select *from vivien.test_dmp as timestamp to_timestamp(2017-12- 19 14:09:37,yyyy-mm-dd:hh24:mi:ss);Select *From vivien.test_dmp as of scn VAL_SCN;03 闪回版本查询闪回版本查询FlashbackVersionQuary查询过去某个时间段或某个SCN段内表中数据的变化SELECT versions_startscn,TO_CHAR (versions_starttime, YYYY-MM-DDHH24:

56、MI:SS), versions_xid,versions_operation, object_idFROM HR.TEST VERSIONS BETWEEN SCN MINVALUE AND MAXVALUEWHERE versions_startscn IS NOT NULL ORDER BY versions_startscn DESC;03Flashback Query和Flashback Version Query,都是依赖Undo过期数据的来构建前镜像的操作.UNDO_RETENTION03 闪回事务闪回事务查询来获取在给定的时间范围内指定事务或所有事务的元数据和历史数据。 其中的

57、UNDO_SQL列显示与事务中执行的DML语句在逻辑上相反的SQL语句。logon_user,-查询指定事务ID的事务的信息SELECTxid,operation,start_scn,commit_scn, undo_sqlFROMflashback_transaction_query WHERExid=HEXTORAW(123128913412);-同时使用闪回事务查询和闪回版本查询,来确定每次改变行的用户 SELECTxid,logon_userFROMflashback_transaction_query WHERExidIN(SELECTversions_xidFROMemployee

58、sVERSIONSBETWEEN TIMESTAMPTO_TIMESTAMP(2003-07-1814:00:00,YYYY-MM-DD HH24:MI:SS)ANDTO_TIMESTAMP(2003-07-1817:00:00,YYYY-MM-DD03 闪回数据库Flashback database db_flashback_retention_target=minutes db_recovery_file_dest db_recovery_file_dest_sizeShutdown immediate Startup mount;Alter database archivelog; Al

59、ter database flashback on; Alter database open;11g 中开启:Alter database flashback on; Alter database flashback off;查询:Select dbid,name,flashback_on from v$database; Select name,flashback_on from v$tablespace;03 闪回数据库根据时间点闪回数据库RMANflashback database to time=to_date(2017-12-21 12:30:00,YYYY-MM-DD HH24:MI:SS);根据SCN闪回数据库RMANflashback database to scn=12314312;根据日志序列闪回数据库RMANflashback database to sequence=3198 thread=1;根据时间戳闪回数据库RMANflashback database to timestamp(sysdate-1/24);03闪回需要注意的权限Flashback drop Flashback tableFlashbac

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论