某运营商网管故障报告(2013年写的)

1.   故障现象:

[BEGIN] 2013/2/2 6:16:26

-ef |grep ora_

root 28668 28621  0 06:11:47 pts/7    0:00 grep ora_

 

2013/2/2号(星期六早上6点左右)  远程登录进去发现已经没有oracle进程了

oracle 日志报错信息:

 

Creating archive destination LOG_ARCHIVE_DEST_1: '/archlog/archlog/cqdb_T0001S0000740433.ORA'

ARC2: Completed archiving  log 4 thread 1 sequence 740433

Sat Feb  2 01:07:06 2013

KCF: write/open error block=0x1e56a online=1

     file=266 /usr5/linkdata/newdata/data58.dbf

     error=27063 txt: 'SVR4 Error: 5: I/O error

Sat Feb  2 01:07:06 2013

KCF: write/open error block=0x28c7 online=1

Sat Feb  2 01:07:06 2013

KCF: write/open error block=0x1895 online=1

Sat Feb  2 01:07:06 2013

KCF: write/open error block=0x7ede online=1

Additional information: -1

     file=399 /usr5/linkdata/newdata/data192.dbf

     file=289 /usr5/linkdata/newdata/data81.dbf

Sat Feb  2 01:07:06 2013

KCF: write/open error block=0x1c042 online=1

     file=233 /usr5/linkdata/newdata/data25.dbf

Additional information: 8192'

     error=27063 txt: 'SVR4 Error: 5: I/O error

     error=27063 txt: 'SVR4 Error: 5: I/O error

     file=289 /usr5/linkdata/newdata/data81.dbf

     error=27063 txt: 'SVR4 Error: 5: I/O error

Additional information: -1

Additional information: -1

Sat Feb  2 01:07:06 2013

KCF: write/open error block=0x1c03f online=1

     error=27063 txt: 'SVR4 Error: 5: I/O error

Additional information: -1

Additional information: 8192'

Additional information: 8192'

     file=289 /usr5/linkdata/newdata/data81.dbf

Additional information: -1

Additional information: 8192'

     error=27063 txt: 'SVR4 Error: 5: I/O error

Additional information: 8192'

Additional information: -1

Additional information: 8192'

Sat Feb  2 01:07:06 2013

Additional information: -1

Additional information: 8192

Sat Feb  2 01:07:06 2013

………………………..

Errors in file /opt/app/oracle/admin/cqdb/bdump/cqdb_ckpt_17756.trc:

ORA-01171: datafile 246 going offline due to error advancing checkpoint

ORA-01110: data file 246: '/usr5/linkdata/newdata/data38.dbf'

