|
愚人节,极不顺利... 在测试环境,为一个20000000记录的表,建立物化视图的时候,2个小时都无法完成。监控磁盘 I/O,觉得不正常,实在不想等了,kill会话也没有反应。 shutdown immediate无反应,强行startup force,结果ORA-00205,一个老熟人也出现了. 还没有等我们,处理这个问题,更大问题出现了,这个老机器居然坏了: Disk error Disk error Disk error 解决办法居然是冷却,除尘,拍两下,无语...折腾到11点半才回家,今天购买的X360 皇牌空战也无法尝鲜了。 再说说ORA-00205,控制文件效验无法通过。一般两种原因造成, 1.控制文件坏了 2.控制文件和数据文件SCN不一致(断电容易出现,暴力重启也可能出现) 如果控制文件都坏了,也没备份,我们就得手工重建。方法很简单如下(笔记本测试): 先找到pfile,注释掉控制文件那一行,加个# 启动到nomount SQL> startup nomount pfile='D:\oracle\product\10.2.0\db_1\database\initwwj.ora' 用脚本重建control file(末尾) SQL>@control.txt Control file created. 恢复数据库,我本机不需要恢复 SQL> recover database ORA-00283: recovery session canceled due to errors ORA-00264: no recovery required 归档,但我是非归档模式 SQL> alter system archive log all; alter system archive log all * ERROR at line 1: ORA-00258: manual archiving in NOARCHIVELOG mode must identify log 打开数据库 SQL> alter database open; Database altered. 测试 SQL> conn wwj/wwj 已连接。 SQL> select * from dual; 如果有backup controlfile 就不用手工重写了,直接在tracefile把类似信息提取出来。 ---------------control.txt------------------------------------- CREATE CONTROLFILE REUSE DATABASE "WWJ" NORESETLOGS NOARCHIVELOG MAXLOGFILES 32 MAXLOGMEMBERS 2 MAXDATAFILES 254 MAXINSTANCES 1 MAXLOGHISTORY 226 LOGFILE GROUP 1 ('D:\oracle\product\10.2.0\oradata\WWJ\ONLINELOG\O1_MF_1_3XL5S989_.LOG', 'D:\oracle\product\10.2.0\flash_recovery_area\WWJ\ONLINELOG\O1_MF_1_3XL5SCPY_.LOG') SIZE 50M, GROUP 2 ('D:\oracle\product\10.2.0\oradata\WWJ\ONLINELOG\O1_MF_2_3XL5SFXS_.LOG', 'D:\oracle\product\10.2.0\flash_recovery_area\WWJ\ONLINELOG\O1_MF_2_3XL5SHVT_.LOG') SIZE 50M DATAFILE 'D:\oracle\product\10.2.0\oradata\WWJ\DATAFILE\O1_MF_SYSAUX_3XL5QCSW_.DBF', 'D:\oracle\product\10.2.0\oradata\WWJ\DATAFILE\O1_MF_SYSTEM_3XL5QCRF_.DBF', 'D:\oracle\product\10.2.0\oradata\WWJ\DATAFILE\O1_MF_UNDOTBS1_3XL5QD2G_.DBF', 'D:\oracle\product\10.2.0\oradata\WWJ\DATAFILE\O1_MF_USERS_3XL5QD3X_.DBF', 'D:\oracle\product\10.2.0\oradata\WWJ\DATAFILE\WWJDATA.ORA' CHARACTER SET ZHS16GBK;
|
一共有 1 条评论