oracle 控制文件恢复,oracle之控制文件恢复

本文详细介绍了在Oracle数据库归档模式下如何进行控制文件的备份和恢复。首先通过SQL命令开启数据库到归档模式,然后备份控制文件,接着模拟控制文件丢失并恢复,最后在出现错误时使用备份的控制文件进行数据库的恢复,包括使用RESTORE LOGS选项。整个过程展示了数据库管理中的关键操作和问题解决步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验环境是在归档模式下,并且日志文件都在。步骤:1.全备数据库2.利用备份的控制文件进行恢复实验就把第一步省略了,直接开始第二步。首先,先打开数据库到归档

实验环境是在归档模式下,并且日志文件都在。

步骤:1. 全备数据库

2. 利用备份的控制文件进行恢复

实验就把第一步省略了,直接开始第二步。

首先,先打开数据库到归档模式下:SQL> startup mount

ORACLE instance started.

Total System Global Area 845348864 bytes

Fixed Size

1339796 bytes

Variable Size

599789164 bytes

Database Buffers

239075328 bytes

Redo Buffers

5144576 bytes

Database mounted.

SQL> alter database archivelog;

Database altered.

SQL> alter database open;

Database altered.

SQL> select open_mode,log_mode from v$database;

OPEN_MODE

LOG_MODE

---------------------------------------- ------------------------

READ WRITE

ARCHIVELOG

SQL> archive log list;

Database log mode

Archive Mode

Automatic archival

Enabled

Archive destination

/u01/app/oracle/product/11.2.0/db_1/ora_log

Oldest online log sequence

1

Next log sequence to archive 2

Current log sequence

2

开始备份控制文件:SQL> alter database backup controlfile to '/tmp/controlfile.bak';

Database altered.

把原来的控制文件都删除,有几个删除几个,可以show parameter control_files查看,再次启动数据库:SQL> startup

ORACLE instance started.

Total System Global Area 845348864 bytes

Fixed Size

1339796 bytes

Variable Size

599789164 bytes

Database Buffers

239075328 bytes

Redo Buffers

5144576 bytes

ORA-00205: error in identifying control file, check alert log for more info

控制文件丢失,启动报错了,拷贝控制文件到原来的地方,有几个拷贝几个cp /tmp/controlfile.bak $ORACLE_BASE/oradata/$ORACLE_SID/control01.ctl

再次启动数据库SQL> startup

ORACLE instance started.

Total System Global Area 845348864 bytes

Fixed Size

1339796 bytes

Variable Size

599789164 bytes

Database Buffers

239075328 bytes

Redo Buffers

5144576 bytes

Database mounted.

ORA-01589: must use RESETLOGS or NORESETLOGS option for database open

数据库已经挂载,但是没有打开,,接下来按提示操作:SQL> alter database open resetlogs;

alter database open resetlogs

*

ERROR at line 1:

ORA-01152: file 1 was not restored from a sufficiently old backup

ORA-01110: data file 1: '/u01/app/oracle/oradata/myorcl/system01.dbf'

SQL> recover database;

ORA-00283: recovery session canceled due to errors

ORA-01610: recovery using the BACKUP CONTROLFILE option must be done

SQL> recover database using backup controlfile;

ORA-00279: change 1298791 generated at 01/09/2014 05:50:43 needed for thread 1

ORA-00289: suggestion : /u01/app/oracle/product/11.2.0/db_1/ora_log/1_25_835925739.dbf

ORA-00280: change 1298791 for thread 1 is in sequence #25

Specify log: {=suggested | filename | AUTO | CANCEL}

/u01/app/oracle/oradata/myorcl/redo01.log

Log applied.

Media recovery complete.

到这里,数据库已经提示恢复完成了,可以打开数据库了SQL> alter database open resetlogs;

Database altered.

SQL> select open_mode from v$database;

OPEN_MODE

----------------------------------------

READ WRITE

本文出自 “一片天地” 博客,请务必保留此出处

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值