随笔分类 -  50.图解Oracle10g备份恢复系列

1
摘要:年初一直整理Oracle备份恢复相关技术,觉得有必要对自己学的东西写份东西,于是开始《图解Oracle10g在Window下备份与恢复》系列文章的编写。4月份时公司研发项目较紧编写工作一度停滞,年底时换到另外一个较为轻松的研发产品,可以在2010年把相关资料整理完毕,也了却一件心事。另外:最近贴文章的时候发现博客园的上传空间扩容了,看来我可以把整理的文档把PDF文件贴上来,方便大家下载阅读:0.各练习脚本1.Oracle10g安装.pdf2.Oracle10g备份恢复准备工作.pdf3.Oracle10g手工备份恢复--关闭数据库的备份与恢复(练习1.2).pdf4.Oracle10g手工备份 阅读全文
posted @ 2010-12-30 09:05 shishanyuan 阅读(3214) 评论(4) 推荐(2) 编辑
摘要:在练习12-14中我们学习了如何将数据库中删除的表恢复到错误发生之前,而不需要恢复整个数据库。Oracle可以恢复数据库的一个表空间,此时还原表空间数据文件,然后应用归档日志文件直到失效前或错误发生处。下面使用Oracle可迁移表空间功能将需要恢复对象的表空间迁移到主数据库,这种形式称为表空间时间点恢复(TSPITR)。在前面的练习中我们也学习如何用RMAN方便地进行恢复任务,只需要几个命令就可以创建副本数据库,而副本数据库的创建也非常简单。RMAN也可以用来处理TSPITR,其工作比手工完成方便得多。如果对主数据库只进行了RMAN备份,则只能用RMAN还原和恢复工作。如果兼有用户管理的备份、 阅读全文
posted @ 2010-12-27 15:51 shishanyuan 阅读(1831) 评论(0) 推荐(0) 编辑
摘要:备用数据库与主数据库一模一样,其中包括数据库的名称。在练习10、11中学习了如何应用用户管理技术实现一个备用数据库,当在原始数据库生成归档日志文件时,这些文件也传送并应用到备用数据库上。如果主数据库失效而且不能很快解决问题或者要求有立即失效恢复解决方案,则激活备用数据库。这样备用数据库就变为了主数据库,所有用户都将连接到这个新的主数据库上,以此同时需要立即创建一个新的备用数据库。如果没有这样做,那么新的主数据库失效时,就没有失效解决方案了。类似练习30中用RMAN创建副本数据库方法,RMAN也可以用创建备用数据库,只是几个重要的地方有差别,这些差别在进行本练习时会一目了然。一旦创建了备用数据库 阅读全文
posted @ 2010-12-25 17:44 shishanyuan 阅读(1279) 评论(0) 推荐(0) 编辑
摘要:通过使用数据库备份,DBA可以在同一服务器或其他服务器上建立副本数据库,这个副本数据库可以和主数据库有相同的名称(数据库拷贝)或者与数据库名称不同(数据库克隆),Oracle在数据库备份和数据库克隆之间唯一不同的是拷贝的数据库不能更改原名称。使用RMAN的复制数据库特性,可以从RMAN备份创建一个新的数据库,并为这个副本数据库保留已有的数据库名称或赋予新的名称。在练习9已经介绍了复制数据库的概念,在练习20-23和练习27-29中,讲述了如何使用恢复管理器(RMAN)进行备份与恢复,本练习将讲解如何综合这几个练习的知识,用RMAN创建副本数据库。RMAN如何从备份创建一个副本数据库?在复制期间 阅读全文
posted @ 2010-12-25 17:07 shishanyuan 阅读(1937) 评论(0) 推荐(0) 编辑
摘要:1、还原(restore)还原(restore)是指从RMAN所创建的备份中还原文件。这些还原文件可以通过增量备份以及重做等进行恢复。在前面练习中解释了RMAN将备份控制文件和归档重做日志所有数据块,对于数据文件则只备份使用过的数据块或者只备份根据定义的增量级别的最近一次备份以来所更改过的数据块。当使用RMAN还原文件后,这个数据文件都会与该文件备份时的原始状态一样,对于控制文件和归档重做日志,则需要对所有的数据块进行还原。如果使用“RMAN备份(练习21.22.23)中RMAN的部署”的增量备份策略,那么restore命令将只还原基准文件,例如:在每个星期天进行增量级别0的备份而每个星期进行 阅读全文
posted @ 2010-12-13 08:58 shishanyuan 阅读(1227) 评论(0) 推荐(1) 编辑
摘要:作为一名DBA必须能对数据库进行备份以确保数据库始终处于受保护状态,而不出现任何失效的情况。进行自动备份操作时,需要关注如下问题:经常备份的内容是什么?可以完全恢复数据库吗?是否已经有一个归档日志文件的良好备份吗?是否有不能恢复的数据库操作妨碍了数据库的恢复?哪些备份是孤立的并可以删除?恢复需要哪些备份才能实现?可以进行快速恢复吗? RMAN备份配置完成并成功运行后,仍需要给予密切关注,作为DBA验证备份工作必须进行,不需要的旧备份需要删除。在前面练习中推荐了一种典型的增量备份策略。当日常自动备份进行时,这些备份一直在累积。下图显示了几个星期之后日常备份是如何建立起来的,该图显示了在星期天进行 阅读全文
posted @ 2010-12-10 09:30 shishanyuan 阅读(1340) 评论(0) 推荐(0) 编辑
摘要:练习21:创建恢复管理器的整体拷贝在本练习中,将生成一个关于整个PRACTICE数据库的全部数据块的备份,其中包括控制文件,将会在数据库打开和关闭时分别进行整理数据库的备份。如果没有将目标数据库设置为ARCHIVELOG模式,则必须在数据库加载但没有打开时进行备份操作。在练习的过程中,将讲解执行整体数据库备份的基本命令,当运行该脚本时,屏幕上输出将与list命令所得的结果相对应。步骤一:生成RMAN打开的数据库备份脚本在本任务中将要在数据库打开时进行备份操作,下面实现的脚本与上一个练习的脚本基本相同,只有一个例外,数据库是打开的而不是关闭的:[代码]第1行:backup命令必须包含在run命令 阅读全文
posted @ 2010-03-09 09:08 shishanyuan 阅读(1925) 评论(0) 推荐(2) 编辑
摘要:在手工备份恢复的操作中,介绍了如何使用操作系统命令拷贝整个文件,拷贝的文件包括数据文件、控制文件和归档日志文件,然年后使用这些文件还原并恢复PRACTICE数据库。在操作过程中,用户必须自己管理备份和恢复操作,必须创建需要拷贝和还原的数据库文件清单。在本练习中,我们介绍RMAN如何使用服务器相关组件题用户处理备份的细节,当使用RMAN进行数据库备份时,RMAN知道需要对哪些文件进行操作。用户管理与服务器管理的备份与恢复之间的根本不同之处就是:对于用于管理操作DBA必须知道需要备份什么以及需要还原与恢复什么;而对于服务器管理的操作,RMAN将通过一个简单的接口决定需要备份什么以及需要还原与恢复什 阅读全文
posted @ 2010-03-04 08:40 shishanyuan 阅读(1852) 评论(1) 推荐(1) 编辑
摘要:恢复管理器(Recovery Manager,RMAN)是Oracle的一个工具,该工具用来备份、还原以及恢复Oracle数据库,自从 Oracle8.0版本引入RMAN改变了DBA手工备份、恢复数据库的方法。RMAN是一个将用户命令解释为PL/SQL命令行的解释器,通过解释这些PL/SQL命令进行数据库的备份、还原以及恢复操作。RMAN称之为服务器管理的恢复是因为它负责处理绝大多数备份、还原以及恢复的工作。在本练习之前,首先介绍RMAN的体系结构以及各组件之间如何交换:RMAN执行体:用于备份、还原和恢复数据库的命令工具。该程序在安装Oracle服务器时自动安装,并可以从数据库备份的服务器上 阅读全文
posted @ 2010-03-01 08:19 shishanyuan 阅读(1586) 评论(0) 推荐(2) 编辑
摘要:在以前的练习中,我们讨论了归档重做日志文件,对归档重做日志文件进行了备份并用于恢复操作,利用这些文件可以把改变传递到一个备用数据库中并将一个表空间及时恢复到一个特定的时间点。你是否考虑到什么方法可以直接观察一个Oracle重做日志文件的内部结构?从Oracle8i开始可以是用LogMiner工具查看一个或者多个日志文件的内容,包括一些数据字典视图和存储过程。在本练习中将练习安装LogMiner,并使用LogMiner来查看和分析数据库重做日志文件的内容。当Oracle改变数据块时,它把重做信息写入当前的联机重做日志文件。重做日志文件包括更改时间、对象标识符、更改的SCN号、数据块发生的操作和其 阅读全文
posted @ 2010-02-24 07:53 shishanyuan 阅读(1233) 评论(0) 推荐(1) 编辑
摘要:到目前为止介绍的备份和恢复活动都是物理操作,如果只希望把数据库的数据和对象拷入或拷出Oracle数据库,又如何处理呢?Oracle应用程序Export(导出)和Impot(导出)可以把一个数据库的逻辑内容拷贝到一个Oracle二进制格式的转储文件中,并把该文件保存在磁盘或者磁带上,当需要时可以把该二进制文件内容读入一个Oracle数据库库中以创建其中包含的对象。这样的逻辑转移可以在同一个数据库上进行,也可以在不同的Oracle数据库之间进行,即使这些数据库位于硬件和软件配置不同的平台上。当在一个Oracle数据库上运行Export时,所有的非数据字典对象(如:表)都提取到一个文件中,Imort 阅读全文
posted @ 2010-02-23 08:59 shishanyuan 阅读(1541) 评论(0) 推荐(1) 编辑
摘要:使用表空间时间点恢复(TSPITR)可以恢复数据库的一个或多个表空间。TSPITR支持将一个或多个非SYSTEM表空间恢复到与数据库其他部分不同的某个时间点上,实施TSPITR需要在一个辅助实例中还原源数据库的一部分,然后在辅助实例上将选择的表空间恢复到某一个时间点,最后把恢复的表空间迁移到源数据库。辅助实例(Auxiliary instance):用于恢复特定表空间的后台进程和内存结构,该实例将打开辅助数据库;辅助数据库(Auxiliary database):主数据库的一个复本或子集,用于表空间的临时恢复。在本节中,AUXY实例将打开一个名为PRACTICE数据库,该数据库来自PRACTI 阅读全文
posted @ 2010-02-20 13:49 shishanyuan 阅读(1368) 评论(0) 推荐(1) 编辑
摘要:在讲备用数据库之前,先说明两个术语:主数据库:数据库源就是主数据库,也可称之为源、产品或者主动数据库。在本节中PRACTICE数据库实例为主数据库;备用数据库:数据库副本是备用数据库,也可以成为目标数据库或者恢复数据库。该数据库通常与数据库拥有相同的名称和实例名称,但如果备用数据库和主数据库保存在同一服务器,实例名称将不同,如本节中STANDBY; 实现备用数据库需要注意如下细节:真实环境中,主数据库和备用数据库必须保存在在不同物理位置的服务器上;存放主数据库和备用数据库的服务器必须拥有相同的机器结构和操作系统;在两个数据库上的Oracle数据库版本必须相同;备用主机只做备用服务器,不能兼顾他 阅读全文
posted @ 2010-01-23 20:40 shishanyuan 阅读(1432) 评论(0) 推荐(0) 编辑
摘要:复制数据库成为复本或克隆数据库,数据库的副本名称与原数据库相同,克隆数据库与原数据库名称不同。我们可以运用前面讲过的还原和恢复技术,可以方便复制数据库。通过复制数据库可以为自己以及开发团队带来好处:开发团队拥有一个用于编程和测试的模拟数据库;可以验证当前数据库备份的质量;可以练习数据库恢复技能 利用Oracle工具,可以用三种方式复制数据库:可以使用操作系统的文件拷贝进行物理数据库的还原和恢复;可以用Oracle Export和Oracle Import工具将原数据库逻辑还原到一个新的数据库;用Oracle的恢复管理其进行数据文件和控制文件的一个物理文件还原。 复制数据库看上去很简单,如MS 阅读全文
posted @ 2010-01-18 08:37 shishanyuan 阅读(1343) 评论(2) 推荐(2) 编辑
摘要:练习7:打开数据库的完全数据库恢复在出现数据库故障时,可以用打开数据库备份并应用重做信息,来完全恢复数据库。步骤一:破坏数据库首先需要将数据库文件脱机解除操作系统对文件的锁定,然后进行删除,如下:[代码]需要注意的是,在短时间内数据库不会产生错误,因为Oracle将数据块读取到内存中。如所需的数据库实现未在内存,数据库将从磁盘读取数据,对于更改过的数据块也是如此,数据库会发现文件已经不存在,将会提示如下错误信息:此时切换日志不会产生错误,因为这两个丢失的文件不是联机的,除非我们将这两个文件恢复到联机状态。[代码]由于数据库处于变化中,提示如下信息:如果我们在这时视图将数据库关闭,Oracle会 阅读全文
posted @ 2010-01-17 11:05 shishanyuan 阅读(1270) 评论(0) 推荐(0) 编辑
摘要:第3、4节介绍了从一致备份中还原并恢复一个数据库,但弊端在于操作过程中数据库必须被关闭。因为在实际环境中,用户和应用系统一直在使用数据库,数据库是不允许被关闭,那如何实现打开数据库的备份和恢复,本节及下一节进行讨论。在数据打开时,数据文件和控制文件被被更新,重做日志被写入并归档,此时办法是在备份时把表空间置于备份模式,然后备份数据文件,备份完毕后把表空间恢复到正常状态。当数据库出现故障时,可以从备份路径下复制部分或全部文件进行还原,需要特别注意的每个数据文件首部都有一个序号,所有数据文件必须拥有同样的SCN号时,数据库才能够被打开。上面提到打开数据库备份时需要把表空间置为备份模式,当表空间处于 阅读全文
posted @ 2010-01-16 18:19 shishanyuan 阅读(1733) 评论(0) 推荐(0) 编辑
摘要:练习3:完全数据库恢复我们要实现恢复到出数据库出问题的时间点,必须先把数据库设置成归档模式。在接下的步骤中首先将设置数据库为归档模式,然后生成归档日志文件,最后在数据库崩溃的时候,利用归档日志文件把数据库恢复到发生问题的时间点。步骤一:配置数据库归档模式首先说明一下什么叫归档,归档就是把联机重做日志文件复制到归档重做日志文件的过程叫归档。下面我们通过v$database视图,查看PRACTICE数据库是否处于归档模式下:[代码]数据库标示符(dbid)是数据库创建时Oracle分配的一个唯一编号,从log_mode查询的结果可以看出PRACTICE数据库并没有处于归档模式,因此数据库切换到下一 阅读全文
posted @ 2010-01-12 09:01 shishanyuan 阅读(1917) 评论(0) 推荐(0) 编辑
摘要:保护数据最简单的方式就是把所有的数据库文件复制到另一个地方,一旦出现问题,可以把这些文件覆盖到原来的位置进行恢复,然后启动数据库,这样的操作叫做完全(或全部)一致数据库库备份与恢复。这里特别说明的是一致数据库备份通常指的是冷备份(关闭数据库),在这种状态下数据文件、重做日志以及控制文件都被标以相同的SCN号。第3、4节将介绍三种完全恢复:(1)数据库完全关闭备份和还原,不进行恢复;(2)完全的关闭备份和恢复;(3)不完全恢复。练习1:备份关闭的数据库本练习将备份PRACTICE所有的数据文件,接着模拟出现严重故障,删除所有的数据库文件,然后从备份还原所有数据库文件,并打开数据库。步骤一:生成数 阅读全文
posted @ 2010-01-11 12:45 shishanyuan 阅读(1870) 评论(0) 推荐(1) 编辑
摘要:1.创建PRACTICE数据库如果未安装Oracle程序,可以按照上篇Oracle安装过程中创建PRACTICE数据库,并设置了sys、system的密码为system;如果已经安装Oracle程序,可以使用DBCA创建,具体过程略。2.在USERS表空间下添加数据文件数据库在安装的过程中将创建sys和system用户,其中sys为数据库的DBA用户。由于后续练习的需要,我们以sys账号DBA身份登录,使用ALTER TABLESPACE命令为用户表空间创建第二个数据文件(也可以利用EM进行创建)。[代码]ALTER TABLESPACE USERS ADD DATAFILE表示需要对表空间U 阅读全文
posted @ 2010-01-10 13:20 shishanyuan 阅读(1318) 评论(1) 推荐(0) 编辑
摘要:1.1 下载安装包我们可以到ORACLE的官方网站去下载它的安装压缩包,不过得详细看相关的软件声明,废话少说,以下就是Oracle10g的链接地址和站点截图http://www.oracle.com/technology/global/cn/software/products/database/oracle10g/index.html1.2.安装1.2.1.运行setup.exe出现图1所示的“Oracle Database 10g安装”画面。图 1 Oracle Database 10g安装选中“高级安装”,以便为SYS、SYSTEM设置不同的口令,并进行选择性配置。1.2.2.“下一步”进 阅读全文
posted @ 2010-01-07 08:42 shishanyuan 阅读(4291) 评论(1) 推荐(1) 编辑

1