oracle 12c 关机 恢复,ORACLE 12C 控制文件异常恢复

在oracle 12c引进了pdb的概念,但重建控制文件的过程还是完全和no-cdb(以前版本ORACLE)相同

数据库启动异常

idle> startup

ORACLE instance started.

Total System Global Area 521936896 bytes

Fixed Size 2404552 bytes

Variable Size 205524792 bytes

Database Buffers 306184192 bytes

Redo Buffers 7823360 bytes

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

idle> select * from v$version;

BANNER CON_ID

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

Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production 0

PL/SQL Release 12.1.0.1.0 - Production 0

CORE 12.1.0.1.0 Production 0

TNS for 64-bit Windows: Version 12.1.0.1.0 - Production 0

NLSRTL Version 12.1.0.1.0 - Production 0

alert日志信息

Wed Mar 19 20:30:20 2014

ALTER DATABASE MOUNT

Wed Mar 19 20:30:20 2014

ORA-00210: ???????????

ORA-00202: ????: ''E:APPXIFENFEIORADATACDBCONTROL01.CTL''

ORA-27048: skgfifi: ????????

OSD-04001: 逻辑块大小无效

ORA-205 signalled during: ALTER DATABASE MOUNT...

利用strings命令找出来数据文件和联机日志路径

E:APPXIFENFEIORADATACDBREDO04.LOG

E:APPXIFENFEIORADATACDBREDO06.LOG

E:APPXIFENFEIORADATACDBREDO05.LOG

E:APPXIFENFEIORADATACDBPDBPDB_USERS01.DBF

E:APPXIFENFEIORADATACDBPDBSYSAUX01.DBF

E:APPXIFENFEIORADATACDBPDBSYSTEM01.DBF

E:APPXIFENFEIORADATACDBUSERS01.DBF

E:APPXIFENFEIORADATACDBUNDOTBS01.DBF

E:APPXIFENFEIORADATACDBPDBSEEDSYSAUX01.DBF

E:APPXIFENFEIORADATACDBSYSAUX01.DBF

E:APPXIFENFEIORADATACDBPDBSEEDSYSTEM01.DBF

E:APPXIFENFEIORADATACDBSYSTEM01.DBF

E:APPXIFENFEIORADATACDBTEMP01.DBF

E:APPXIFENFEIORADATACDBPDBTEMP01.DBF

如果有完整的alert日志也可以通过alert日志来分析数据文件路径和redo路径;

通过alert日志分析数据库编码,如果没有alert日志通过分析prop$分析编码;

redo group 可以在alert日志中查看,写入错误,在创建时候会提示正确值;

redo size 可以查看redo file,也可以先写入错误值,创建时候会提示正确block数量

重建控制文件

idle> CREATE CONTROLFILE REUSE DATABASE "CDB" NORESETLOGS FORCE LOGGING ARCHIVELOG

2 MAXLOGFILES 16

3 MAXLOGMEMBERS 3

4 MAXDATAFILES 100

5 MAXINSTANCES 8

6 MAXLOGHISTORY 2921

7 LOGFILE

8 GROUP 4 'E:APPXIFENFEIORADATACDBREDO04.LOG' size 50M,

9 GROUP 6 'E:APPXIFENFEIORADATACDBREDO06.LOG' size 50M,

10 GROUP 5 'E:APPXIFENFEIORADATACDBREDO05.LOG' size 50M

11 DATAFILE

12 'E:APPXIFENFEIORADATACDBPDBPDB_USERS01.DBF',

13 'E:APPXIFENFEIORADATACDBPDBSYSAUX01.DBF',

14 'E:APPXIFENFEIORADATACDBPDBSYSTEM01.DBF',

15 'E:APPXIFENFEIORADATACDBUNDOTBS01.DBF',

16 'E:APPXIFENFEIORADATACDBPDBSEEDSYSAUX01.DBF',

17 'E:APPXIFENFEIORADATACDBSYSAUX01.DBF',

18 'E:APPXIFENFEIORADATACDBPDBSEEDSYSTEM01.DBF',

19 'E:APPXIFENFEIORADATACDBSYSTEM01.DBF',

20 'E:APPXIFENFEIORADATACDBUSERS01.DBF'

21 CHARACTER SET ZHS16GBK

22 ;

控制文件已创建。

idle> recover database;

完成介质恢复。

idle> alter database open;

数据库已更改。

idle> show pdbs;

CON_ID CON_NAME OPEN MODE RESTRICTED

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

2 PDB$SEED READ ONLY NO

3 PDB MOUNTED

idle> select name from v$datafile;

NAME

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

E:APPXIFENFEIORADATACDBSYSTEM01.DBF

E:APPXIFENFEIORADATACDBPDBSEEDSYSTEM01.DBF

E:APPXIFENFEIORADATACDBSYSAUX01.DBF

E:APPXIFENFEIORADATACDBPDBSEEDSYSAUX01.DBF

E:APPXIFENFEIORADATACDBUSERS01.DBF

E:APPXIFENFEIORADATACDBPDBSYSTEM01.DBF

E:APPXIFENFEIORADATACDBPDBSYSAUX01.DBF

E:APPXIFENFEIORADATACDBPDBPDB_USERS01.DBF

E:APPXIFENFEIORADATACDBUNDOTBS01.DBF

已选择 9 行。

CDB_CDB$ROOT@SYS> alter session set container=pdb;

Session altered.

CDB_CDB$ROOT@SYS> alter database open;

Database altered.

数据库在mount状态重建控制文件请参考:重建控制文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值