天萃荷净

Oracle 12C数据库PDB中的数据文件丢失,导致整个cdb crash,pdb正常运行丢失数据文件相关恢复

Oracle 12C数据库cdb本来就是open的,PDB中的数据文件丢失

1.查询Oracle数据库相关状态

C:\Users\oracleplus>sqlplus / as sysdba

SQL*Plus: Release 12.1.0.1.0 Production on 星期二 8月 13 12:49:47 2013

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

连接到:

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

With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> show pdbs;

CON_ID CON_NAME OPEN MODE RESTRICTED

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

2 PDB$SEED READ ONLY NO

3 PDB READ WRITE NO

SQL> select name from v$datafile where con_id=3;

NAME

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

E:\APP\oracleplus\ORADATA\CDB\PDB\SYSTEM01.DBF

E:\APP\oracleplus\ORADATA\CDB\PDB\SYSAUX01.DBF

E:\APP\oracleplus\ORADATA\CDB\PDB\PDB_USERS01.DBF

删除pdb system01.dbf文件

SQL> host dir E:\APP\oracleplus\ORADATA\CDB\PDB\SYSTEM01.DBF

驱动器 E 中的卷没有标签。

卷的序列号是 000C-3B41

E:\APP\oracleplus\ORADATA\CDB\PDB 的目录

找不到文件

做checkpoint操作

--删除pdb的数据文件(本测试中是system01.dbf),因为dbwr无法写入数据到文件,导致crash,在实际中也有可能是ckpt,lgwr进程等

SQL> alter system checkpoint ;

alter system checkpoint

*

第 1 行出现错误:

ORA-03113: 通信通道的文件结尾

进程 ID: 9316

会话 ID: 136 序列号: 3165

alert日志中写明是dbwr进程无法写文件导致整个cdb crash

Tue Aug 13 12:51:10 2013

Thread 1 advanced to log sequence 316 (LGWR switch)

Current log# 4 seq# 316 mem# 0: E:\APP\oracleplus\ORADATA\CDB\REDO04.LOG

Tue Aug 13 12:51:12 2013

Archived Log entry 5 added for thread 1 sequence 315 ID 0x7377d8de dest 1:

Tue Aug 13 12:51:16 2013

KCF: read, write or open error, block=0x6ad1 online=1

file=7 'E:\APP\oracleplus\ORADATA\CDB\PDB\SYSTEM01.DBF'

error=27070 txt: 'OSD-04016: 异步 I/O 请求排队时出错。'

Tue Aug 13 12:51:16 2013

Errors in file E:\APP\oracleplus\diag\rdbms\cdb\cdb\trace\cdb_dbw0_8612.trc:

Tue Aug 13 12:51:16 2013

Errors in file E:\APP\oracleplus\diag\rdbms\cdb\cdb\trace\cdb_dbw0_8612.trc:

ORA-63999: 数据文件出现介质故障

