用Oracle归档日志进行恢复的方法

合集下载

oracle 归档日志解析

oracle 归档日志解析

oracle 归档日志解析摘要:一、归档日志概述二、归档日志的作用三、归档日志的解析方法四、归档日志解析的应用场景五、总结与建议正文:随着大数据时代的到来,Oracle 数据库归档日志在各行各业中发挥着越来越重要的作用。

本文将对归档日志进行简要概述,分析其作用,介绍解析方法,并讨论应用场景。

最后给出总结与建议。

一、归档日志概述Oracle 归档日志(Archive Log)是一种用于记录数据库事务日志的技术。

它可以将数据库中的更改操作(如插入、更新和删除)记录下来,以便在出现故障时恢复数据。

归档日志采用增量方式记录,即每次更改操作后,日志文件会逐步变大。

二、归档日志的作用1.数据恢复:归档日志可以在数据库发生故障时,用于恢复数据至故障发生前的状态。

2.数据审计:归档日志可以记录所有对数据库的更改操作,方便审计人员追溯和分析数据变更原因。

3.性能优化:通过分析归档日志,可以找出数据库性能瓶颈,为优化数据库性能提供依据。

三、归档日志解析方法1.手工解析:通过编写SQL 语句或使用第三方工具,查询归档日志文件内容,分析日志中的数据。

2.使用Oracle 提供的事件解析工具:如DBMS_LOGSTD.REPORT 等,可以方便地生成归档日志的报表和统计数据。

3.使用第三方归档日志分析工具:如Oracle 的Partner 产品OraInsight 等,可以提供更丰富的归档日志分析功能。

四、归档日志解析的应用场景1.数据库故障排查:通过分析归档日志,可以找出导致数据库故障的原因,快速恢复业务。

2.性能监控与优化:分析归档日志中的SQL 语句执行情况,找出性能瓶颈,优化数据库性能。

3.数据审计与追溯:归档日志可以记录所有数据变更操作,方便审计人员分析和追溯数据变更原因。

4.数据库安全分析:通过分析归档日志,可以监控数据库访问权限和操作,提高数据库安全。

五、总结与建议归档日志在数据库管理中具有重要意义。

对于数据库管理员而言,应充分利用归档日志进行故障排查、性能优化和数据审计等工作。

ORA-01033

ORA-01033

ORA-01033: ORACLE initialization or shutdown in pr出现了ORA-01033:ORACLE initialization or shutdown in progress原因就是因为我把介质文件给删掉了解决步骤:以DBA(通常有好几个sys或system)用户sqlplus登录请输入用户名: connect system/sys as sysdba如果上面登陆不了可以换作(sqlplus/nologconnect sys/password as sysbda )然后(卸载数据)输入:SQL> shutdown normal会出现:ORA-01109: 数据库未打开已经卸载数据库。

ORACLE 例程已经关闭。

然后(装载数据)输入:SQL> startup mountORACLE 例程已经启动。

数据库装载完毕。

之后:SQL>alter database open;第 1 行出现错误:ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件ORA-01110: 数据文件 6:'D:\ORACLE\PRODUCT\10.1.0\ORADATA\RAILWAY\2008_1.DAT'SQL> alter database create datafile 6;数据库已更改。

SQL>alter database open;第 1 行出现错误:ORA-01113: 文件 6 需要介质恢复ORA-01110: 数据文件 6:'D:\ORACLE\PRODUCT\10.1.0\ORADATA\RAILWAY\2008_1.DAT'SQL> alter database datafile 6 offline drop;数据库已更改。

继续SQL>alter database open;如果出现以上错误,继续执行相关操作,上面的6要和create和drop对应。

oracle 数据库 快速恢复区域 使用规则

oracle 数据库 快速恢复区域 使用规则

oracle 数据库快速恢复区域使用规则
Oracle数据库的快速恢复区域是用于存放所有与备份恢复操作相关的文件的地方,包括控制文件在线镜像、在线重做日志、归档日志、外来归档日志、控制文件镜像复制、数据文件镜像复制、RMAN备份片和闪回日志。

