首页 > 编程知识 正文

还原oracle数据库,oracle数据库备份和恢复步骤

时间:2023-05-05 07:05:56 阅读:115278 作者:2851

使用Oracle数据库时,突然关闭电源,引起了很多问题,旧数据丢失,影响了数据的准确性,破坏了数据库。 此时,用户迫切需要恢复数据。 本文介绍了数据库的数据恢复。

一、 案例描述:

由于数据库突然关闭,数据库启动库需要更多恢复才能使system01.dbf保持一致,无法打开数据库; 数据库没有备份,归档日志也不连续。 客户提供数据库的在线文件,以获取zxfg用户下的数据

二 、恢复流程:

1数据库故障检测

2尝试挂起并修复数据库

3分析数据文件

4验证数据

5导出数据和交付数据(导入)

恢复数据

1数据库的故障检测

使用DBV命令检测数据文件的完整性

结果如下。

分析结果显示,SYSAUX01.DBF文件数据块(Data )检测失败的页面为40页,索引页(Index )检测失败的页面表示SYSAUX01.DBF中存在坏块

结论dbv数据文件完整性检测表明,SYSAUX01.DBF存在坏块,其他检查文件完整。

2 用客户的数据库本地挂起数据库,尝试修复数据库。

2.1创建新操作系统:安装windowsserver2008x86、Oracle 11.2.0.1.0 for 32位

版本数据库、挂起数据库

库报告了ORA-01110错误。 System01.dbf需要更多一致的恢复。 使用recover数据库命令将在线日志用于介质恢复。

数据库的控制文件已更改。 必须使用控制文件恢复数据库

数据库恢复需要2016_01_19的11号归档日志。 由于归档日志丢失,将使用cancel参数进行不完整的恢复。

再次运行alter database open命令以打开数据库。

2.2查询实例状态,数据库报告ora_00600错误; 执行其他查询。 有些查询可以执行,有些查询报告错误。 此外,报告错误的是ora_00600错误。

2.4显示警告日志跟踪文件显示内部错误代码;

警告日志的内容如下。

ora-00600:国际错误代码,arguments: [13013],[5001],[267],[8456009],[5],[8456009],[17]

非均匀互连rrorhappennedwhilesmonwasdoingloggingscn-time mapping。

进行各种尝试,查阅大量资料。 命令无法修复数据库中的这种内部错误。 试图导出数据库。

2.3 用expdp/exp工具导出数据库;

2.3.1使用expdp导出数据库

expdp导出数据库中的错误与上述查询报告中的错误相同。 由于sysaux01.dbf文件损坏,expdp工具不可用,数据库导出失败。 尝试使用exp导出数据库

2.3.2使用exp导出数据库

exp导出数据库并报告与上述相同的错误。 由于数据库报告了严重的内部错误,导出工具exp不可用,某些查询也无法运行,数据库导出失败。

3 解析数据文件,获取用户数据

综上所述,数据库无法恢复。 基础分析、数据文件分析和用户对象检索。

3.1使用北亚自主开发的DBF分析工具时,获取数据。 结果是以下:

3.2将对象迁移到数据库

创建数据库、在数据库中创建用户、为用户分配表空间、解锁和批准用户。 并且,在通道数据的旁路方式中,将被分析的用户对象转移到数据库。

四、验证数据

使用Oracle toad for工具验证数据

五、导出数据,交付用户

5.1使用exp或expdp导出zxfg用户下的所有对象。 在此示例中,使用exp导出数据

命令如下:

exp system/abcfile=c :testdumpzxfg.DM plog=c :testdumpzxfg.log owner=zxfg

检查导出数据库中的dmp文件和导出日志,确保导出文件没有问题。

5.2用户导入数据,确认导入数据的完整性。

用户验证数据后,结果均正确,表示非常满意

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。