龙空技术网

Oracle数据库的备份与恢复控制文件、数据文件、重做日志文件(二)

IT网络高工 709

前言:

如今朋友们对“oracle如何利用日志文件恢复数据库”大概比较珍视,同学们都需要学习一些“oracle如何利用日志文件恢复数据库”的相关资讯。那么小编也在网摘上汇集了一些有关“oracle如何利用日志文件恢复数据库””的相关文章,希望看官们能喜欢,同学们快快来学习一下吧!

Oracle数据库使用RMAN备份,需要把数据库的非归档模式改成归档模式。

一、更改数据库的归档模式需要重新启动数据库,在mount模式下修改(三种启动模式nomount---mount--- open)。

具体步骤如下:

1、进入数据库后,关闭数据库

SQL>shutdown immediate

2、启动数据库到mount状态

SQL>startup mount

3、改变数据库为归档模式

SQL>alter database archivelog;(归档改为非归档语句为alter database noarchivelog;)

4、验证方式

SQL>alter database open;(打开数据库)

SQL>archive log list

二、启动控制文件的自动备份

RMAN>configure controlfile autobackup on;

RMAN>show controlfile autobackup ;(验证)

三、全库备份

3.1最简单的全库备份

RMAN>backup database;

RMAN>list backup;(验证)

RMAN>list backup summary;(验证)

在以上备份的情况下,使用以下步骤恢复。

数据库丢失数据文件、控制文件、重做日志文件的恢复

一、查看备份情况

在oracle用户下,输入以下命令

[oracle@shell ~]$ rman target/

RMAN> list backup;

由上图知悉,已经备份了数据库的控制文件。

现在删除/usr/local/oradata/orcl下的文件

[oracle@shell orcl]$ rm *.*

SQL> select count(*) from bankuser.emp;

上图显示找不到数据库文件导致错误。

二、恢复

目标是恢复控制文件、数据文件、重做日志文件

2.1强制关闭数据库再重新启动

SQL> shutdown abort

SQL> startup

2.2 查看实例

SQL> select instance_name,status from v$instance;

上图中的started状态表明数据库只读取到了初始化文件,当前为nomount状态。

2.3恢复控制文件

[oracle@shell orcl]$ rman target/

RMAN> restore controlfile from autobackup;

在/usr/local/oradata/orcl目录下查看恢复的文件。

2.4恢复数据文件

设置数据库到mount状态

RMAN> alter database mount;

从原来的备份中还原数据库的数据文件

RMAN> restore database;

由上图知悉成功还原数据库数据文件。

由上图可以看到恢复的文件。

2.5恢复数据库

[oracle@shell orcl]$ sqlplus / as sysdba

SQL> recover database using backup controlfile until cancel;

这样就恢复了数据库的数据文件。

2.6由于丢失了数据库的重做日志文件,这一部分数据将会丢失,所以这是不完全恢复。需要重新生成数据库重做日志文件。

SQL> alter database open resetlogs;

三、验证

SQL> archive log list;

由上图知悉,查看当前数据库的日志序号,是从1开始,表示重新生成了oracle数据库的重做日志文件。

由上图看到,在/usr/local/oradata/orcl目录下生成了.log的重做日志文件。

三、验证

[oracle@shell RmanBackup]$ sqlplus / as sysdba

SQL> select instance_name,status from v$instance;

由上图知悉,数据库恢复正常。

标签: #oracle如何利用日志文件恢复数据库