oracle恢复数据库,在oracle下我们如何正确的执行数据库恢复
oracle恢复数据库,在oracle下我们如何正确的执行数据库恢复详细介绍
本文目录一览: oracle数据库如何备份与恢复
Oracle数据库的备份与恢复有三种标准的模式,大致分为两大类,备份恢复(物理上的)以及导入导出(逻辑上的)。物理备份又可以根据数据库的工作模式分为非归档模式(Nonarchivelog-style)和归档模式(Archivelog-style),通常,我们把非归档模式称为冷备份,而相应的把归档模式称为热备份。
冷备份是指在数据库关闭的情况下对数据文件、控制文件和重做日志文件进行拷贝。冷备份的优点是简单、快速、安全,缺点是需要停机维护,影响业务连续性。
热备份是指在数据库开启并处于归档模式下对数据文件进行拷贝。热备份的优点是不需要停机维护,不影响业务连续性,缺点是比较复杂、耗时、占用资源。
导入导出是指使用EXP/IMP或者数据泵技术将数据库中的对象或者数据导出到一个二进制文件中,并且可以将这个文件导入到另一个数据库中。导入导出的优点是灵活、方便、可移植,缺点是不能保证一致性、效率低、不能恢复系统对象。
系统重装后,怎么恢复以前的ORACLE数据库
任何软件都有可能在有意或无意的情况下被重新安装,如Oracle重装后数据库怎么恢复呢?情况发生在你是无意的情况下!ORACLE数据库恢复的方法我们经常会用到,下面就为您介绍重装系统后ORACLE数据库恢复的方法,希望对您学习ORACLE数据库恢复方面能有所帮助。
我的电脑突然挂了,不得不重装系统,不过我的ORACLE装在了D盘,所有的文件都还在,我相信一定能够恢复,直到搞定工作,我才开始整我的数据库,花了两天时间,终于恢复了,庆祝一下,同时总结一下,希望有遇到同样问题的朋友能够快速搞定此类问题
第一种:
首先,备份数据库(X:\oracle\oradata)下的数据文件,重新命名即可(否则装数据库的时候会提示sid已存在)。重新安装数据
库,当然数据库的名字就是你要恢复的名字。安装完成后,打开控制面板,停止oracle的服务。把(X:\oracle\oradata)下新生成的文件
改名,把原先目录下的文件恢复名字。再重新启动oracle服务和监听。用sys/as dba
登陆数据库,可能会提示权限不够(ora-01031)修改(X:\oracle\ora92\network\admin
)文件夹下的sqlnet.ora文件,添加SQLNET.AUTHENTICATION_SERVICES=
(NTS),增加权限。登陆进去后,打开table提示不能打开。打开common页,执行命令alert database
open;这时再刷新table,发现原先的表可以打开了。恢复成功了。再用原先数据库的普通用户进入。发现一切正常。至此,大功告成。
第二种:
1、首先,将原来的ORACLE文件夹改名,原来的路径是D:/oracle.我暂时改成D:/oracle_old.找来ORACLE(我用
的是ORACLE 9I)安装光盘,将ORACLE安装在原来安装的目录下,这样恢复起来更加方便,主要是注册表的内容不用修改。
2、安装完了之后,系统中又有一个可以使用的ORACLE了。这个时候要做的就是将原来的文件和数据恢复过来。第一步,先关闭ORACLE的所
有已经启动的项目,在"服务"里面逐一关闭。然后,将安装目录改名。我现在用的是D:/oracle.改成D:/oracle_new.再将D:
/oracle_old改成D:/oracle.
这样理论上说从物理层面恢复了ORACLE了。但是我们发现,现在还不能启动ORACLE的监听程序和服务程序。我们还要从逻辑上解决。
3、在dos环境下执行一个删除命令:oradim -delete -sid mm,其中mm为创建oracle时候创建的实例
建议执行这个命令后重新启动机器,重启后就可以建立和原来实例名相同的实例。当然你懒,不重新启动也可以,但是你的实例名就不能和原来的一样了。
4、在dos环境下执行命令 oradim -new -sid mm -startmode a -pfile "D:\oracle\admin\mm\pfile\initmm.ora "创建一个新的实例,其中 "mm"为新数据库的名称。
5、启动服务,先打开数据库,然后可以用以前的用户名和密码登陆进去。
要补充的是,一般的ORACLE数据库的监听程序都是用电脑的名称来识别地址的,而不是127.0.0.1或者localhost.所以,如果我们安装系
统的时候用的是不同的电脑名称(比如我原来用的是wm_mm.重新安装后用的是wenming_mm),那么我们还有一个工作要做,就是修改文件
listener.ora.将里面的相关的东西改过来就可以了。
需要耐心、细心,可能在一步里有一个细小的差别就会出些古怪的错误提示,有时需要根据错误提示采取策略,总之原理是,先装一个一模一样的ORACLE,安装目录、数据库名称都一样,这样保证注册表里不用更改;再覆盖物理文件,最后重新实例化,打开数据库就可以进去了。
如果您在系统重装前备份了Oracle数据库,可以通过以下步骤来恢复:
安装Oracle数据库软件
在新的系统上安装Oracle数据库软件,确保版本与原来的数据库软件版本相同或更高。
恢复备份文件
将备份文件复制到新系统上,并恢复它们。备份文件包括数据文件、控制文件、重做日志文件和参数文件。您可以使用Oracle提供的工具,如RMAN(Recovery Manager)或IMPDP(Data Pump Import)来执行备份文件的恢复。
创建监听器
在新系统上创建Oracle监听器。您可以使用Oracle提供的工具,如Net Configuration Assistant来完成此操作。
启动Oracle数据库实例
在新系统上启动Oracle数据库实例。您可以使用SQL*Plus或Oracle Enterprise Manager来完成此操作。
测试数据库
连接到Oracle数据库实例并测试其是否正常工作。您可以使用SQL*Plus或Oracle Enterprise Manager来测试数据库。
请注意,在进行此操作之前,请确保您具有足够的经验和知识来执行这些任务。在执行操作之前,请务必备份所有数据,以防止意外数据丢失。
数据库的备份和恢复 [Oracle数据库的备份与恢复策略分析]
【摘 要】为了保证数据库的安全性和稳定性,通过对Oracle的备份以及恢复策略进行了分析和探讨,明确了数据库备份以及恢复技术在实际工程项目当中的应用,通过分析数据库备份的实际需求,同时选择了合理的数据备份策略以及数据恢复策略,采取了有效的数据库的管理和维护策略,有效保证了数据库中的相关数据以及整个系统的安全性和稳定性,为类似数据库的备份以及恢复策略提供了可供参考的经验。
【关键字】Oracle数据库;备份;数据;恢复;策略
对于企业而言,数据库中的数据是重要的数据资源,也是企业得以持续总结和发展的重要的要素,由此保证相应数据库的安全性和稳定性有着十分重要的影响。 随着数据库内数据量的逐渐增加,并且数据库发展以及运行所面临的环境也日益复杂,数据库中数据的安全性以及相关系统运行的稳定性对企业的发展尤为重要。数据库中的数据难以避免地受到了外界的侵袭,例如网络、硬件以及系统等方面的故障,甚至自然灾害也将导致则整个系统的崩溃,数据丢失,数据库中存储过程中的失误将给企业的发展带来严重的影响甚至巨大的损失,为了有效避开或者减少这些无法预测损失的到来,建立一系列安全稳定可靠的数据备份系统尤为重要。
1 建立备份策略
1.1 数据备份需求
(1)良好的可扩展能力
随着企业的发展和项目管理以及建设的持续发展和升级,企业数据库中的数据量将日益增长,所使用的数据库也应具有数据的扩展和升级的空间和可能。
(2)备份数据的可恢复性
为保证企业内部数据库的规范统一以及集中安全的数据恢复和备份的管理,相应的数据备份以及恢复策略应保证所备份的数据的可靠性以及可恢复性,为系统数据的恢复奠定了良好的基础。
(3)保持业务流程的连贯性
数据备份和恢复系统要以维持企业基本的业务流程和体系为基础,在保证了系统业务连续性的前提下开展数据库的数据备份,避免了数据存储设备时间较长对企业系统的使用和相关项目的运行造成影响。
1.2 备份设备的选型
在对PCEDM数据库备份需求分析的基础上,使用IBM的TSM作为备份数据备份的支持。TSM软件管理软件系统,是为企业级别的数据以及系统安全设计,以解决企业级数据和系统的安全性,为数据的备份提供解决方案,为石油、金融、电信管理和其他许多大型企业解决了数据的备份和管理问题。 TSM的管理结构,其高度的可扩展性和广泛的平台支持,集中式,自动化的存储管理等方面的优势,提供高效,自动,可扩展的备份管理系统。TSM专有的二进制格式,每个数据备份和恢复加密的数据传输格式,TSM自动CRC数据校验,从而保证了数据备份和恢复过程的完整性和安全。
2 制定备份策略
通过详细分析Oracle数据库的存储结构、数据库的运行模式、数据存储文件、数据增长的速度和数据增长密度等实际状况,结合几个备份Oracle数据库的优点和缺点分析,数据的备份策略表示如下:
2.1 使用RMAN与冷备份、逻辑备份相结合。使用Oracle数据库本身的RMAN和冷备份以及逻辑备份的方式结合起来,其中,Oracle数据库所提供的备份方式是主要的备份方式,而冷备份,逻辑备份作为辅助备份。
2.2 RMAN 备份包括全备份和增量备份 2 种方式。使用备份数据量小,低差异增量备份。在进行了一次级别为n的Differential增量的备份过程中,RMAN备份仅仅将那些最近一次等级等于或小于增量备份n相比,产生变化的数据块进行备份。差异增量备份策略RMAN的方法,设定在每个星期天,星期三0级备份数据库和日志文件的备份,周一,周二,周四,周五,周六为第一级增量备份和日志文件的备份。
2.3 备份触发方式,在Unix预定时间以及计划内启动。构建系统的CRON任务,根据备份策略编辑命令,在确定的时间内起动文件以及备份计划。
3 数据备份方案的具体实施
备份存储设备使用的磁盘阵列和磁带库的组合方式。TSM备份存储池,并最终利用RMAN备份的数据进行备份的IBM Ultrium3584磁带库EMC CX700磁盘阵列空间分割出的一部分作为备份的存储区域。数据库服务器放置在本地磁盘系统进行数据库冷备份以及逻辑备份过程中所产生的备份文件。
3.1 冷备份
在数据库以TRANSACTIONAL,IMMEDIATE 或 NORMAL 方式关闭后进行的数据备份称为冷备份或脱机备份,所以得到的是一个备份的一致性。在数据库关闭,操作系统的所有订单数据文件,控制文件和联机日志文件,初始化参数文件等进行备份,冷备份副本。一旦数据库发生故障,可以将这些文件拷贝覆盖原始文件的位置。这个备份数据库,它可以返回到之前的状态。 由于PCEDM数据库需要,以确保7天24小时运作,冷备份必须在封闭的数据库进行。冷备份在正常的服务维修期间进行每一年两次的备份。使用冷备份具有一致性的优势,可以保证系统恢复的迅速。
3.2 逻辑备份
逻辑备份使用Oracle导出工具将数据库中的对象模型得出的二进制文件,有一个需要重用Oracle导入工具将模型的二进制文件导入到对象数据库。基于整个数据库备份的逻辑模式,用户模式或表模型可以将数据输出,更灵活。对于一些重要的数据可以作为辅助备份方式。通过使用不同操作系统平台,以及不同的数据库版本之间进行了数据库中数据的迁移,这成为了数据库物理备份的补充形式。
3.3 RMAN 备份
RMAN是Oracle提供的外部工具,专门用于数据库备份和恢复操作。通过在RMAN备份系统中启动Oracle服务进程完成备份的任务。创建RMAN的备份的具体步骤如下:
(1)在数据库服务器上安装TSM客户端,选择相关文件进行编辑,设置DSMI_ORC_CONFIG,TDPO_ PSWDPATH参数,建立RMAN备份和TSM备份管理软件系统的连接。
(2)创建RMAN目录数据库备份恢复,以保存备份的索引信息。
(3)RMAN恢复管理器,同时开始在目标数据库的连接。
(4)目标数据库的注册。
(5)修改RMAN默认的配置参数。 CONFIGURE命令可以用来改变默认的RMAN设置,如配置自动通道,在指定的备份保留策略,激活或屏蔽备份优化功能。
(6)创建备份脚本。
4 Oracle 数据库恢复
4.1 RMAN 的完全恢复
在使用RMAN的完全恢复,在线和归档重做日志文件中的所有记录将被用于恢复数据库,从备份中恢复已损坏的文件,然后应用日志文件,将数据文件恢复到当前的时间。
4.2 RMAN的不完全恢复
通过RMAN中的不完全恢复数据库,将数据库恢复到指定的时刻或状态,通过将指定的SCN或者应用指定日期顺序归档重做日志之后的状态,也就是从时间、SCN或日志这三种方式中选择一种方式作为恢复终止的标记。
5 结语
实践证明,这种设计的备份策略,实现真正意义上的数据备份自动化管理,使系统的管理从传统的繁琐的手工备份中解放出来,提高工作效率和工作质量;有效避免了人为错误,提高数据备份的安全性和可靠性;减少了数据库的I / O操作,提高了数据备份恢复的速度以及数据备份的有效性。与此同时,也使备份系统具有良好的可扩展性,能够满足当前和今后几年的业务发展的实际需求。
参考文献:
[1]张自辉. ORACLE数据库的备份方法和策略[J]. 吉首大学学报(自然科学版), 2009,(01) .
[2]安亚强. Oracle备份与恢复及故障研究[J]. 内蒙古煤炭经济, 2009,(04) .
[3]王立新. Oracle数据库备份与恢复策略浅析[J]. 才智, 2009,(28) .
[4]杨志彬. Oracle数据库备份策略[J]. 电脑知识与技术, 2009,(17) .
Oracle数据库的备份及恢复策略研究
多工联机重作日志文件
每个数据库实例都有其自己的联机重作日志组 在操作数据库时 Oracle首先将数据库的全部改变保存在重作日志缓冲区中 随后日志记录器进程(LGWR)将数据从系统共用区SGA(System Global Area)的重作日志缓冲区写入联机重作日志文件 在磁盘崩溃或实例失败时 可以通过与之相关的联机重作日志来保护数据库 将损失降至最低 但Oracle在默认的方式下只创建一组重作日志文件(每一组只有一个项目文件) 为了减少丢失这些重要的重作日志文件的危险 因此需要对其进行镜像拷贝
在Oracle级多工联机重作日志文件 即增加多个文件到每个组以便镜像数据 这样I/O故障或写丢失只损坏一个拷贝 从而保证了LGWR后台进程至少能够向一个成员写入信息 数据库仍然可以继续运行 同时应保证日志组的成员不应驻存在同一物理设备上 因为这将削弱多重日志文件的作用
镜像拷贝控制文件
控制文件描述通用的数据库结构 它存储了大量数据库状态信息 包括物理结构和联机重作日志文件在当时的名称 位置 状态 控制文件在数据库启动时被Oracle实例读取 保持打开并随着操作而文件内容更新 直到实例关闭为止 在它打开的过程中能够同步需要恢复的信息 包括检查点信息 因此若损坏或丢失了控制文件 Oracle将不能继续工作 因此应在系统中保持控制文件的多个拷贝 且这些拷贝应置于安装于不同磁盘控制器下的不同磁盘设备中
由于Oracle没有提供对控制文件多工的完整支持 因此应在对控制文件使用操作系统或硬件镜像 即在修改初始化文件的control_files参数后重新启动数据库前 应将控制文件复制到定义的新位置 否则数据库启动时将会出错
激活归档进程
当数据库运行于NOARCHIVELOG模式下时 只能在完全关闭数据库后进行数据库的一致备份 并且同时禁用了联机重作日志的存档 这样在Oracle实例失败时只能将数据库修复到最近的完整数据库备份时的那一点上 不能在失效点处对实例进行恢复 而在ARCHIVELOG模式下 数据库不仅可以进行一致备份 还可以在数据库打开的情况下进行联机备份 通过数据库的备份和联机与存档的重作日志文件 用户可以恢复所有已提交的事务 并允许将数据库恢复到指定的时间 SCN或日志系列号处 增大了恢复的灵活性 减少了故障时的数据丢失 因此数据库应运行于ARCHIVELOG模式
在ARCHIVELOG模式下为了防止文件损坏和介质故障 应把日志归档到不同的磁盘上 这可以通过在初始化文件中为归档重作日志指定多个目标实现
数据库实施较大改变时备份
因为控制文件中保存了数据库的模式结构信息 因此在对数据库进行较大改变(包括改变表结构 增加 删除日志文件或数据文件等)时应立即备份控制文件及相应的数据文件
使用RESETLOGS选项打开数据库后进行备份
在以RESETLOGS选项打开数据库后 应对整个数据库进行脱机或联机的备份 否则将不能恢复重置日志后的改变
当以RESETLOGS选项打开数据库时 Oracle将抛弃恢复中没有应用的重复信息 并确保永远不再运用 同时还将初始化控制文件中关于联机日志和重作线程的信息 清除联机日志中的内容 因此 RESETLOGS前的归档日志的序列号将与RESETLOGS后的Oracle控制文件的要求值不相符(备份文件中的检查点比控制文件中的检查点旧) 即在恢复中不能应用以前的归档日志文件 从而导致RESETLOGS操作之前的备份在新形体中无用
避免备份联机重作日志文件
由于文中提出了多工联机重作日志文件且数据库运行于ARCHIVELOG模式 ARCH进程能够将联机重作日志归档 因此不必对其进行备份 若用备份的联机重作日志文件重建它 可能会引起日志文件序列号的混乱 从而破坏数据库 得到适得其反的结果
重置联机日志
在进行了不完全恢复或用备份控制文件进行恢复后 应重置联机日志
为了确保数据库的一致性 必须保证在恢复后所有数据文件都恢复到同一个时间点 但不完全恢复可能导致数据文件中具有一个与其它文件不同的检查点 导致数据库的一致性受到破坏 同样 备份的控制文件中保存的SCN和计数器与当前日志文件中的值可能不同 从而也破坏了数据库的一致性 因此应在进行完上述两项操作后重置联机日志
数据库的逻辑备份
以上所述备份都为物理备份 是实际物理数据库文件从一处拷贝到另一处的备份 除此之外还可使用Oracle提供的导出实用程序进行数据库的逻辑备份 Oracle同时还提供了相应的导入实用程序重建逻辑备份中保存的信息
逻辑备份只拷贝数据库中的数据 而不记录数据位置的备份过程 它利用SQL语句 从数据库中导出数据到一个存放在合适位置的外部文件中 同时并可检测到数据块的损坏 因此可用其作为物理备份的补充
备份策略
考虑到如今大部分信息系统每周的业务是 × 操作 因此采用联机备份 否则可每隔一定时间进行一次脱机备份
应用上述规则 可得出下述典型的备份策略
①镜像拷贝重作日志文件
②镜像拷贝控制文件
③激活归档进程 即以ARCHIVELOG模式操作数据库
④每天进行数据库的部分联机备份(每天进行数据库的完全热备份将无畏地增加数据库的负担且没有必要 同时也增加了数据库恢复时的灵活性)
⑤每隔一周或几周进行一次数据库的逻辑备份
实际项目应用
当数据库中的文件达到一定数量后 DBA可能记不住该备份的文件的名或位置 因此 若能使备份过程自动化可有效地减轻DBA的负担 同时不会遗漏应备份的文件 应用自动批处理文件及脚本文件可实现备份 恢复的自动化 下面简介了在实际项目开发中应用本文所提出的自动备份 恢复策略 通过实际应用 证明了该策略的正确性和可行性
( )下述脚本实现联机重作日志的多工
connect 账户名/密码 alter database ktgis add logfile member 日志文件的存储位置 to group 联机日志组号; shutdown immediate startup pfile=初始化文件的存放位置 exclusive mount; 装载数据库且不打开 alter database archivelog; 激活归档进程 alter database open; exit
( )下列VB代码自动建立联机备份的批处理文件及相应的脚本文件
Set adoTmp = objConnect Execute( select tablespace_name from sys dba_data_files ) 得到数据库中的表空间名 Dim lnum As Long Dim lnum As Long lNum = FreeFile Open 自动备份批处理文件路径 For Binary As lNum lnum = FreeFile Open onlinebegin sql For Binary As lnum onlinebegin sql为设置表空间进入热备份模式的脚本文件文件名 lnum = FreeFile Open onlineend sql For Binary As lnum onlinebegin sql为结束表空间热备份模式的脚本文件文件名 strTmp = connect 账户名/密码 & Chr( ) & Chr( ) Put lnum strTmp strTmp = shutdown immediate & Chr( ) & Chr( ) Put lnum strTmp strTmp = startup pfile=初始化文件的存放位置exclusive mount; & Chr( ) & Chr( ) Put lnum strTmp strTmp = alter database archivelog; & Chr( ) & Chr( ) Put lnum strTmp strTmp = alter database open; & Chr( ) & Chr( ) Put lnum strTmp strTmp = connect 账户名/密码 & Chr( ) & Chr( ) Put lnum strTmp strTmp = Oracle服务管理器路径 & @ & onlinebegin sql & Chr( ) & Chr( ) 在服务管理器中执行脚本文件onlinebegin sql Put lNum strTmp Do While Not adoTmp EOF Set adoTmp = objConnect Execute( select file_name from sys dba_data_files where tablespace_name= & adoTmp Fields( ) & ) 得到当前表空间所对应的所有数据文件名 通过循环即可得到所有表空间所对应数据文件名 若只备份指定的表空间 可指定表空间名从而得到其对应的物理数据文件 strTmp = alter tablespace & adoTmp Fields( ) & begin backup; & Chr( ) & Chr( ) 将表空间置于热备份模式 Put lnum strTmp strTmp = Oracle的ocopy exe工具全路径 & adoTmp Fields( ) & & 备份文件存放路径 & Chr( ) & Chr( ) Put lNum strTmp strTmp = alter tablespace & adoTmp Fields( ) & end backup; & Chr( ) & Chr( ) 表空间恢复正常模式 Put lnum strTmp adoTmp MoveNext Loop strTmp = Oracle服务管理器路径 & @ & onlineend sql & Chr( ) & Chr( ) 在服务管理器中执行脚本文件onlineend sql Put lNum strTmp strTmp = exit & Chr( ) & Chr( ) 退出服务管理器 Put lnum strTmp strTmp = alter system switch logfile; & Chr( ) & Chr( ) 强制日志转换 使Oracle创建一个归档日志文件 Put lnum strTmp strTmp = exit & Chr( ) & Chr( ) Put lnum strTmp Close Set adoTmp = Nothing Set adoTmp = Nothing
运行得到的自动批处理文件 即可自动进行数据库的联机备份
( )在从备份中恢复数据文件后 执行下列脚本将数据库的恢复程序
connect账户名/密码 shutdown abort startup mount pfile=初始化文件的存放位置; 装载数据库 set autorecovery on; 打开自动恢复 recover database; alter database open; 打开数据库
结束语
lishixinzhi/Article/program/Oracle/201311/18527
oracle数据库恢复(oracle数据库恢复到某个时间)
更改原来d盘的oracle目录,比如目录名改成oraclebak,重新安装oracle数据库到d盘oracle目录下,并创建数据库和原来的数据库SID保持一致
然后关闭数据库,把新安装的数据库目录更名或删除,再把原来的oraclebak目录再改回oracle,然后重启一下数据库,这时的数据库就是你要恢复的数据库
oracle数据库如何还原?
1、在打开的ie浏览器窗口右上方点击齿轮图标,选择“Internet选项”,如下图所示:
2、在打开的Internet选项窗口中,切换到安全栏,在安全选卡中点击“自定义级别”,如下图所示:
3、在“安全设置-Internet 区域”界面找到“Java 小程序脚本”、“活动脚本”,并将这两个选项都选择为“禁用”,然后点击确定,如下图所示:
在oracle中如何找回被删除的数据?
1、首先新建一张测试表TEST,里面输入记录。由于删除/更新/插入恢复步骤相同,这里仅演示删除数据的情况。
2、删除其中1条记录,查看表中记录情况,由下图可见,记录2被删除了。
3、恢复之前先确定要恢复到的时间点,下图可以看出2018-03-07 15:33:00数据是正确的。
SELECT *
FROM TEST AS OF TIMESTAMP TO_TIMESTAMP('2018-03-07 15:33:00', 'YYYY-MM-DD HH24:MI:SS');
4、下面进行表数据恢复。
FLASHBACK TABLE TEST TO TIMESTAMP TO_TIMESTAMP('2018-03-07 15:33:00', 'YYYY-MM-DD HH24:MI:SS');
可以看到报错了,原因是没有开启行移动。
5、开启该表的行移动。
ALTER TABLE TEST ENABLE ROW MOVEMENT;
6、再次执行数据恢复。
FLASHBACK TABLE TEST TO TIMESTAMP TO_TIMESTAMP('2018-03-07 15:33:00', 'YYYY-MM-DD HH24:MI:SS');
然后查看数据情况,可以看到已经恢复了。
Oracle数据库Redo故障恢复
一 丢失inactive日志文件组的恢复
由于inactive日志文件组表示已经完成了检查点(dirty数据已经被写入数据文件) 数据库本身不会发生数据库丢失 如果在这个时候相应的redo丢失/损坏 可以通过clear重建日志文件组恢复
通过命令:
alter database clear logfile group n
如果数据库模式是archived的 则需要强制清除
alter database clear unarchived logfile group n
二 丢失active或current日志文件组的恢复
丢失情况分两种:
一个是正常关闭数据库(如shutdown immediate)
另一个是异常关闭数据库(如shutdown abort)
在损失当前日志时 数据库是正常关闭状态
由于shutdown immediate会执行全面的checkpoint 所以当前日志在实例恢复时可以不需要redo
在Oracle i中我们完全可以通过alter database clear logfile group n来进行恢复
但是在Oracle i中 则可能无法对current的redo日志进行clear 需要通过recover database until cancel恢复后(必须要做的)
用resetlogs选项打开
比如
alter database clear logfile group n
recover database until cancel;
alter database open resetlogs;
在损失当前日志时 数据库是异常关闭的
这种情况下 由于没有在执行全面检查点时 数据库就已经关闭了 那么Oracle在进行实例恢复的时候必须要求当前的日志 否则Oracle数据库将无法open
这样的情况下 我们通常需要从备份中恢复数据文件 通过应用归档日志进行向前推演 直到最后一个完好的日志文件 然后可以通过resetlogs启动数据库完成恢复 那么丢失的数据则是被损坏的日志文件中的数据
lishixinzhi/Article/program/Oracle/201311/18418
在oracle下我们如何正确的执行数据库恢复
当数据库需要进行介质恢复时,为了确保数据库能够顺利的执行恢复过程,恢复数据库到当前状态。我们要做的就是验证!验证什么呢?当然是验证备份集和归档是否能够 需要应用的归档。本文出自 “myblog” 博客,请务必保留此出处,