oracle 12c 日志不打,ORACLE 12C redo异常恢复测试—打上patch恢复完全

在上一篇中,我们删除redo,然后通过非常规方法使得cdb open成功,但是pdb无法正常mount,通过查询mos确定是bug 16784143,具体见:ORACLE 12C redo异常恢复测试—部分pdb未正常open, 通过给数据库打上12.1.0.3的patch之后,发现已经损坏的数据库的pdb无法正常open,

在上一篇中,我们删除redo,然后通过非常规方法使得cdb open成功,但是pdb无法正常mount,通过查询mos确定是bug 16784143,具体见:ORACLE 12C redo异常恢复测试—部分pdb未正常open,通过给数据库打上12.1.0.3的patch之后,发现已经损坏的数据库的pdb无法正常open,但是在损坏之前如果是打上补丁的数据库其pdb可以正常open

patch信息

C:\Users\XIFENFEI>E:\oracle\product\11.2.0\dbhome_1\OPatch\opatch lspatches

17977915;WINDOWS DB BUNDLE PATCH 12.1.0.1.3 (64bit): (17977915)

session 1

XIFENFEI_CDB$ROOT@SYS> show con_name;

CON_NAME

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

CDB$ROOT

XIFENFEI_CDB$ROOT@SYS> create table t_xifenfei as select * from dba_users;

表已创建。

XIFENFEI_CDB$ROOT@SYS> delete from t_xifenfei;

已删除 35 行。

XIFENFEI_CDB$ROOT@SYS>

session 2

XIFENFEI_CDB$ROOT@SYS> show con_name;

CON_NAME

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

PDB1

XIFENFEI_CDB$ROOT@SYS> create table t_xifenfei as select * from dba_users;

表已创建。

XIFENFEI_CDB$ROOT@SYS> delete from t_xifenfei;

已删除 36 行。

XIFENFEI_CDB$ROOT@SYS>

session 3

XIFENFEI_CDB$ROOT@SYS> alter session set container=pdb2;

会话已更改。

XIFENFEI_CDB$ROOT@SYS> alter database open;

数据库已更改。

XIFENFEI_CDB$ROOT@SYS> show con_name;

CON_NAME

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

PDB2

XIFENFEI_CDB$ROOT@SYS>

session 4

XIFENFEI_CDB$ROOT@SYS> shutdown abort;

ORACLE 例程已经关闭。

删除所有redo,并启动数据库

C:\Users\XIFENFEI>sqlplus / as sysdba

SQL*Plus: Release 12.1.0.1.0 Production on 星期日 3月 30 21:07:55 2014

Copyright (c) 1982, 2013, Oracle. All rights reserved.

已连接到空闲例程。

idle> startup mount;

ORACLE 例程已经启动。

Total System Global Area 400846848 bytes

Fixed Size 2440024 bytes

Variable Size 289408168 bytes

Database Buffers 100663296 bytes

Redo Buffers 8335360 bytes

数据库装载完毕。

idle> alter database open;

alter database open

*

第 1 行出现错误:

ORA-00313: 无法打开日志组 3 (用于线程 1) 的成员

ORA-00312: 联机日志 3 线程 1: 'E:\APP\XIFENFEI\ORADATA\XIFENFEI\REDO03.LOG'

ORA-27041: 无法打开文件

OSD-04002: 无法打开文件

O/S-Error: (OS 2) 系统找不到指定的文件。

尝试恢复数据库

1

idle> select status,group# from v$log;

STATUS GROUP#

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

INACTIVE 1

CURRENT 3

INACTIVE 2

idle> recover database until cancel;

ORA-00279: 更改 2821739 (在 03/30/2014 20:58:39 生成) 对于线程 1 是必需的

ORA-00289: 建议:

E:\APP\XIFENFEI\FAST_RECOVERY_AREA\XIFENFEI\ARCHIVELOG\2014_03_30\O1_MF_1_36_%U_

.ARC

ORA-00280: 更改 2821739 (用于线程 1) 在序列 #36 中

指定日志: {=suggested | filename | AUTO | CANCEL}

auto

ORA-00308: 无法打开归档日志

'E:\APP\XIFENFEI\FAST_RECOVERY_AREA\XIFENFEI\ARCHIVELOG\2014_03_30\O1_MF_1_36_%U

_.ARC'

ORA-27041: 无法打开文件

OSD-04002: 无法打开文件

O/S-Error: (OS 2) 系统找不到指定的文件。

ORA-00308: 无法打开归档日志