这些文件由Oracle数据库维护,并按照Oracle托管文件(OMF)格式生成文件名。

启用快速恢复区域后,它将成为RMAN备份的默认存放位置。

如果没有在RMAN 配置或在backup命令中指明路径,RMAN备份片、镜像复制、控制文件自动备份等都会进入快速恢复区。

启用快速恢复区域时,需要考虑以下规则:
1. 位置选择:快速恢复区域的位置必须在集群文件系统、ASM或共享目录上。

2. 大小设置:首先使用参数DB_RECOVERY_FILE_DEST_SIZE设置快速恢复区域的大小。

理想情况下,快速恢复区域应足够大,可以包含控制文件、在线redo 日志、归档redo日志和闪回日志。

它应能够包含所选备份策略使用的数据库的所有数据文件的一个拷贝和增量备份。

在绝对最小的情况下,快速恢复区域必须足够大以包含不在磁带上的归档日志。

3. 无需关闭和重启数据库实例:这些参数可以在需要或不需要关闭和重启数据库实例的情况下启用快速恢复区域。

以上内容仅供参考,如需更多信息,建议访问Oracle数据库官网或咨询专业技术人员。

oracle数据库还原的详细流程

oracle数据库还原的详细流程

oracle数据库还原的详细流程
Oracle数据库还原的详细流程如下:
1. 关闭Oracle数据库服务:在开始还原之前,需要确保Oracle数据库服务已经关闭。

这样可以避免在还原过程中发生数据冲突或损坏。

2. 确认数据库备份:在开始还原之前,需要确认数据库的备份情况。

数据库的备份可以分为完全备份和增量备份两种。

完全备份是指对整个数据库进行备份,而增量备份是在完全备份的基础上,对新增或修改的数据进行备份。

可以通过查看备份记录或者与负责备份的人员进行沟通来确认备份情况。

3. 选择合适的还原方式:根据备份文件的位置和可用资源,选择适合的还原方式。

例如,如果备份文件在本地磁盘上,可以选择磁盘还原;如果备份文件在云端,可以选择云存储还原。

4. 执行还原操作:根据选择的还原方式,执行相应的操作。

例如,在磁盘还原中,需要将备份文件复制到目标磁盘中。

在云存储还原中,需要将备份文件从云存储下载到本地或直接在云平台上进行还原。

5. 启动Oracle数据库服务:完成还原后,启动Oracle数据库服务,验证数据是否正确加载并可用。

请注意,以上步骤仅供参考,具体操作可能因实际情况而有所不同。

在进行数据库还原时,建议参考Oracle官方文档或咨询专业人士以获取更准确的信息和指导。

oracle数据库处理归档日志的步骤

oracle数据库处理归档日志的步骤

一、了解归档日志归档日志是Oracle数据库中一种重要的日志记录方式,它记录了数据库中所有发生的修改操作,包括插入、更新、删除等。

归档日志的作用是用于数据库的恢复和回滚操作,确保数据库的完整性和可靠性。

二、启用归档模式1. 确认数据库当前日志模式在连接数据库后,可以使用以下SQL语句确认当前的数据库日志模式:```SELECT log_modeFROM v$database;```如果返回结果为ARCHIVELOG,则表示数据库已经处于归档模式;如果返回结果为NOARCHIVELOG,则表示数据库尚未启用归档模式。

2. 修改数据库为归档模式如果数据库尚未启用归档模式,可以使用以下步骤将数据库修改为归档模式:```SHUTDOWN IMMEDIATE;STARTUP MOUNT;ALTER DATABASE ARCHIVELOG;ALTER DATABASE OPEN;```通过以上步骤,数据库将被修改为归档模式,并可以开始处理归档日志。

三、配置归档参数1. 确认归档目标归档目标是指归档日志文件的存储位置。

可以使用以下SQL语句确认当前的归档目标:```SHOW PARAMETER LOG_ARCHIVE_DEST;```如果没有设置归档目标,需要通过以下SQL语句进行设置:```ALTER SYSTEM SETLOG_ARCHIVE_DEST_1='LOCATION=/archivelog';```其中,/archivelog为归档日志存储的路径,可以根据实际情况进行调整。

