欢迎光临深圳市补天时代科技有限公司!
深圳市补天时代科技有限公司
免费咨询申请

24小时全国咨询热线:0755-83775551

ORACLE修复

Oracle作为世界上稳定的数据库得到大型企业以及金融机构的青睐,Oracle经常应用在linux系统,unix系统和aix小型机等环境下。

  

  Oracle由控制文件、数据库文件和临时文件组成。

  

  控制文件在Oracle数据库中扮演着很重要的角色,控制文件包括了很多重要的信息,比如数据库的数据文件、重做日志文件、数据库的名称、数据库创建信息、表空间信息、数据文件的状态、日志文件信息、备份信息、检查点信息等,断电或者硬盘坏道导致没有控制文件或者控制文件损坏了,运行着的实例立即崩溃,关闭着Oracle的死活打不开,可以说,控制文件一旦损坏,数据库必然down了。

  

  数据文件是用来存储实际数据的,数据文件是存储数据的物理概念,是数据库文件的核心所在。在Oracle中有个概念叫做表空间,一个表空间至少包含一个数据文件,创建数据库对象的时候指定的是使用的表空间,一个表空间(比如一张大表)可以跨越多个数据文件。

  

  临时文件是临时表空间对应的数据文件,这个文件不是一用完就删除,而是指这个文件存储的对象是属于临时存在的对象。临时文件主要用于大量的排序的时候,如果不能在内存中进行排序,那么就会将数据转移到临时文件中作为中转。

  

  有时候控制文件虽然完好,但数据库文件却出现了问题,比如库文件恰好在坏道上,或者磁盘阵列故障,导致数据库文件损坏。或者说控制文件也坏了,无论数据库文件是否完好,这个时候,数据库会报各种各样的错误代码,都是ORA-××××。

  

  Oracle一般出现故障的原因是突然断电、硬盘坏道、磁盘阵列中硬盘掉线。具体有以下的表现形式

  

  1、 非归档模式的数据库,丢失数据文件

  

  丢失某个数据库文件,造成了数据库无法启动,同时数据库处于非归档模式,也没有冷备份,启动时的错误信息如下:

  

  ORA-01157: cannot identify/lock data file 3 - see DBWR trace file

  

  ORA-01110: data file 3: 'D:ORACLEORADATATESTUSERS01.DBF'

  

  2、控制文件损坏

  

  控制文件发生了损坏,数据库已经无法启动,报错信息如下:

  

  ORA-00202: controlfile: 'D:Oracleoradatachencontrol01.ctl'

  

  ORA-27041: unable to open file

  

  OSD-04002: unable to open file

  

  这种控制文件损坏不外乎两种情况,其一是控制文件有镜像,且镜像控制文件没有被损坏,其二是控制文件无镜像,或者镜像的所有控制文件都损坏了。

  

  3、UNDO数据文件损坏,数据库无法启动

  

  Undo数据文件发生了丢失或损坏,数据库启动报错:

  

  ORA-01157: cannot identify/lock data file 2 - see DBWR trace file

  

  ORA-01110: data file 2: '/oracle10/oradata/ora10g/undotbs01.dbf'

  

  4、临时表空间的数据文件损坏

  

  临时表空间的数据文件发生损坏,系统出现故障

  

  5、current或active的redo log损坏

  

  误删除了redo log,或者redo log被损坏,数据库不能打开:

  

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

  

  ORA-00312: online log 2 thread 1: '/oracle10/oradata/ora10g/redo02.log'

  

  6、非current和active的redo log损坏

  

  误删除了redo log,或者redo log被损坏,数据库能mount,不能open:

  

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

  

  ORA-00312: online log 3 thread 1: '/oracle10/oradata/ora10g/redo03.log'

  

  7、归档模式数据库丢失某数据文件,无备份,但有该数据文件创建以来的归档日志。

  

  归档模式的数据库,丢失了某个数据库文件,造成了数据库无法启动,同时没有数据库的全备份,但有该数据文件创建以来的归档日志,数据库无法启动:

  

  ORA-01157: cannot identify/lock data file 3 - see DBWR trace file

  

  ORA-01110: data file 3: 'D:ORACLEORADATATESTUSERS01.DBF

  

  解决方案

  

  不管是控制文件还是数据库文件出错,只要保留好Oracle system文件夹不被破坏, 我们都有挽救的办法,如果里面包含有控制文件和数据库文件,补天科技都有良好的解决方案:把数据库文件修复生成DMP文件。然后再建立一个同样的oracle数据库环境,把DMP文件导入即可恢复。