ORA-01115: IO error reading block from file 246 (block # 1)

ORA-27063: skgfospo: number of bytes read/written is incorrect

SVR4 Error: 5: I/O error

Additional information: -1

Additional information: 8192

Sat Feb  2 01:07:06 2013

Errors in file /opt/app/oracle/admin/cqdb/bdump/cqdb_ckpt_17756.trc:

ORA-01171: datafile 247 going offline due to error advancing checkpoint

ORA-01110: data file 247: '/usr5/linkdata/newdata/data40.dbf'

ORA-01115: IO error reading block from file 247 (block # 1)

ORA-27063: skgfospo: number of bytes read/written is incorrect

SVR4 Error: 5: I/O error

Additional information: -1

Additional information: 8192

Sat Feb  2 01:07:06 2013

Errors in file /opt/app/oracle/admin/cqdb/bdump/cqdb_ckpt_17756.trc:

ORA-01171: datafile 248 going offline due to error advancing checkpoint

ORA-01110: data file 248: '/usr5/linkdata/newdata/data41.dbf'

ORA-01115: IO error reading block from file 248 (block # 1)

ORA-27063: skgfospo: number of bytes read/written is incorrect

SVR4 Error: 5: I/O error

Additional information: -1

Additional information: 8192

Sat Feb  2 01:07:06 2013

Errors in file /opt/app/oracle/admin/cqdb/bdump/cqdb_ckpt_17756.trc:

ORA-01171: datafile 249 going offline due to error advancing checkpoint

ORA-01110: data file 249: '/usr5/linkdata/newdata/data42.dbf'

ORA-01115: IO error reading block from file 249 (block # 1)

ORA-27063: skgfospo: number of bytes read/written is incorre

 

alert日志里报告大量IO错误,查看操作系统发现user5下面已经没有linkdata目录了

cqdb% cd /usr5/linkdata/newdata

/usr5/linkdata/newdata: No such file or directory

cqdb% cd /usr5

cqdb% ls

linkdata_20050914.old

cqdb% pwd

/usr5

cqdb% ls

linkdata_20050914.old

 

1.   故障处理步骤:

1:在2013/2/2 早上7左右赶到8,主机工程师确认是文件系统出了问题,经过了重启等一系列文件修复动作,在上午10点左右确认/user5下面的文件系统恢复了(经过后面的确认,这个时候/archlog归档目录也出现了损坏,但没有检查出)

2:这时启动数据库报告如下错误

SQL> startup   
ORACLE 例程已经启动。
Total System Global Area 4550795736 bytes
Fixed Size                   737752 bytes
Variable Size            1291845632 bytes
Database Buffers         3254779904 bytes
Redo Buffers                3432448 bytes
数据库装载完毕。
ORA-01122: 
数据库文件 1 验证失败
ORA-01110: 
数据文件 1: '/usr5/linkdata/sys/system_ln10_1.dbf'
ORA-01207: 
文件比控制文件更新 - 旧的控制文件

 

备注:

  1:我刚开始是产生的trace文件,而后去重新创建控制文件,因为里面有空行,搞了半天没有创建成功,正在找原因,应用提示丢了数据文件,应该有400多个的,而这里产生的才247,不解!!!

alter database backup controlfile to trace as  '/opt/app/oracle/admin/cqdb/control.ctl';

  2:什么情况下会导致上面的情况发生?如果真是创建的控制文件里少了数据文件,还能重新加入进去吗?

  3:如果重建的控制文件文本里有空行会如下错误

SQL> SP2-0734: 未知的命令开头 "'/usr5/lin..." - 忽略了剩余的行。

 

3:文件系统异常,主机强制关机等操作导致了控制文件跟数据文件不一致,需要重新创建控制文件

cqdb% rman target /

恢复管理器: 版本9.2.0.6.0 - 64bit Production

Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.

连接到目标数据库: cqdb(未安装)

RMAN> connect catalog rman/rman@legato;

连接到恢复目录数据库

RMAN> restore controlfile from '/opt/app/oracle/product/9.2.0.1/dbs/auto_bak_controlfile/c-1685697677-20130201-00';

启动 restore 2013-02-02 09:37:52

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=21 devtype=DISK

通道 ORA_DISK_1: 正在恢复控制文件

通道 ORA_DISK_1: 恢复完成

正在复制控制文件

输出文件名=/usr5/linkdata/sys/control_ln.1_1.ctl

输出文件名=/usr5/linkdata/sys/control_ln.1_2.ctl

输出文件名=/usr5/linkdata/sys/control_ln.1_3.ctl

完成 restore 2013-02-02 09:38:03

RMAN> exit

 

4: 利用从集中备份恢复的控制文件开始恢复启动数据库

 

cqdb% set LANG=en

SQL> alter database mount;

 

cqdb% sqlplus "/as sysdba"

SQL*Plus: Release 9.2.0.6.0 - Production on 星期六 2 2 09:52:41 2013

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

连接到:

Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.6.0 - Production

SQL> recover database using backup controlfile until cancel;

ORA-00279: 更改 20497614742 ( 08/04/2010 00:16:28 生成) 对于线程 1 是必需的

ORA-00289: 建议: /archlog/archlog/cqdb_T0001S0000331740.ORA  

ORA-00280: 更改 20497614742 对于线程 1 是按序列 # 331740 进行的  

                                                             ?---归档目录根本都找不到cqdb_T0001S0000331740.ORA

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

/usr5/linkdata/sys/redob2_ln.1_1.log                       ?指定当前联机日志文件来恢复

ORA-00310: 存档日志包含序列 331739;要求序列 331740

ORA-00334: 归档日志: '/usr5/linkdata/sys/redob2_ln.1_1.log'

 

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

ORA-01194: 文件1需要更多的恢复来保持一致性                  <---这里提示system需要更多的日志文件来恢复

ORA-01110: 数据文件 1: '/usr5/linkdata/sys/system_ln10_1.dbf'

ORA-01112: 未启动介质恢复

 

查看当前联机日志

SQL> select * from v$logfile;

    GROUP# STATUS         TYPE

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

MEMBER

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

         1                ONLINE

/usr5/linkdata/sys/redoa1_ln.1_1.log

         1                ONLINE

/usr5/linkdata/sys/redob1_ln.1_1.log

         2                ONLINE

/usr5/linkdata/sys/redoa2_ln.1_1.log

    GROUP# STATUS         TYPE

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

MEMBER

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

         2                ONLINE

/usr5/linkdata/sys/redob2_ln.1_1.log

         3                ONLINE

/usr5/linkdata/sys/redoa3_ln.1_1.log

         3                ONLINE

/usr5/linkdata/sys/redob3_ln.1_1.log

    GROUP# STATUS         TYPE

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

MEMBER

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

         4                ONLINE

/usr5/linkdata/sys/redoa4_ln.1_1.log

         4                ONLINE

/usr5/linkdata/sys/redob4_ln.1_1.log

SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIV

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

STATUS                           FIRST_CHANGE# FIRST_TIME

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

         1          1     740202  104857600          2 YES

INACTIVE                            2.6179E+10 2013-02-01 17:48:40

         2          1     740203  104857600          2 YES

ACTIVE                              2.6179E+10 2013-02-01 18:04:08

         3          1     740204  104857600          2 NO

CURRENT                             2.6179E+10 2013-02-01 18:07:31

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIV

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

STATUS                           FIRST_CHANGE# FIRST_TIME

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

         4          1     740201  104857600          2 YES

INACTIVE  

这时查看归档目录是否有恢复需要的归档日志文件

cqdb% cd /archlog/archlog

cqdb% ls -l

./cqdb_T0001S0000740399.ORA: I/O error         ?-----归档目录有报告IO错误,归档日志根本无法读取

./cqdb_T0001S0000740400.ORA: I/O error

./cqdb_T0001S0000740398.ORA: I/O error

total 30534272

-rw-r-----   1 oracle   dba      104857088 Feb  1 21:10 cqdb_T0001S0000331734.ORA

-rw-r-----   1 oracle   dba      104857088 Feb  1 21:11 cqdb_T0001S0000331735.ORA

-rw-r-----   1 oracle   dba      104857088 Feb  1 21:12 cqdb_T0001S0000331736.ORA

-rw-r-----   1 oracle   dba      104857088 Feb  1 21:14 cqdb_T0001S0000331737.ORA

-rw-r-----   1 oracle   dba      104857088 Feb  1 21:21 cqdb_T0001S0000331738.ORA

-rw-r-----   1 oracle   dba      104857088 Aug  4  2010 cqdb_T0001S0000331739.ORA

-rw-r-----   1 oracle   dba      104857088 Feb  1 18:58 cqdb_T0001S0000740255.ORA

-rw-r-----   1 oracle   dba      104857088 Aug  3  2010 cqdb_T0001S0000740257.ORA

-rw-r-----   1 oracle   dba      104857088 Aug  3  2010 cqdb_T0001S0000740258.ORA

-rw-r-----   1 oracle   dba      104857088 Feb  1 19:02 cqdb_T0001S0000740259.ORA

-rw-r-----   1 oracle   dba      104857088 Feb  1 19:03 cqdb_T0001S0000740260.ORA

……………………..

 

当系统工程师对/archlog/archlog做了目录修复后, /archlog/archlog目录下的很多归档日志都丢失了,要想通过这些不连续的归档日志来恢复启动数据库已经不可能了

 

5:查看当前各个文件的checkpoint

SQL> col checkpoint_change# format 9999999999999999999999999

SQL> select file#,checkpoint_change# from v$datafile_header;

         1                26181013653

         2                26181013653

         3                20497614742

         4                20497614742

      ……………………….

        99                20497614742

       100                20497614742

       101                26181053757

       102                26181053757

       ………………………………………

       227                26181053757

       228                26181053757

       229                26181053757

       230                20497614742

       231                20497614742

       232                20497614742

       233                20497614742

      ……………………………………………

       241                20497614742

       242                26181053757

       243                26181013653

       ……………………………………….

       300                26181013653

       301                20497614742

       302                20497614742

      ……………………………………… 

       319                20497614742

       320                20497614742

       321                26181013653

       ………………………………   

       449                26181013653

       450                26181013653

       451                26181013653

       452                26181013653

       453                26181013653

       454                26181013653

已选择454行。   

?----共454条数据文件记录,但其checkpoint_change#出现了很多不一致现象,此时的数据库是根本无法正常打开的

        而恢复所需要的日志文件已经被文件系统修复丢失了部分,不连续的日志文件无法保证数据库能到open状态.

 

6:把当前情况汇报给华胜二线专家组,同时联系了原厂Oracle工程师,一致确认当前数据库已经无法正常打开了。

  建议在先保留现场的情况下,而后利用备份恢复

 

7:考虑到而系统占用空间大(800G)左右,根本没有足够的空间来保留现场,避免更严重的损坏,同时rman集中备份的文件也重来没有恢复过,不能保证一定能够成功从备份系统恢复回来.

  没有任何回退方案,此时也不能贸然决定用集中备份恢复,而且这种恢复会耗费很长时间.

 

8:连接到catalog查看集中备份的备份时间,以确定是否可以恢复数据库,以及能推进的最近归档时间

cqdb% rman target /    

恢复管理器: 版本9.2.0.6.0 - 64bit Production

Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.

连接到目标数据库: CQDB (DBID=1685697677)

RMAN> connect catalog rman/rman@legato;

连接到恢复目录数据库

RMAN> list backup of database;

………………………

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间          

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

2192881 Full    5G         SBT_TAPE    00:04:08     2013-01-27 06:47:44  ?--显示最近一次全库备份时间是127

BP 关键字: 2193006   状态: AVAILABLE   标记:TAG20130127T040147

段名:/full_CQDB_nvo0eoso/

  备份集 2192881 中的数据文件列表

  文件 LV 类型 Ckp SCN    Ckp 时间            名称

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

  191     Full 26136929293 2013-01-27 06:43:37 /usr5/linkdata/user/c_perf_partition1.5_32.dbf

  192     Full 26136929293 2013-01-27 06:43:37 /usr5/linkdata/user/c_perf_partition1.5_33.dbf

  193     Full 26136929293 2013-01-27 06:43:37 /usr5/linkdata/user/c_perf_partition1.5_34.dbf

  194     Full 26136929293 2013-01-27 06:43:37 /usr5/linkdata/user/c_perf_partition1.5_35.dbf

RMAN> list backup of archivelog all;

                                                                 ?-显示最近一次归档备份是131

也就是说如果采用集中备份恢复,在一切正常的情况下可以推到2013131号的数据

 

9:决定先采用非常规方法强制打开数据库,让应用厂商把相关重要数据及表结构做逻辑备份,防止万一集中备份恢复失败还有方案可走

 

10: 采用了如下一系列的隐含参数文件来强制启动数据库,加了event,跳过不一致检查来试图打开数据库

*._allow_resetlogs_corruption =true

*._minimum_giga_scn=11649

*.undo_managment=manual

*._CORRUPTED_ROLLBACK_SEGMENTS=(_SYSSMU1$,_SYSSMU2$,_SYSSMU3$,_SYSSMU4$,_SYSSMU5$,_SYSSMU6$,_SYSSMU7$,_SYSSMU8$,_SYSSMU9$,_SYSSMU10$,_SYSSMU11$,_SYSSMU12$,_SYSSMU13$,_SYSSMU14$,_SYSSMU15$,_SYSSMU16$,_SYSSMU17$,_SYSSMU18$,_SYSSMU19$,_SYSSMU20$)

 

11:强制打开的数据库报告了很多内部错误,这个在预料之中,赶紧让开发人员把重要表和数据做Exp逻辑备份  

 ?-下午3点左右数据库可以打开

errors in file /opt/app/oracle/admin/cqdb/bdump/cqdb_smon_11419.trc:

ORA-00600: internal error code, arguments: [4137], [], [], [], [], [], [], []

Sat Feb  2 15:17:44 2013

Errors in file /opt/app/oracle/admin/cqdb/udump/cqdb_ora_11439.trc:

ORA-00600: 内部错误代码,参数: [4193], [4274], [4300], [], [], [], [], []

Sat Feb  2 15:17:45 2013

ORACLE Instance cqdb (pid = 11) - Error 600 encountered while recovering transaction (11, 27).

Sat Feb  2 15:17:45 2013

Errors in file /opt/app/oracle/admin/cqdb/bdump/cqdb_smon_11419.trc:

ORA-00600: internal error code, arguments: [4137], [], [], [], [], [], [], []

Sat Feb  2 15:17:46 2013

Doing block recovery for fno: 2 blk: 1137288

Sat Feb  2 15:17:46 2013

Recovery of Online Redo Log: Thread 1 Group 1 Seq 2 Reading mem 0

  Mem# 0 errs 0: /usr5/linkdata/sys/redoa1_ln.1_1.log

  Mem# 1 errs 0: /usr5/linkdata/sys/redob1_ln.1_1.log

Doing block recovery for fno: 2 blk: 9

Sat Feb  2 15:17:46 2013

Recovery of Online Redo Log: Thread 1 Group 1 Seq 2 Reading mem 0

  Mem# 0 errs 0: /usr5/linkdata/sys/redoa1_ln.1_1.log

  Mem# 1 errs 0: /usr5/linkdata/sys/redob1_ln.1_1.log

Sat Feb  2 15:17:46 2013

Errors in file /opt/app/oracle/admin/cqdb/udump/cqdb_ora_11439.trc:

ORA-00607: 当更改数据块时出现内部错误

ORA-00600: 内部错误代码,参数: [4193], [4274], [4300], [], [], [], [], []

Error 607 happened during db open, shutting down database

USER: terminating instance due to error 607

Instance terminated by USER, pid = 11439

 

12:大概在晚上7点左右(22), 开发人员把他们认为重要的表及数据都导了出来,保存到本地,作为最后的回退恢复方案

这时去掉先前启用的隐含参数文件,再次启动数据库,此时的数据库是可以正常启动了的,有如下错误,ha双机软件观察业务都是可以正常运行的,考虑到该库强制打开过,已经处于不稳定状态,随时都可能报告不可预知的内部错误,而且已经逻辑备份了重要的业务数据,决定采用集中备份来进行全库恢复工作

 

ORA-00339: archived log does not contain any redo

ORA-00334: archived log: '/usr5/linkdata/sys/redoa4_ln.1_1.log'

Sat Feb  2 17:50:57 2013

Errors in file /opt/app/oracle/admin/cqdb/bdump/cqdb_smon_18702.trc:

ORA-00600: internal error code, arguments: [4137], [], [], [], [], [], [], []

Sat Feb  2 17:50:58 2013

ORACLE Instance cqdb (pid = 11) - Error 600 encountered while recovering transaction (11, 28).

Sat Feb  2 17:50:58 2013

Errors in file /opt/app/oracle/admin/cqdb/bdump/cqdb_smon_18702.trc:

ORA-00600: internal error code, arguments: [4137], [], [], [], [], [], [], []

 

 

13:经过商量决定,联系集中备份,大概在晚上8点作业开始了全库恢复工作,一直持续到23号下午5点左右才停止恢复,数据恢复推演到2013128号早上2点左右.

 

14:在推演日志的时候,有如下两个数据文件一直提示需要恢复

SQL> select t.name,f.name from v$tablespace t,v$datafile f

    where f.file# in (453,454)

    and f.ts#=t.ts#;

C_PERF_PARTITION11                                 /usr5/linkdata/newdata/data247.dbf

PERF_DOCARRIERFREQ02                               /usr5/linkdata/newdata/data246.dbf

 

跟业务人员确认说这两个文件是21号新添加的,不在全库备份恢复范围内,而恢复所采用的控制文件是20130201最新的控制文件,

执行了如下操作

alter database create datafile '/usr5/linkdata/newdata/data246.dbf';

alter database create datafile '/usr5/linkdata/newdata/data247.dbf';

 

alter database datafile '/usr5/linkdata/newdata/data246.dbf' offline drop;

alter database datafile '/usr5/linkdata/newdata/data247.dbf' offline drop;

 

SQL> col checkpoint_change# format 9999999999999999999999999

SQL> select file#,checkpoint_change# from v$datafile_header;

此时的所有数据文件checkpoint都处于了一直状态,246247对应的要小很多

alter database backup controlfile to trace as  '/opt/app/oracle/admin/cqdb/control.ctl';

在导出的控制文件里去掉了最后的246247数据文件重新建立进去

再次查询v$datafilecheckpoint_change#,没有发现了246247

 

可以alter database open resetlogs;打开数据库了

 

打开以后发现246文件需要recover,后来证实这个文件是128号所建的,而最开始推日志的时候已经offline,日志都没了,无法online

SQL> select file_name,status from dba_data_files where file_name='/usr5/linkdata/newdata/data246.dbf';

/usr5/linkdata/newdata/data246.dbf

AVAILABLE

SQL> select file#,status from v$datafile where name ='/usr5/linkdata/newdata/data246.dbf';

     FILE# STATUS

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

       453 RECOVER

 

SQL> alter database create datafile '/opt/app/oracle/product/9.2.0.1/dbs/MISSING00453' as '/usr5/linkdata/newdata/data246.dbf';

alter database create datafile '/opt/app/oracle/product/9.2.0.1/dbs/MISSING00453' as '/usr5/linkdata/newdata/data246.dbf'

*

ERROR 位于第 1 :

ORA-01178: 文件 453 在最后一个 CREATE CONTROLFILE 之前创建,无法重新创建

ORA-01111: 数据文件 453 名称未知 - 请重命名以更正文件

ORA-01110: 数据文件 453: '/opt/app/oracle/product/9.2.0.1/dbs/MISSING00453'

 

Mos: ID[333620.1]

The control file should have datafile created information.If the controlfile was re-created
after the datafile was created then the below solution will not work and step 2 will
error with ORA-01178

如果在创建文件之后重建了控制文件,再次创建就会报ORA-01178错误

 

SQL> alter database datafile '/opt/app/oracle/product/9.2.0.1/dbs/MISSING00453' offline;

数据库已更改。

SQL> alter database rename file '/opt/app/oracle/product/9.2.0.1/dbs/MISSING00453' to '/usr5/linkdata/newdata/data246.dbf';

数据库已更改。

SQL> alter database datafile '/usr5/linkdata/newdata/data246.dbf' online;

ERROR 位于第 1 :

ORA-01190: 控制文件或数据文件453来自于最后一个 RESETLOGS 之前

ORA-01110: 数据文件 453: '/usr5/linkdata/newdata/data246.dbf'

无法online,就让他offline吧,但后面发现还是有问题,只要到这个文件的读写都无法进行

 

Mos:[ ID 1475632.1] once the controlfile is recreated with resetlogs all offlined datafiles cannot be added back to the database. You may encounter the following errors.

RMAN> sql 'alter database datafile 6 online';
sql statement: alter database datafile 6 online
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of sql command on default channel at 07/29/2012 11:07:07
RMAN-11003: failure during parse/execution of SQL statement: alter database datafile 6 online
ORA-01190: control file or data file 6 is from before the last RESETLOGS
ORA-01110: data file 6: '/opt/app/oracle/oradata/ORA112/leng_ts.dbf'

 

15:数据库正常打开后(236点左右)又遭遇了一次主机的异常宕机,这次没有影响到数据库的正常启动.

   业务开始补录数据

 

16:2月4号业务补录128131号数据过程中遇到如下错误

select  * from C_PERF.C_PERF_DOCARRIERFREQ partition (PERF_DO_FREQ130201) where start_time='2013-01-28 12:00:00'

直接报错:

ORA-00376:此时无法读取文件453

ORA-01110:数据文件453: '/usr5/linkdata/newdata/data246.dbf'

不解:该文件都已经offline,为什么还要去读里面内容,写也写不进去(现在控制文件显示是offline,数据文件显示是recover)

 

经过再次跟业务确认,发现data246.dbf根本就不是21号所建,应该是128号早上9点左右建立的

此时该数据文件已经是offline状态,recover已经是不可能了.因该文件对应一个分区的分区表空间,决定先导出数据,重建该表空间,再倒入进去

 

17: 导出数据

exp c_perf/cdmaperf0808@cqdb file=C_PERF_DOCARRIERFREQpartition201301.dmp tables=C_PERF_DOCARRIERFREQ:PERF_DO_FREQ130201  log=./log/exp_partition_201301.log query=\"where start_time\<\'2013-01-28\'\"

 

18: 删除分区 alter table C_PERF_DOCARRIERFREQ drop partition PERF_DO_FREQ130201;

 

19: 删除表空间 PERF_DOCARRIERFREQ02

drop tablespace PERF_DOCARRIERFREQ02 INCLUDING CONTENTS and DATAFILES;

 

20: 添加表空间

create tablespace PERF_DOCARRIERFREQ02 datafile '/usr5/linkdata/newdata/data145.dbf';

alter tablespace PERF_DOCARRIERFREQ02 add datafile '/usr5/linkdata/newdata/data157.dbf';

alter tablespace PERF_DOCARRIERFREQ02 add datafile '/usr5/linkdata/newdata/data246.dbf';

 

21: 分裂分区

ALTER TABLE C_PERF.C_PERF_DOCARRIERFREQ

SPLIT PARTITION PERF_DO_FREQ130301

AT (TO_DATE ('2013-02-01 00:00:00','YYYY-MM-DD HH24:MI:SS'))

INTO (partition PERF_DO_FREQ130201 tablespace PERF_DOCARRIERFREQ02, partition PERF_DO_FREQ130301);

 

22: imp导入数据

imp c_perf/cdmaperf0808@cqdb file='C_PERF_DOCARRIERFREQpartition201301.dmp' tables=C_PERF_DOCARRIERFREQ:PERF_DO_FREQ130201 ignore=y buffer=104857600 commit=yes feedback=100000  log=imp_DO_FREQ130201.log

 

23:到此为止,全部结束!




来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/61604/viewspace-1757675/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/61604/viewspace-1757675/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值