oracle 11g 没有sql area?,Oracle 11g日志文件恢复

本文详细记录了一次在Oracle11g数据库非归档模式下,redo日志丢失后的恢复过程。在没有备份的情况下,尝试使用resetlogs选项打开数据库,但遇到错误提示。通过执行数据库恢复和设置隐藏参数,最终成功打开数据库,然后恢复默认参数并重新启动。这个案例展示了在极端情况下如何进行数据库故障恢复。
摘要由CSDN通过智能技术生成

这次实验模拟一下,Oracle 11g在非归档模式下,且没有备份的条件,举行的日志文件的恢复

这里所有的redo日志都被我删除了,下面是报错和数据库模式:

SQL> startup

ORACLE instance started.

Total System Global Area  845348864 bytes

Fixed Size                  1339796 bytes

Variable Size            645926508 bytes

Database Buffers          192937984 bytes

Redo Buffers                5144576 bytes

Database mounted.

ORA-00313: open failed for members of log group 1 of thread 1

ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/myorcl/redo1.log'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/myorcl/redo01.log'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

SQL> select log_mode,open_mode from v$database;

LOG_MODE    OPEN_MODE

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

NOARCHIVELOG MOUNTED

首先,我们要用resetlogs的方式实验打开数据库:

SQL> alter database open resetlogs;

alter database open resetlogs

*

ERROR at line 1:

ORA-01139: RESETLOGS option only valid after an incomplete database recovery

提醒resetlogs这个选项只有在一个不完全数据库恢复后才可以使用,既然这样,我们就给它做一个数据库恢复:

SQL> recover database using backup controlfile;

ORA-00279: change 1736992 generated at 01/18/2014 18:01:56 needed for thread 1

ORA-00289: suggestion :

/u01/app/oracle/product/11.2.0/db_1/ora_log/1_1_837194464.dbf

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

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

ORA-00308: cannot open archived log

'/u01/app/oracle/product/11.2.0/db_1/ora_log/1_1_837194464.dbf'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

下面,我们再来resetlogs启动数据库:

SQL> alter database open resetlogs;

alter database open resetlogs

*

ERROR at line 1:

ORA-01113: file 1 needs media recovery

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

提醒要举行介质恢复,由于我们基本没有redo日志,基本没有办法恢复,只能通过添加隐藏参数,让数据库忽略数据一致性验证:

SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile;

System altered.

SQL> startup force mount;

ORACLE instance started.

Total System Global Area  845348864 bytes

Fixed Size                  1339796 bytes

Variable Size            645926508 bytes

Database Buffers          192937984 bytes

Redo Buffers                5144576 bytes

Database mounted.

到这里,再来添加resetlogs选项,来打开数据库:

SQL> alter database open resetlogs;

Database altered.

数据库打开了,然则还没有竣事,我们要将修改的隐藏参数修改到默认值,并重新启动数据库:

SQL> alter system reset "_allow_resetlogs_corruption" scope=spfile;

System altered.

SQL> startup force;

ORACLE instance started.

Total System Global Area  845348864 bytes

Fixed Size                  1339796 bytes

Variable Size            645926508 bytes

Database Buffers          192937984 bytes

Redo Buffers                5144576 bytes

Database mounted.

Database opened.

SQL> select KSPPINM,KSPPSTVL from x$ksppi a,x$ksppcv b where a.indx=b.indx and ksppinm like '%resetlogs%';

KSPPINM

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

KSPPSTVL

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

_no_recovery_through_resetlogs

FALSE

_allow_resetlogs_corruption

FALSE

省市联动,-- Table structure for province -- ---------------------------- DROP TABLE IF EXISTS `province`; CREATE TABLE `province` ( `id` int(5) NOT NULL auto_increment, `name` varchar(255) default '', `pid` int(5) default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of province -- ---------------------------- INSERT INTO `province` VALUES ('82', '北京市', '0'); INSERT INTO `province` VALUES ('83', '天津市', '0'); INSERT INTO `province` VALUES ('84', '河北省', '0'); INSERT INTO `province` VALUES ('85', '山西省', '0'); INSERT INTO `province` VALUES ('86', '内蒙古自治区', '0'); INSERT INTO `province` VALUES ('87', '辽宁省', '0'); INSERT INTO `province` VALUES ('88', '吉林省', '0'); INSERT INTO `province` VALUES ('89', '黑龙江省', '0'); INSERT INTO `province` VALUES ('90', '上海市', '0'); INSERT INTO `province` VALUES ('91', '江苏省', '0'); INSERT INTO `province` VALUES ('92', '浙江省', '0'); INSERT INTO `province` VALUES ('93', '安徽省', '0'); INSERT INTO `province` VALUES ('94', '福建省', '0'); INSERT INTO `province` VALUES ('95', '江西省', '0'); INSERT INTO `province` VALUES ('96', '山东省', '0'); INSERT INTO `province` VALUES ('97', '河南省', '0'); INSERT INTO `province` VALUES ('98', '湖北省', '0'); INSERT INTO `province` VALUES ('99', '湖南省', '0'); INSERT INTO `province` VALUES ('100', '广东省', '0'); INSERT INTO `province` VALUES ('101', '广西壮族自治区', '0'); INSERT INTO `province` VALUES ('102', '海南省', '0'); INSERT INTO `province` VALUES ('103', '重庆市', '0'); INSERT INTO `province` VALUES ('104', '四川省', '0'); INSERT INTO `province` VALUES ('105', '贵州省', '0'); INSERT INTO `province` VALUES ('106', '云南省', '0'); INSERT INTO `province` VALUES ('107', '西藏自治区', '0'); INSERT INTO `province` VALUES ('108', '陕西省', '0'); INSERT INTO `province` VALUES ('109', '甘肃省', '0'); INSERT INTO `province` VALUES ('110', '青海省', '0'); INSERT INTO `province` VALUES ('111', '宁夏回族自治区', '0'); INSERT INTO `province` VALUES ('112', '新疆维吾尔自治区', '0'); INSERT INTO `province` VALUES ('113', '台
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值