'E:\APP\XIFENFEI\FAST_RECOVERY_AREA\XIFENFEI\ARCHIVELOG\2014_03_30\O1_MF_1_36_%U

_.ARC'

ORA-27041: 无法打开文件

OSD-04002: 无法打开文件

O/S-Error: (OS 2) 系统找不到指定的文件。

ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误

ORA-01194: 文件 1 需要更多的恢复来保持一致性

ORA-01110: 数据文件 1: 'E:\APP\XIFENFEI\ORADATA\XIFENFEI\SYSTEM01.DBF'

idle> alter database open resetlogs;

alter database open resetlogs

*

第 1 行出现错误:

ORA-01194: 文件 1 需要更多的恢复来保持一致性

ORA-01110: 数据文件 1: 'E:\APP\XIFENFEI\ORADATA\XIFENFEI\SYSTEM01.DBF'

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

系统已更改。

idle> shutdown immediate

ORA-01109: 数据库未打开

已经卸载数据库。

ORACLE 例程已经关闭。

idle> startup mount;

ORACLE 例程已经启动。

Total System Global Area 400846848 bytes

Fixed Size 2440024 bytes

Variable Size 289408168 bytes

Database Buffers 100663296 bytes

Redo Buffers 8335360 bytes

数据库装载完毕。

idle> recover database until cancel;

ORA-00279: 更改 2821739 (在 03/30/2014 20:58:39 生成) 对于线程 1 是必需的

ORA-00289: 建议:

E:\APP\XIFENFEI\FAST_RECOVERY_AREA\XIFENFEI\ARCHIVELOG\2014_03_30\O1_MF_1_36_%U_

.ARC

ORA-00280: 更改 2821739 (用于线程 1) 在序列 #36 中

指定日志: {=suggested | filename | AUTO | CANCEL}

cancel

ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误

ORA-01194: 文件 1 需要更多的恢复来保持一致性

ORA-01110: 数据文件 1: 'E:\APP\XIFENFEI\ORADATA\XIFENFEI\SYSTEM01.DBF'

ORA-01112: 未启动介质恢复

idle> alter database open resetlogs;

alter database open resetlogs

*

第 1 行出现错误:

ORA-01092: ORACLE instance terminated. Disconnection forced

ORA-00704: bootstrap process failure

ORA-00704: bootstrap process failure

ORA-00600: internal error code, arguments: [2662], [0], [2821746], [0],

[2822649], [4194545], [], [], [], [], [], []

进程 ID: 6880

会话 ID: 242 序列号: 3

idle> startup mount;

SP2-0642: SQL*Plus 内部错误状态 2133, 上下文 3114:0:0

继续执行将不安全

ORA-03114: 未连接到 ORACLE

--使用bbed解决dul问题,出现新问题

idle> alter database open;

alter database open

*

第 1 行出现错误:

ORA-01092: ORACLE instance terminated. Disconnection forced

ORA-00600: internal error code, arguments: [4194], [61], [4], [], [], [], [],

[], [], [], [], []

进程 ID: 5932

会话 ID: 242 序列号: 3

idle> ALTER SYSTEM SET UNDO_MANAGEMENT='MANAUL' SCOPE=SPFILE;

系统已更改。

idle> SHUTDOWN IMMEDIATE;

ORA-01109: 数据库未打开

已经卸载数据库。

ORACLE 例程已经关闭。

idle> startup mount;

ORACLE 例程已经启动。

Total System Global Area 400846848 bytes

Fixed Size 2440024 bytes

Variable Size 281019560 bytes

Database Buffers 109051904 bytes

Redo Buffers 8335360 bytes

数据库装载完毕。

idle> alter database open;

数据库已更改。

[/sql

open pdb

1

idle> alter session set container=pdb1;

会话已更改。

idle> alter database open;

数据库已更改。

idle> alter session set container=pdb2;

会话已更改。

idle> alter database open;

数据库已更改。

idle> alter session set container=pdb1;

会话已更改。

ORACLE 12C的bug估计不会太少,急于上12C的朋友,强烈建议打上最先patch,少踩一些雷

ORACLE 12C redo异常恢复测试—部分pdb未正常open

ORACLE 12C 控制文件异常恢复

数据库恢复遭遇ORA-00600[3705]

通过修改控制文件scn推进数据库scn

异常断电导致current redo损坏处理

记录8.0.5数据库恢复过程

ORACLE 12C ORA-07445[ktuHistRecUsegCrtMain()+1173]恢复

恢复备份控制文件避免resetlogs方式打开数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值