ORA-01114: 将块写入文件 7 时出现 IO 错误 (块 # 27345)

ORA-01110: 数据文件 7: 'E:\APP\oracleplus\ORADATA\CDB\PDB\SYSTEM01.DBF'

ORA-27070: 异步读取/写入失败

OSD-04016: 异步 I/O 请求排队时出错。

USER (ospid: 8612): terminating the instance due to error 63999

Tue Aug 13 12:51:17 2013

System state dump requested by (instance=1, osid=8612 (DBW0)), summary=[abnormal instance termination].

System State dumped to trace file E:\APP\oracleplus\diag\rdbms\cdb\cdb\trace\cdb_diag_9720.trc

Dumping diagnostic data in directory=[cdmp_20130813125117], requested by (instance=1, osid=8612 (DBW0)), summary=[abnormal instance termination].

Tue Aug 13 12:51:29 2013

Instance terminated by USER, pid = 8612

open cdb数据库

SQL> conn / as sysdba

已连接到空闲例程。

SQL> startup

ORACLE 例程已经启动。

Total System Global Area 521936896 bytes

Fixed Size 2404552 bytes

Variable Size 293605176 bytes

Database Buffers 218103808 bytes

Redo Buffers 7823360 bytes

数据库装载完毕。

ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件

ORA-01110: 数据文件 7: 'E:\APP\oracleplus\ORADATA\CDB\PDB\SYSTEM01.DBF'

--直接在cdb中无法offline pdb数据文件

SQL> alter database datafile 7 offline;

alter database datafile 7 offline

*

第 1 行出现错误:

ORA-01516: 不存在的日志文件, 数据文件或临时文件 "7"

SQL> alter session set container=pdb;

会话已更改。

SQL> alter database datafile 7 offline;

数据库已更改。

SQL> conn / as sysdba

已连接。

SQL> alter database open;

数据库已更改。

SQL> show pdbs;

CON_ID CON_NAME OPEN MODE RESTRICTED

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

2 PDB$SEED READ ONLY NO

3 PDB MOUNTED

SQL> exit

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

With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options 断开

2.完全恢复并open pdb数据库

C:\Users\oracleplus>rman target /

恢复管理器: Release 12.1.0.1.0 - Production on 星期二 8月 13 12:56:54 2013

Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved.

已连接到目标数据库: CDB (DBID=1937199326)

RMAN> restore datafile 7;

启动 restore 于 13-8月 -13

使用目标数据库控制文件替代恢复目录

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=361 设备类型=DISK

通道 ORA_DISK_1: 正在开始还原数据文件备份集

通道 ORA_DISK_1: 正在指定从备份集还原的数据文件

通道 ORA_DISK_1: 将数据文件 00007 还原到 E:\APP\oracleplus\ORADATA\CDB\PDB\SYSTEM01.DBF

通道 ORA_DISK_1: 正在读取备份片段 D:\PDB_SYS_01OH54LF_1_1.RMAN

通道 ORA_DISK_1: 段句柄 = D:\PDB_SYS_01OH54LF_1_1.RMAN 标记 = TAG20130812T223943

通道 ORA_DISK_1: 已还原备份片段 1

通道 ORA_DISK_1: 还原完成, 用时: 00:00:16

完成 restore 于 13-8月 -13

RMAN> recover datafile 7;

启动 recover 于 13-8月 -13

使用通道 ORA_DISK_1

正在开始介质的恢复

线程 1 序列 314 的归档日志已作为文件 E:\APP\oracleplus\FAST_RECOVERY_AREA\CDB\ARCHIVELOG\2013_08_12\O1_MF_1_314_90KXOZSF_.

ARC 存在于磁盘上

线程 1 序列 315 的归档日志已作为文件 E:\APP\oracleplus\FAST_RECOVERY_AREA\CDB\ARCHIVELOG\2013_08_13\O1_MF_1_315_90MGSZ0X_.

ARC 存在于磁盘上

线程 1 序列 316 的归档日志已作为文件 E:\APP\oracleplus\FAST_RECOVERY_AREA\CDB\ARCHIVELOG\2013_08_13\O1_MF_1_316_90MH1FGD_.

ARC 存在于磁盘上

归档日志文件名=E:\APP\oracleplus\FAST_RECOVERY_AREA\CDB\ARCHIVELOG\2013_08_12\O1_MF_1_314_90KXOZSF_.ARC 线程=1 序列=314

介质恢复完成, 用时: 00:00:02

完成 recover 于 13-8月 -13

RMAN> exit

恢复管理器完成。

C:\Users\oracleplus>sqlplus / as sysdba

SQL*Plus: Release 12.1.0.1.0 Production on 星期二 8月 13 12:58:42 2013

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

连接到:

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

With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> alter session set container=pdb;

会话已更改。

SQL> alter database open;

alter database open

*

第 1 行出现错误:

ORA-01147: SYSTEM 表空间文件 7 处于脱机状态

SQL> alter database datafile 7 online;

数据库已更改。

SQL> alter database open;

数据库已更改。

SQL> conn / as sysdba

已连接。

SQL> show pdbs;

CON_ID CON_NAME OPEN MODE RESTRICTED

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

2 PDB$SEED READ ONLY NO

3 PDB READ WRITE NO

整个操作过程说明一下问题

1.当pdb丢失数据文件或者影响dbwr,lgwr,ckpt等后台进程工作之时,将导致整个cdb crash,因为这些进程都是公用的

2.如果pdb丢失数据文件,通过在pdb中offline该文件,可以正常open cdb和其他pdb,不会长时间影响其他pdb工作

3.在cdb open的情况下,可以恢复pdb的任何数据文件(特殊pdb除外,root,seed之类)

--------------------------------------ORACLE-DBA----------------------------------------

最权威、专业的Oracle案例资源汇总之案例:Oracle 12C 数据库pdb丢失数据文件后的完整恢复过程

oracle pdb启动日志,案例:Oracle 12C 数据库pdb丢失数据文件后的完整恢复过程相关推荐

  1. oracle数据库之丢失数据文件如何恢复

    1.先进行备份 [oracle@oracle ~]$ rman target /RMAN> backup database;RMAN> list backup; 2.进入数据库,改为归档模 ...

  2. oracle log block size,案例:Oracle无法启动报错ORA-00218: block size 0 重建控制文件

    天萃荷净 oracle数据库无法启动报错ORA-00218故障,通过重建控制文件解决文件损坏问题 遇到一个案例在数据库启动的时候报ORA-00218错误,而这个故障的引起原因是因为重建控制文件的时候, ...

  3. Linux服务器根目录被误删后,找回oracle数据文件进行异机恢复

    前两天,看见ITPUB微信公众一篇文章,服务器误删文件后,恢复mysql的过程,今天模拟该环境,进行oracle数据库的恢复.具体如下: reference   ITPUB分享文章:  http:// ...

  4. oracle定义转储目录,Oracle 12.1新特性:在线rename或relocate数据文件

    在Oracle12.1之前的版本中要重命名数据文件或移动数据文件需要关闭数据库或把表空间/数据文件置为offline状态才可以,参考之前总结的 要实现这一功能需要使用ALTERDATABASEMOVE ...

  5. ORACLE基础学习-RMAN应用之(归档模式无备份,丢失数据文件的恢复)

    二.归档模式无备份,丢失数据文件的恢复: 首先要意识到,这种恢复是有条件的,只有在某些特定条件下,才有可能在没有备份的情况下恢复丢失的数据文件. 同时又需意识到不是所有丢失的文件都是可以被成功恢复的. ...

  6. RMAN数据库恢复 之归档模式有(无)备份-丢失数据文件的恢复

    1.归档模式有备份,丢失数据文件的恢复 归档模式有备份,不管丢失什么数据文件,直接在RMAN下RESTOER--->RECOVER--->OPEN即可. RMAN> STARUP M ...

  7. oracle 10035 err 942,案例:Oracle日志报错 Fatal NI connect error 12170 TNS-12535 TNS-00505

    天萃荷净 Oracle数据库alert日志文件报错Fatal NI connect error 12170,通过查看mos相关文章找到解决办法 今天在一台服务器的日志文件中,发现如下信息: Fatal ...

  8. oracle之物理数据库结构概述(数据文件、重做日志文件,控制文件等各种数据库文件)

    oracle之物理数据库结构概述 oracle的物理结构其实是由各种各样的文件组成的, 其中与数据库相关的有: 数据文件(data file):这些文件是数据库的主要文件:其中包括数据表.索引和所有其 ...

  9. oracle启动pmon,案例:Oracle启动报错ksuapc:ORA-1033 foreground process starts before PMON

    天萃荷净 Oracle数据库启动时报错:ksuapc:ORA-1033 foreground process starts before PMON,分析原因由于启动时有前台进程连接导致. 1.在11. ...

  10. oracle 查阻塞日志,通过Oracle补充日志,找到锁阻塞源头的SQL

    问题背景: 有时会考虑一件事情,如果在Oracle环境下出现了锁阻塞的情况,如何定位到SQL源头(通过session.lock.transaction等视图仅能定位到会话)?或许有人会想有没有可能通过 ...

最新文章

  1. python基础知识整理 第二节:容器(list tuple dict)
  2. corosync+pacemaker+crm简单配置
  3. [译]Web Inspector开始支持CSS区域
  4. 【多标签文本分类】Large Scale Multi-label Text Classification with Semantic Word Vectors
  5. java 头尾 队列_源码|jdk源码之栈、队列及ArrayDeque分析
  6. 生活娱乐 达尔优的键盘鼠标如何打开和关闭呼吸灯
  7. JavaScript采用append添加的元素错误
  8. 智能小车37:异常在ARM、JAVA、硬件里的实现
  9. 前端学习(660):比较运算符
  10. Vue开发系列三 调试
  11. Unity3D Android集成Java源代码
  12. 中国医药流通行业深度分析及十四五发展规划咨询建议报告2022-2028年版
  13. 训练趣题:黑与白 有A、B、C、D、E五人,每人额头上都帖了一张黑或白的纸。(此处用javascript实现)...
  14. 【吐血整理】那些让你起飞的计算机基础知识:学什么,怎么学?
  15. c语言如何表示大于小于等于,Excel 公式中大于和小于等于计算应怎么写
  16. python语言程序设计计算机二级难不难_python语言程序设计计算机二级难不难_全国计算机二级的难度有多大?...
  17. 孝经白话:诸侯章第三
  18. 特别提醒:人脸识别时,一定要穿衣服,一不小心就中招了
  19. 欧姆龙OMRON Sysmac Studio工程怎么删除用户程序执行ID
  20. python数据分析、挖掘与可视化 慕课答案_知到APPPython数据分析与数据可视化2021慕课答案...

热门文章

  1. 使用 LaTeX 写数学公式
  2. 积水识别 工地积水识别
  3. html中置顶的命令行是啥,html怎么把置顶
  4. 上海航芯 | 热敏打印机方案分享
  5. xrd计算晶面间距_xrd如何计算晶格间距(1)
  6. 160813_qt显示阿拉伯输入法9x7点阵
  7. 分享(Java中new一个对象的过程)
  8. 【网络编程】同步、异步、阻塞和非阻塞
  9. 用HTML5为你的网页添加音效(兼容Firefox 3.5+, IE 6-9, Safari 3.0+, Chrome 3.0+, Opera 10.5+)...
  10. [数据通信]DHCP报文详解