2. 确认归档模式归档模式是指数据库在何种情况下触发归档日志的记录。

可以使用以下SQL语句确认当前的归档模式:```SHOW PARAMETER LOG_ARCHIVE_START;```如果归档模式未启用,需要通过以下SQL语句进行设置:```ALTER SYSTEM SET LOG_ARCHIVE_START=TRUE;```通过以上步骤,归档参数将被正确配置,数据库可以开始处理归档日志。

oracle数据库备份与还原方法

oracle数据库备份与还原方法

oracle数据库备份与还原方法一、Oracle数据库备份方法。

1.1 冷备份。

冷备份是在数据库关闭状态下进行的备份。

这就好比是给一个睡着的人做全身检查,一切都是静止的,好操作。

你得把数据库相关的文件,像数据文件、控制文件、重做日志文件等一股脑儿地拷贝到一个安全的地方。

这种备份方法简单直接,但是呢,在备份期间数据库是不能使用的,就像你要修东西得先把它停下来一样,有点不方便。

不过它恢复起来也相对容易,就像把之前拷贝走的东西再原封不动地拿回来就好。

1.2 热备份。

热备份可就不一样啦,它是在数据库运行的时候进行备份的。

这就像是给一个正在跑步的人换鞋子,难度不小。

热备份主要是利用归档模式,对表空间或者数据文件进行备份。

这种方式不影响数据库的正常使用,就像在火车行驶的时候给它换个小零件,火车还能继续跑。

但是热备份的操作相对复杂一些,需要对Oracle数据库有比较深入的了解,不然很容易搞砸,那可就“偷鸡不成蚀把米”了。

1.3 逻辑备份。

逻辑备份呢,是通过Oracle的工具,比如EXP或者EXPDP来进行的。

这就像是把数据库里的数据按照一定的逻辑规则整理出来,打包带走。

它可以备份特定的表、用户或者整个数据库。

这种备份方式比较灵活,就像你可以从一个大仓库里挑选你想要备份的东西。

但是逻辑备份的速度可能会比较慢,特别是数据量很大的时候,就像小马拉大车,有点吃力。

二、Oracle数据库还原方法。

2.1 冷备份还原。

如果是冷备份还原,那就简单多啦。

首先把数据库关闭,然后把之前备份的文件再拷贝回原来的位置,就像把东西放回原位一样。

不过要注意文件的权限和路径,可不能张冠李戴。

一切就绪后,再启动数据库,就大功告成了。

这就像把修好的东西重新启动,又能正常工作了。

2.2 热备份还原。

热备份还原就复杂得多了。

首先要根据备份的情况,确定需要还原的表空间或者数据文件。

然后利用归档日志和备份文件进行恢复。

这过程就像走钢丝,得小心翼翼的。

Oracle的闪回恢复区和归档日志多路径设置

Oracle的闪回恢复区和归档日志多路径设置

Oracle的闪回恢复区和归档⽇志多路径设置Oracle9i开始提供闪回查询,以便能在需要的时候查到过去某个时刻的⼀致性数据,这是通过Undo实现的。

这个功能有很⼤的限制,就是相关事务的undo不能被覆盖,否则就⽆⼒回天了。

oracle10g⼤⼤的增强了闪回查询的功能,并且提供了将整个数据库回退到过去某个时刻的能⼒,这是通过引⼊⼀种新的flashback log实现的。

flashback log有点类似redo log,只不过redo log将数据库往前滚,flashback log则将数据库往后滚。

为了保存管理和备份恢复相关的⽂件,oracle10g提供了⼀个叫做闪回恢复区(Flashback recovery area)的新特性,可以将所有恢复相关的⽂件,⽐如flashback log,archive log,backup set等,放到这个区域集中管理。

1.设置闪回恢复区闪回恢复区主要通过3个初始化参数来设置和管理db_recovery_file_dest :指定闪回恢复区的位置db_recovery_file_dest_size :指定闪回恢复区的可⽤空间⼤⼩db_flashback_retention_target :指定数据库可以回退的时间,单位为分钟,默认1440分钟,也就是⼀天。

