标签:ora-12528 ora-01033 ora-00202
非常不幸的,win2003服务器疏于管理,中毒了,清理了病毒以后,oracle也瘫痪了。上次备份还在一周前,这一周的数据咋办?
第1次尝试:
选择不创建数据库,仅安装软件,选择原目录,然后报错,说安装位置冲突
[INS-32025]所选安装与指定Oracle主目录中已安装的软件冲突解决办法:删除C:\Program Files\Oracle目录,安装继续
然后又提示原目录有内容,选择继续,安装完成。
但是安装完成后,啥都没变,删除的文件没有回来。
第2次尝试
把原product目录删掉,再装。这次删除的exe和dll文件回来了,但是oracle服务没有恢复,运行数据库配置助手,发现它也没有识别并加载到原数据库文件。
第3次尝试
先卸载,提示要使用deinstall.exe,照做,一路回车,卸载完毕。然后彻底删除原oracle,包括注册表、主目录、和其它文件,详细参见网络文章。
再次安装,这次选择了创建数据库,实例名还是保持原来的一样。
安装过程中出现了一些问题,比如无权修改键,监听创建失败,数据库创建失败等,心都凉了,也只能一路忽略继续。
装完后发现服务回来了,手工启动TNSListener监听服务,启动OracleService实例服务,所幸没有影响,正常启动,能够正常登录连接熟悉的scott,哦也。
然后就是恢复数据了,停掉OracleService服务,把备份的原库主目录下的oradata目录全部覆盖过去。
连接提示:ORA-12528: TNS: 监听程序: 所有适用例程都无法建立新连接
别慌,打开主目录\product\11.2.0\dbhome_1\NETWORK\ADMIN下的listener.ora文件,在SID_LIST_LISTENER配置修改成:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.1.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = 数据库实例名)
(ORACLE_HOME = c:\oracle\product\10.1.0\db_1)
(SID_NAME = 数据库实例名)
)
)
蓝色是添加的,保存后重启TNSListener。
这次似乎成功了,sysdba可以连接上了,可是连接scott时又报错了:ora-01033:oracle initializationg or shutdown in progress
用cmd方式,执行sqlpuls /nolog,打开sqlplus,
SQL>connect sys/password@orcl as sysdba 用sysdba连接数据库
SQL>shutdown immediate 停止服务
出现一个ORA-01507的报错,不过还是显示例程已关闭,那就别管这个错了。
SQL>startup 启动服务
发现报错:
ORACLE 例程已经启动。
Total System Global Area 778387456 bytes
Fixed Size 1374808 bytes
Variable Size 234882472 bytes
Database Buffers 536870912 bytes
Redo Buffers 5259264 bytes
ORA-00211: ???????????????
ORA-00202: ????: ‘‘D:\ORACLE11G\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL‘‘
那就是这个文件有问题罗
SQL>shutdown immediate 再次停止服务
把备份的原库主目录下的FLASH_RECOVERY_AREA目录全部覆盖过去。
SQL>startup 再次启动服务
连接scott,成功!
连接生产用户,成功!!!
差点哭了……
如果上天给我再来一次的机会,我一定搞成每天自动备份!
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:ora-12528 ora-01033 ora-00202
原文地址:http://blog.csdn.net/yishengreai/article/details/46986555