备份与恢复管理.ppt_第1页
备份与恢复管理.ppt_第2页
备份与恢复管理.ppt_第3页
备份与恢复管理.ppt_第4页
备份与恢复管理.ppt_第5页
免费预览已结束,剩余142页可下载查看

下载本文档

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

文档简介

第10章备份与恢复管理 学习重点 恢复管理器使用RMAN备份数据库数据库恢复使用RMAN恢复数据库 本章逻辑结构 10 1数据库备份10 1 1数据库备份的种类10 1 2造成数据库损失并需要恢复的各种问题10 1 3数据库备份的内容10 1 4数据库的备份模式10 1 5制订备份策略10 1 6Oracle中提供的备份和恢复解决方案10 2恢复管理器10 2 1利用RMAN可以进行的数据库备份类型10 2 2RMAN环境的基本操作10 3使用RMAN备份数据库10 3 1RMAN备份 本章逻辑结构 10 3 2使用RMAN备份数据库文件和归档日志10 3 3列出RMAN的备份 归档日志和数据库体现10 3 4报告备份和数据库方案10 4用户管理的备份10 4 1脱机 冷 备份10 4 2联机 热 备份10 5数据库恢复10 5 1数据库恢复的两个阶段10 5 2实例 崩溃恢复与介质恢复10 5 3完全恢复与不完全恢复10 6使用RMAN恢复数据库10 6 1准备规划数据库的还原与恢复10 6 2基本的数据库的还与恢复场景 本章逻辑结构 10 7用户管理的恢复10 7 1进行自动介质恢复10 7 2进行完全介质恢复10 7 3进行不完全介质恢复10 7 4在非归档模式下恢复数据库10 8本章小结10 9习题 备份与恢复有三种标准的模式 Oracle的备份与恢复有三种标准的模式 大致分为两大类 备份恢复 物理上的 以及导入导出 逻辑上的 而备份恢复又可以根据数据库的工作模式分为非归档模式 Nonarchivelog style 和归档模式 Archivelog style 通常 我们把非归档模式称为冷备份 而相应的把归档模式称为热备份 备份与恢复 逻辑备份 导出 export 导入 import 物理备份 冷备份 NoArchivelog Style 用户管理 热备份 Archivelog Style RMAN 冷备份 NoArchivelog Style 热备份 Archivelog Style Export Import的用处 Export从数据库中导出数据到dump文件中Import从dump文件中到入数据导数据库中 1 两个数据库之间传送数据 2 用于数据库的备份和恢复 3 从一个SCHEMA传送到另一个SCHEMA 4 从一个TABLESPACE传送到另一个TABLESPACE DUMP文件 EXPORT到出的是二进制格式的文件 不可以手工编辑 否则会损坏数据 该文件在ORACLE支持的任何平台上都是一样的格式 可以在各平台上通用 Export和Import三种操作方式 备份的数据输出 入 类型 表方式 T 可以将指定的表导出备份 用户方式 U 可以将指定的用户相应的所有数据对象导出 全库方式 Full 将数据库中的所有对象导出 TablemodeUserModeFullDatabaseMode TabledefinitionsTabledefinitionsTabledefinitionsTabledataTabledataTabledataOwner stablegrantsOwner sgrantsGrantsOwner stableindexesOwner sindexesIndexesTableconstraintsTableconstraintsTableconstraintsTabletriggersTabletriggersAlltriggersClustersClustersDatabaselinksDatabaselinksJobqueuesJobqueuesRefreshgroupsRefreshgroupsSequencesSequencesSnapshotsSnapshotsSnapshotlogsSnapshotlogsStoredproceduresStoredproceduresPrivatesynonymsAllsynonymsViewsViewsProfilesReplicationcatalogResourcecostRolesRollbacksegmentsSystemauditoptionsSystemprivilegesTablespacedefinitionsTablespacequotasUserdefinitions IMPORT时的对象倒入顺序1 Tablespaces14 SnapshotLogs2 Profiles15 JobQueues3 Users16 RefreshGroups4 Roles17 ClusterDefinitions5 SystemPrivilegeGrants18 Tables alsogrants comments 6 RoleGrantsindexes constraints auditing 7 DefaultRoles19 ReferentialIntegrity8 TablespaceQuotas20 POSTTABLESactions9 ResourceCosts21 Synonyms10 RollbackSegments22 Views11 DatabaseLinks23 StoredProcedures12 Sequences24 Triggers DefaultsandAuditing13 Snapshots 将指定的表导出备份 HostExptables emp dept grants yHostimpfromuser scotttouser testtables emp dept 例1备份system的表emp Hostexpsystem jsjtables empHostimpsystem jsjtables emp 例2备份system的表emp到指定文件 Hostexpsystem jsjrows ytables empfile e back emp dmpDroptableemp Hostimpsystem jsjtables empfile e back emp dmp 将表从一个用户移到另一个用户 将system emp移到user03 empHostexpsystem jsjtables system empfile e back emp dmpsql descuser03 emp Hostimpsystem jsjfromuser systemtouser user03tables empfile e back emp dmp 用户方式 U 可以将指定的用户相应的所有数据对象导出 HostExpuser03 aaarows yindexes ncompress nbuffer 65536feedback 100000file e back 20070610 dmplog e back imp 20070610 logHostImpuser03 aaafromuser user03touser user03rows yindexes ncommit ybuffer 65536feedback 100000ignore yfile e back 20070610 dmplog e back imp 20070610 log 用户方式 U 可以将指定的用户相应的所有数据对象导出 Expuser03 aaafile e back 20070417 dmp Impuser03 aaafile e back 20070417 dmp 全库方式 Full 将数据库中的所有对象导出 expsystem managerrows yindexes ncompress nbuffer 65536feedback 100000full yinctype completefile exp fulldb yyyymmdd dmplog exp fulldb yyyymmdd logimpsystem managerrows yindexes ncommit ybuffer 65536feedback 100000ignore yfull yfile exp fulldb yyyymmdd dmplog imp fulldb yyyymmdd log 全库方式 Full 将数据库中的所有对象导出 Hostexpsystem jsjfull yinctype completefile e back exp full 20060417 dmpHostimpsystem jsjfull yfile e back exp full 20060417 dmp 备份与恢复 逻辑备份 导出 export 导入 import 物理备份 冷备份 NoArchivelog Style 用户管理 热备份 Archivelog Style RMAN 冷备份 NoArchivelog Style 热备份 Archivelog Style 联机重做日志 重做日志以组 redologgroup 方式组织的 日志组是以循环方式使用的 一个数据库至少有两个日志组 当一个日志组填满后会自动撤换到下一个组 当所有组都用完后就会重用第一个组 第一个组的重做数据被覆盖 什么是归档日志 重做日志组是以循环方式使用的 重做日志组会被覆盖重做日志信息就会丢失 为了保存历史以来的重做日志 数据库可以运行在日志归档模式下 archivelogmode 在日志归档模式下 当日志组撤换到下一个组时后台进程ARCH将上一个日志文件复制到另一个地方 oracle10g使用快速恢复区会归档到该区 保存数据库默认为非归档模式 noarchivelogmode 非归档模式时数据库只能实现冷备份 当数据库损坏时数据库也只能恢复到备份时状态 归档模式数据库可以实现热备份 当数据库损坏时可以恢复至损坏时的状态而不会丢失数据 10 4用户管理的备份 灵活性效率性 10 4 1脱机 冷 备份 1 概述2 操作步骤 1 正常关闭要备份的数据库 2 备份整个数据库到一个地点 3 重新启动数据库 3 特点 简便易学 操作非常快速容易归档 简单复制即可 容易恢复到某个时间点上 只需将文件再复制回去 能与归档方法相结合 作数据库 最新状态 的恢复低度维护 高度安全 不足 单独使用时 只能提供到 某一时间点上 的恢复 在实施备份的全过程中 数据库必须作备份而不能做其他工作若磁盘空间有限 只能复制到磁带等其他外部存储设备上 速度会很慢不能按表或按用户恢复 脱机 冷 备份步骤 connect assysdbashutdownimmediate SQL copy sql cp文件备份位置 所有的日志 数据 控制及参数文件 startup Remark设置SQL Plus环境变量setfeedbackoffheadingoffverifyofftrimspooloffsetpagesize0linesize200Remark设置用户变量definedir E coldback definecmdfile E coldback cold com sql prompt spoolingto Remark重新设置SQL Plus环境变量setfeedbackonheadingonverifyontrimspoolonpagesize14echoon 脱机 冷 备份实例 利用spool生成命令文件 模拟数据库操作1 关数据库 备份数据库 模拟数据库操作2 启动数据库 模拟数据库损坏 模拟数据库操作1恢复 模拟数据库操作2恢复 利用备份恢复数据库 脱机 冷 备份实例 connectsystem jsjassysdba createtabletest aint insertintotestvalues 1 commit select fromtest 冷备份脚本 E coldback cold com sql shutdownimmediate 2 备份数据库SQL E coldback cold com sql 3 再插入记录 SQL startupSQL insertintotestvalues 3 commit select fromtest 4 模拟数据库损坏 删除数据文件 SQL selectstatus bytes namefromv datafile SQL shutdownimmediate SQL HostdelD ORACLE PRODUCT 10 1 0 ORADATA ORCL9 USERS01 DBFSQL startup 5 拷贝备份复原到原来位置 HostcopyE coldback d oracle product 10 1 0 oradata orcl9 C xcopyE coldback d oracle product 10 1 0 oradata orcl5 h r s 8 打开数据库 检查数据shutdownimmediate startupselect fromtest 冷备份小结 1 非归档模式下的恢复方案可选性很小 一般情况下只能有一种恢复方式 就是数据库的冷备份的完全恢复 仅仅需要拷贝原来的备份就可以 restore 不需要recover 2 这种情况下的恢复 可以完全恢复到备份的点上 但是可能是丢失数据的 在备份之后与崩溃之前的数据将全部丢失 3 不管毁坏了多少数据文件或是联机日志或是控制文件 都可以通过这个办法恢复 因为这个恢复过程是Restore所有的冷备份文件 而这个备份点上的所有文件是一致的 与最新的数据库没有关系 就好比把数据库又放到了一个以前的 点 上 10 4 2联机 热 备份 1 概述2 使数据库运行在归档模式3 操作 1 备份控制文件 2 备份部分或全部表空间 3 归档当前的联机日志文件 4 备份归档日志文件 4 特点 在表空间或数据文件级备份 备份时间短备份时数据库仍可使用可达到秒级恢复 恢复到某一时间点上 可对几乎所有的数据库实体作恢复恢复是快速的 大多数情况下在数据库仍在工作时恢复调用快 使用方便 缺点 投资较大因难于维护 操作要特别小心 不能出错 否则后果严重若联机备份不成功 所得结果不可用于时间点的恢复当数据库负载较高时 进行联机备份操作必须十分小心 查询数据库日志模式sql archiveloglist设置归档模式 1 关闭数据库sql shutdownimmediate 2 装入数据库sql startupmount 3 更改归档模式sql alterdatabasearchivelog 4 打开数据库sal alterdatabaseopen 使数据库运行在归档模式 备份表空间 1 设置表空间备份状态altertablespacebeginbackup 2 备份表空间的数据文件使用操作系统命令复制表空间文件到备份位置 3 结束表空间备份状态altertablespaceendbackup 热备份脚本 备份控制文件 sql alterdatabasebackupcontrolfileto 文件 sql alterdatabasebackupcontrofilefileto d backup cont ctl 联机 热 备份实例 利用spool生成命令文件 模拟数据库操作1 关数据库 不需要 备份数据库 模拟数据库操作2 启动数据库 不需要 模拟数据库损坏 模拟数据库操作1恢复 模拟数据库操作2恢复 利用备份恢复数据库copyrecover 1 建立数据SQL connectsystem jsjassysdba createtabletest aint tablespaceusers insertintotestvalues 1 commit Select fromtest 联机 热 备份实例 2 备份数据库 altertablespaceusersbeginbackup hostcopyd oracle product 10 1 0 oradata orcl9 users01 dbfe hotback1altertablespaceusersendbackup 3 继续在测试表中插入记录 SQL insertintotestvalues 8 commit select fromtest SQL altersystemswitchlogfile 4 关闭数据库 模拟丢失数据文件 sql shutdownimmediate SQL Hostdeld oracle product 10 1 0 oradata orcl9 users01 dbfc deld oracle product 10 1 0 oradata orcl user001 dbf 5 启动数据库错误 脱机该数据文件 sql startupdatabasemounted ora 01157 cannotidentify lockdatafile7 seedbwrtracefile脱机数据文件sql alterdatabasedatafile4offlinedrop 6 打开数据库 拷贝备份回来 restore 恢复 recover 该数据文件 并联机 SQL alterdatabaseopen 拷贝备份从备份处SQL Hostcopye hotback1 users01 dbfd oracle product 10 1 0 oradata orcl9 恢复该数据文件SQL recoverdatafile4 SQL alterdatabasedatafile4online 7 检查数据库的数据 完全恢复 SQL select fromtest 联机 热 备份实例 利用spool生成命令文件 模拟数据库操作1 关数据库 不需要 备份数据库 模拟数据库操作2 启动数据库 不需要 模拟数据库损坏 模拟数据库操作1恢复 模拟数据库操作2恢复 利用备份恢复数据库copyrecover 联机 热 备份小结 1 采用热备份 需要运行在归档模式下 可以实现数据库的完全恢复 也就是说 从备份后到数据库崩溃时的数据都不会丢失 2 可以采用全备份数据库的方式备份 对于特殊情况 也可以只备份特定的数据文件 如只备份用户表空间 一般情况下对于某些写特别频繁的数据文件 可以单独加大备份频率 3 如果在恢复过程中 发现损坏的是多个数据文件 即可以采用一个一个数据文件的恢复方法 备份与恢复 逻辑备份 导出 export 导入 import 物理备份 冷备份 NoArchivelog Style 用户管理 热备份 Archivelog Style RMAN 冷备份 NoArchivelog Style 热备份 Archivelog Style 什么是RMAN RecoveryManager是Oracle提供一个功能强大的备份和恢复工具 用户管理方式下的备份恢复不同 RMAN是在使用服务器对话进行所有备份和恢复 所以RMAN备份也称为服务器方式的备份 RMAN备份的特点 备份数据库 表空间 数据文件 控制文件 归档日志文件等 以块级备份直接支持磁盘和磁带备份支持增量和合并增量备份支持备份集进行压缩检测和跳过损坏的数据块并行方式进行备份创建RMAN脚本复制数据库 RMAN组成 RMAN通道 备份格式 RMAN备份的两种方式 备份集 BackupSet 和影像文件 ImageCopy 映像复件 镜像文件 ImageCopy影像文件是RMAN操作COPY命令产生的 同操作系统的COPY一样将数据文件复制到另一个地方 同备份集一样RMAN将影像文件数据库恢复的一部份 用户可以直接使用影像文件进行恢复 备份组 备份集 备份集是RMAN上使用BACKUP命令生成的 备份集是一个逻辑概念 一个备份集由若干个备份段 BackupPiece 组成 备份段就是操作系统文件 RMAN将备份的数据库文件 数据文件 控制文件 归档日志文件 SPFILE等 压缩 存储在备份段 一个备份段可以存储多个数据库文件 一个数据文件可以分开存储在多个备份段中 运行RMAN命令 1 单个执行RMAN backupdatabase 2 运行一个命令块RMAN run 2 copydatafile10to3 oracle prod backup prod 10 dbf 4 3 运行脚本RMAN backup db rman4 SQL命令RMAN SQL ALTERTABLESPACEUSEROFFLINE 连接目标数据库 备份关RMAN需要连接目标数据库 如果是本地连接可以不需要输入用户和口令 使用操作系统认证 远程的连接需要用户名口令和连接字 c rmantarget RMAN c rmantargetsys password mydbRMAN RMAN的自动配置 Oracle可以配置一些参数如通道 备份保持策略等信息 通过一次设定可以多次使用RMAN默认的配置参数 通过showall就可以看出来 RMAN showall 备份策略保持 分为两个保持策略 一个是时间策略 决定至少有一个备份能恢复到指定的日期 一个冗余策略 规定至少有几个冗余的备份 CONFIGURERETENTIONPOLICYTORECOVERYWINDOWOF5DAYS CONFIGURERETENTIONPOLICYTOREDUNDANCY5 CONFIGURERETENTIONPOLICYTONONE 在第一个策略中 是保证至少有一个备份能恢复到Sysdate 5的时间点上 之前的备份第二个策略中说明至少需要有三个冗余的备份存在 如果多余三个备份以上的备份将标记为冗余 NONE可以把使备份保持策略失效 Clear将恢复默认的保持策略 通道配置与自动通道分配 通过CONFIGURE配置自动分配的通道 而且可以通过数字来指定不同的通道分配情况 CONFIGURECHANNELDEVICETYPEDISKFORMAT e BACK U CONFIGURECHANNELnDEVICETYPEDISKFORMAT e BACK U E c10 channel rman 也可以在运行块中 手工指定通道分配 这样的话 将取代默认的通道分配 Run allocatechanneld1typediskformat d b01 u bak 控制文件自动备份 如下的命令 可以设置控制文件的自动备份CONFIGURECONTROLFILEAUTOBACKUPON 在任何backup或者copy命令之后 或者任何数据库的结构改变之后 可以用如下的配置指定控制文件的备份路径与格式CONFIGURECONTROLFILEAUTOBACKUPFORMATFORTYPEDISKTO d U01 ORACLE BACKUP control F E c10 controlfile rman 设置并行备份 RMAN支持并行备份与恢复 可以在配置中指定默认的并行程度 如CONFIGUREDEVICETYPEDISKPARALLELISM2 RMAN CONFIGUREDEVICETYPEDISKPARALLELISM2 RMAN BACKUPtablespaceuser001 E c10 para rman 设置并行备份 在手工分配通道时 分配多个通道并使用FILESPERSET使用数据库文件交错放在备份段上实现并行备份 RMAN run ALLOCATECHANNELd1TYPEDISK ALLOCATECHANNELd2TYPEDISK BACKUPFORMAT d b01 U bak FILESPERSET2tablespaceusers 配置默认IO设备类型 IO设备类型可以是磁盘或者磁带 在默认的情况下是磁盘 可以通过如下的命令进行重新配置 CONFIGUREDEFAULTDEVICETYPETODISK CONFIGUREDEFAULTDEVICETYPETOSBT 配置多个备份的拷贝数目 如果觉得单个备份集不放心 可以设置多个备份集的拷贝 如CONFIGUREDATAFILEBACKUPCOPIESFORDEVICETYPEDISKTO2 CONFIGUREARCHIVELOGBACKUPCOPIESFORDEVICETYPEDISKTO2 如果指定了多个拷贝 可以在通道配置或者备份配置中指定多个拷贝地点CONFIGURECHANNELDEVICETYPEDISKFORMAT u01 backup U u02 backup U RMAN backupdatafilenformat d U bak1 d U bak2 E c10 copy2 rman 备份优化 可以在配置中设置备份的优化 如CONFIGUREBACKUPOPTIMIZATIONON 如果优化设置打开 将对备份的数据文件 归档日志或备份集运行一个优化算法 设置RMAN的环境变量 配置备份策略保持配置备份的默认设备类型配置通道配置并行备份组配置压缩备份配置多个备份的拷贝数目配置控制文件和服务器参数文件自动备份 优先级顺序 1 在RUN块内的SETCONTROLFILEAUTOBACKUPFORMAT命令2 在RMAN提示符环境下的SETCONTROLFILEAUTOBACKUPFORMAT命令3 配置控制文件的自动备份格式 备份文件的格式 c备份片的拷贝数 d数据库名称 D位于该月中的第几天 DD M位于该年中的第几月 MM F一个基于DBID唯一的名称 这个格式的形式为c IIIIIIIIII YYYYMMDD QQ 其中IIIIIIIIII为该数据库的DBID YYYYMMDD为日期 QQ是一个1 256的序列 n数据库名称 向右填补到最大八个字符 u一个八个字符的名称代表备份集与创建时间 p该备份集中的备份片号 从1开始到创建的文件数 U一个唯一的文件名 代表 u p c s备份集的号 t备份集时间戳 T年月日格式 YYYYMMDD 1 备份整个数据库 非归档模式数据库只能冷的全备份 rman connecttargetrman shutdownimmediaterman startupmountrman backupdatabase 归档模式数据库备份 rman backupdatabase 2 备份表空间 归档模式数据才能备份表空间 例 rman backuptablespacesystem sysaux 3 备份数据文件 归档模式数据才能备份数据文件 例 rman reportschemarman backupdatafile1 2 4 备份归档日志 例 备份所有归档日志rman backuparchivelogall 例 备份所有归档日志后删除日志文件rman backuparchivelogalldeleteallinpute 5 备份控制文件 例 备分集包含当前控制文件rman backupdatabaseincludecurrentcontrolfile 例 当前控制文件到备份集rman backupcurrentcontrolfile 6 备份SPFILE 例 RMAN BACKUPSPFILE 完全和增量数据文件备份 增量备份设为多个级别 Level0 4 其中Level0是完全备份 是增量备份的开始 1 差额增量备份 DifferentialIncrementalBackup 备份上最近一次同级的备份以来修改过和数据块 例 rman backupincrementallevel0databaserman backupincrementallevel1database 3 合并增量备份Oracle10g提供新的功能 将备份合并到以前增量备份中 从而减少备份所需要空间 也加快了恢复的速度 rman backupincrementallevel0databasetagfull 1 列出RMAN的备份 归档日志和数据库体现 1 RMANLIST命令2 列出备份 1 按备份列出 2 按文件列出3 以概要模式列出备份4 有限制地列出备份5 列出数据库体现 LISTBACKUP COPYOFDATABASETABLESPACEDATAFILE CONTROLFILESPFILEARCHIVELOG RMAN LISTBACKUP RMAN LISTBACKUPSUMMARY RMAN LISTBACKUPBYFILE RMAN LISTCONTROFILECOPY RMAN LISTCOPYOFTABLESPACE USERS 报告备份和数据库方案 1 RMAN报告功能 报告哪些文件需要一个备份 报告哪些文件被进行了不可恢复的操作 报告哪些备份已经过时可以被删除了 报告在某个以前的时间数据库的物理方案 报告最近有哪些文件没有被备份 2 报告需要备份的对象 主要的参数REDUNDANCYDAYSINCREMENTAL 例 列出当前数据库文件RMAN REPORTSCHEMA 例 列出恢复时需要超过三天归档日志的文件RMAN REPORTNEEDBACKUPDAYS3 例 列出恢复时需要超过2级增量备份的文件RMAN REPORTNEEDBACKUPINCREMENTAL2 E ch10 2 rman 数据库恢复 复原 restore 恢复 recover 数据库恢复的两个阶段 前滚 rollingforward 后滚 rollingback 数据库恢复的前滚和后滚两个阶段 图10 20数据库恢复的前滚和后滚两个阶段 实例 崩溃恢复与介质恢复 定义目的特点 介质完全恢复与不完全恢复 完全恢复整个数据库操作 登录数据库确保要恢复的所有文件都联机将整个数据库或要恢复的文件进行复原施加联机日志文件和归档日志文件 表空间或数据文件完全恢复的操作 如果数据库已打开 则将要恢复的表空间或数据文件置于脱机状态将要恢复的数据文件进行复原施加联机日志文件和归档日志文件 Oracle不完全恢复的类型 基于时间的恢复 time basedrecovery 基于更改的恢复 change basedrecovery 日志序列恢复 logsequencerecovery 基本的数据库的还原与恢复语句 整个数据库的还原与恢复还原恢复单个表空间或数据文件 1 整个数据库的还原与恢复 非归档模式数据库恢复rman connecttarget rman startupnomount rman restorecontrolfile rman startupmount rman restoredatabase rman recoverdatabase rman alterdatabaseopen 1 整个数据库的还原与恢复 归档模式数据库恢复rman startupmount rman restoredatabase rman recoverdatabase rman alterdatabaseopen 归档模式数据库恢复rman sql altertablespaceusersofflineimmediate rman restoretablespaceusers rman recovertablespaceusers rman sql altertablespaceusersonline 2 还原恢复单个表空间或数据文件 归档模式数据库恢复rman sql alterdatabasedatafile4offline rman restoredatafile4 rman recoverdatafile4 rman sql alterdatabasedatafile4online 2 还原恢复单个表空间或数据文件 RMAN热备份方案实例 SQL createtabletest aint tablespaceusers insertintotestvalues 3 commit Select fromtest 备份数据库表空间user001 C rmantargetsystem jsj orclRMAN run allocatechannelc1typedisk backuptag tsuser format d tsuser U T tablespaceusers E c10 users rman SQL insertintotestvalues 7 commit select fromtest SQL altersystemswitchlogfile 关闭数据库 模拟丢失数据文件 SQL shutdownimmediate SQL Hostdeld oracle product 10 1 0 oradata orcl9 users01 dbf 5 启动数据库 检查错误 SQL startup 6 先打开数据库 SQL alterdatabasedatafile4offlinedrop SQL alterdatabaseopen 7 恢复该表空间 RMAN run allocatechannelc1typedisk restoredatafile4 recoverdatafile4 8 检查数据是否完整 SQL alterdatabasedatafile4online select fromtest 不完全恢复案例 手动备份下的基于时间的恢复 基于时间的恢复可以不完全恢复到现在时间之前的某一个时间 对于某些误操作 如删除了一个数据表 可以在备用恢复环境上恢复到表的删除时间之前 然后把该表导出到正式环境 避免一个人为的错误 recoverdatabaseuntiltime 2007 05 21 14 43 01 1 连接数据库 创建测试表并插入记录 createtabletest aint tablespaceusers insertintotestvalues 1 commit Select fromtest 2 备份数据库 altertablespaceusersbeginbackup hostcopyd oracle product 10 1 0 oradata orcl9 users01 dbfe hotback1altertablespaceusersendbackup 3 删除测试表 假定删除前的时间为T1 在删除之前 便于测试 继续插入数据并应用到归档 insertintotestvalues 8 commit select fromtest SQL altersystemswitchlogfile selectto char sysdate yyyy mm ddhh24 mi ss fromdual archiveloglist droptabletest 4 准备恢复到时间点T1 找回删除的表 先关闭数据库SQL shutdownimmediate 5 拷贝刚才备份的所有数据文件回来 Hostcopye hotback1 users01 dbfd oracle product 10 1 0 oradata orcl9 6 启动到mount下SQL startupmount 7 开始不完全恢复数据库到T1时间 SQL recoverdatabaseuntiltime 2007 06 2513 12 37 8 打开数据库 检查数据SQL alterdatabaseopenresetlogs SQL select fromtest 说明 1 不完全恢复最好备份所有的数据2 不完全恢复之后 都必须用resetlogs的方式打开数据库 建议马上再做一次全备份 因为resetlogs之后再用以前的备份恢复是很难了 3 一般都是在测试后备用机器上采用这种不完全恢复 恢复之后导出 导入被误删的表回生产系统 RMAN备份下的基于改变的恢复 SCN SystemChangeNumber 系统改变号 一个由系统内部维护的序列号 当系统需要更新的时候自动增加 他是系统中维持数据的一致性和顺序恢复的重要标志 运行以下语句可以得到系统SCN号SQL selectmax ktuxescnw power 2 32 ktuxescnb scnfromx ktuxe SQL selectcurrent scnfromv database 1 连接数据库 创建测试表并插入记录 createtabletest aint tablespaceusers insertintotestvalues 1 commit Select fromtest 2 备份数据库 RMAN Backupfulltag dbfull format d backup full u s p databaseRMAN BackupdatabaseSQL altersystemarchivelogcurrent 3 删除测试表 在删除之前 便于测试 继续插入数据并应用到归档 并获取删除前的scn号 insertintotestvalues 2 commit select fromtest altersystemswitchlogfile selectcurrent scnfromv database droptabletest 4 准备恢复到SCN31014 先关闭数据库 然后启动到mount下 SQL shutdownimmediate SQL startupmount 5 开始恢复到改变点SCN RMAN restoredatabase RMAN recoverdatabaseuntilscn538585SQL alterda

温馨提示

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

评论

0/150

提交评论