当然,实际上可回退的时间还决定于闪回恢复区的⼤⼩,因为⾥⾯保存了回退所需要的flash log。

所以这个参数要和db_recovery_file_dest_size配合修改。

2.启动flashback database设置了闪回恢复区后,可以启动闪回数据库功能。

⾸先,数据库必须已经处于归档模式1.关闭数据库SQL> shutdown immediate;2.启动数据库为mount模式SQL> startup mount3.显⽰和修改归档模式SQL> archive log listSQL> alter database archivelog;SQL> alter database open4.设置归档⽇志的格式SQL>alter system set log_archive_format='ARC%s%t%r.log' scope=spfile;5.设置归档⽇志的存放路径SQL>alter system set log_archive_dest='+data/arcl' scope=spfile;SQL>shutdown immediateSQL>startup6.强制切换归档⽇⾄SQL>alter system switch logfile;7.取消归档SQL>alter database noarchivelog;参数1.格式参数%s⽇志序列号%S⽇志序列号(带前导的0)%t重做线程编号%a活动的ID号%d数据库ID号%r RESELOGS的iD值SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination USE_DB_RECOVERY_FILE_DESTOldest online log sequence 156Next log sequence to archive 158Current log sequence 158然后,启动数据库到mount状态SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL> startup mountORACLE instance started.Total System Global Area 285212672 bytesFixed Size 1218992 bytesVariable Size 75499088 bytesDatabase Buffers 205520896 bytesRedo Buffers 2973696 bytesDatabase mounted.SQL>alter database flashback on;数据库已更改。

Avamar备份和恢复oracle数据库操作手册

Avamar备份和恢复oracle数据库操作手册

Avamar备份和恢复Oracle数据库操作手册1.1 Oracle数据库备份首先要进入Sqlplus用archive log list—查看是否开启了归档模式;Oracle做热备份必须是归档模式,同时需要进入mount或open状态。

因此当发现不是归档模式时,需要采用以下步骤先把Oracle修改为归档模式才能正常备份。

1.首先关闭数据库:2.然后重新连接进sqlplus,再把Oracle启动到mount状态,然后修改成归档日志模式,修改完成后打开数据库到open状态(用alter database open 命令):1.2 Oracle数据库恢复注意:在Oracle恢复之前有几项准备工作要做:首先,在执行恢复之前,先关闭Oracle(SQL>shutdown immediate;);然后,删除联机日志和归档日志(或者转移到另外的目录)。

在测试时为了验证Oracle可恢复,在备份完成后删除了一些表,那么恢复前需要删除现有的联机日志和归档日志。

如果不删除日志,由于在恢复时,只会恢复控制文件和数据库,不会恢复日志文件,因此为了避免恢复后控制文件再去读取现有的日志文件(导致再次做删除操作),所以需要删除联机日志和归档日志(防止删除时正好联机日志做了日志切换)。

具体操作:把D盘oracle\product\10.2.0\oradata\test目录下的REDO01.LOG、REDO02.LOG的、REDO03.LOG 三个联机日志删除,然后再把D盘oracle\product\10.2.0下的相关归档日志删除。

再把Oracle启动到nomount状态,可运行如下命令:C:\Document and Setting\Administrator>sqlplus / as sysdba或C:\Document and Setting\Administrator>sqlplus /nologSQL>conn as sysdba;SQL>Startup nomount;完成以上步骤之后,就可以在Avamar上执行恢复:1.登陆Avamar Administrator管理界面,选择“backup and restore”;2.进入“Backup and Restore”界面;1)选择客户机;2)选择Windows Oracle Rman。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

联机重演日志没有丢失应使用完成恢复,如联机重演日志损坏,而又没有备份,就只能进行不完全恢复。

一、完全恢复:
1〃使用命令“svrmgrl”调用行方式服务器管理;
2〃输入命令“connect i nternal”,然后输入命令“startup m ount’;
3〃输入命令“recover d atabase;”
4〃按下ENTER,接受默认值。

5〃然后输入命令“alter d atabase o pen;”完成数据库恢复。

二、不完全恢复
警告:
应用不完成恢复前,必须将数据库做一次完全冷备份,因为应用不完全恢复后,联机重演日志将重置,以前的所有日志不可用。

如果恢复不成功,数据库就不能使用了。

再次强调,做完全冷备份后再应用不完全恢复。

1).基于变化的恢复(change-based r ecovery)
要执行基于变化的恢复,需要知道丢失日志之前的系统写入归档重演日志的最大的变化号(SCN),然后可以启动恢复语句恢复数据库直到改变scn_number,其中比scn_number是写到已归档重演日志文件顺序号386的SCN(即,小于丢失日志顺序号387的SCN)。

可以从V$log_history视图中得到SCN信息。

select f irst_change# f rom v$log_history w here s equence#=387;
其中387为最后一个有效的日志文件号加1,该例是查找386.
知道了SCN后,使用下述步骤完成恢复
1〃使用命令“svrmgrl”调用行方式服务器管理;
2〃输入命令“connect i nternal”,然后输入命令“startup m ount’;
3〃输入命令“recover d atabase u ntil c hange 9999;”
4〃在回答Oracle第一个归档重演日志建议信息时,输入“auto”,Oracle在找到第387号重演日志之前停止恢复。

5〃用命令“alter d atabase o pen r esetlogs;”打开数据库。

(应用该命令前请确认数据库已备份,如打开失败,日志将不可用)
2).基于停止��恢复(cancel-based r ecovery)
1〃使用命令“svrmgrl”调用行方式服务器管理;
2〃输入命令“connect i nternal”,然后输入命令“startup m ount’;
3〃输入命令“recove r d atabase u ntil c ancel;”,Oracle提示需要的第一个归档重演日志文件名〃按下ENTER键
接受缺省文件名,并且—路ENTER直到询问顺序号387的日志。

输入“cancel”,停止恢复操作。

4〃用命令“alter d atabase o pen r esetlogs;”打开数据库。

(应用该命令前请确认数据库已备份,如打开失败,日志将不可用)
3).基于时间的恢复(time-based r ecovery)
为使用基于时间的恢复,必须知道记录在V$log_history归档重演日志序号387(丢失重演日志)的时间,通过执行查询语句“select t ime f rom v$log_history w here s equence#=387;”得到。

本例得到的时间是:
2002-06-23 14:42:04
现在开始实施恢复。

1〃使用命令“svrmgrl”调用行方式服务器管理;
2〃输入命令“connect i nternal”,然后输入命令“startup m ount’;
3〃输入命令“recover d atabase u ntil t ime '2002/06/23 14:42:04';”,Oracl e提示需要的第一个归档重演日志文件名,输入“auto”,Oracle恢复归档重演日志直到序号为387的日志,停止恢复操作。

4〃用命令“alter d atabase o pen r esetlogs;”打开数据库。

(应用该命令前请确认已数据库已备份,如打开失败,日志将不可用)
提示:使用基于时间的恢复,时间的格式是YYYY/MM/DD H H24:MI:SS,并且用单引号括起。

附:如何启用Oracle的归档方式
1.参照以下内容编辑init.ora文件:
log_archive_start =t rue
log_archive_dest_1 ="L OCATION=D:\Oracle\oradata\ORCL\archive "
og_archive_format =%%ORACLE_SID%%T%TS%S.ARC
2.关闭数据库
svrmgrl> c onnect i nternal
svrmgrl> s hutdown n ormal
3.然后启动实例并安装该数据库,但不打开数据库。

svrmgrl> s tartup m ount
4.接着,发布下列更改数据库的命令。

Svrmgrl> a lter d atabase a rchivelog;
5.现在,数据库已经更改为归档方式,您可以打开数据库。

svrmgrl> a lter d atabase o pen;
提示:也可以使用DBA s tudio工具启用数据库的归档方式,操作很简单。

相关文档
最新文档