客户的电脑因为频繁断电,造成orcle无法连接,报 ORA-01033 :oracle初始化或者关闭错误.

按照传统方法

进入cmd

sqlplus sys/password@user as sysdba 

可以连接.关闭数据库

shutdown immediate

ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。

再重新打开,就打不开了,提示 TNS: 监听程序当前无法识别连接描述符中请求的服务

遂修改listener.ora

原始listener.ora文件是这样的:

# listener.ora Network Configuration File: D:\app\LIHE\product\11.2.0\dbhome_2\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = CLRExtProc)(ORACLE_HOME = D:\app\LIHE\product\11.2.0\dbhome_2)(PROGRAM = extproc)(ENVS = "EXTPROC_DLLS=ONLY:D:\app\LIHE\product\11.2.0\dbhome_2\bin\oraclr11.dll")))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = USER-20160412KB)(PORT = 1521))))ADR_BASE_LISTENER = D:\app\LIHE

改成:

# listener.ora Network Configuration File: D:\app\LIHE\product\11.2.0\dbhome_2\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = CLRExtProc)(ORACLE_HOME = D:\app\LIHE\product\11.2.0\dbhome_2)(PROGRAM = extproc))(SID_DESC=(GLOBAL_DBNAME=sde)(ORACLE_HOME = D:\app\LIHE\product\11.2.0\dbhome_2)(SID_NAME = sde)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = USER-20160412KB)(PORT = 1521))))ADR_BASE_LISTENER = D:\app\LIHE

再次重复数据库关闭/打开的操作,这次报 ORA-12528 TNS: 监听程序: 所有适用例程都无法建立新连接

遂修改tnsnames.ora

原始的tnsnames.ora是这样的

# tnsnames.ora Network Configuration File: D:\app\LIHE\product\11.2.0\dbhome_2\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.ORACLR_CONNECTION_DATA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)))(CONNECT_DATA =(SID = CLRExtProc)(PRESENTATION = RO)))
SDE=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = sde)))
LISTENER_SDE = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = SDE) ) )

修改后:

# tnsnames.ora Network Configuration File: D:\app\LIHE\product\11.2.0\dbhome_2\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.ORACLR_CONNECTION_DATA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)))(CONNECT_DATA =(SID = CLRExtProc)(PRESENTATION = RO)))SDE =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = sde)(UR=A)))LISTENER_SDE =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = SDE)))

修改后可以开启数据库,但是又报这个错  ORA-00600: 内部错误代码, 参数: [kcratr_nab_less_than_odr]

遂按照如下代码去处理

--尝试直接recover database
SQL> RECOVER DATABASE ;
ORA-00283: 恢复会话因错误而取消
ORA-00264: 不要求恢复
--提示不用恢复--再打开数据库,还是kcratr_nab_less_than_odr错误警告
SQL> ALTER DATABASE OPEN;
ALTER DATABASE OPEN
*
第 1 行出现错误:
ORA-00600: 内部错误代码, 参数: [kcratr_nab_less_than_odr], [1], [99189],
[43531], [43569], [], [], [], [], [], [], []--尝试不完全恢复
SQL> RECOVER DATABASE UNTIL CANCEL;
ORA-10879: error signaled in parallel recovery slave
ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误
ORA-01152: 文件 1 没有从过旧的备份中还原
ORA-01110: 数据文件 1: 'D:\DBDMS\DATA\SYSTEM01.DBF'--重建控制文件
SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS 'D:/1.TXT';数据库已更改。SQL> SHUTDOWN IMMEDIATE;
ORA-01109: 数据库未打开已经卸载数据库。
ORACLE 例程已经关闭。
SQL> STARTUP NOMOUNT;
ORACLE 例程已经启动。Total System Global Area  417546240 bytes
Fixed Size                  2176328 bytes
Variable Size             268438200 bytes
Database Buffers          138412032 bytes
Redo Buffers                8519680 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "DBDMS" NORESETLOGS  NOARCHIVELOG2      MAXLOGFILES 163      MAXLOGMEMBERS 34      MAXDATAFILES 1005      MAXINSTANCES 86      MAXLOGHISTORY 186887  LOGFILE8    GROUP 1 'D:\DBDMS\LOG\REDO01.LOG'  SIZE 50M BLOCKSIZE 512,9    GROUP 2 'D:\DBDMS\LOG\REDO02.LOG'  SIZE 50M BLOCKSIZE 512,10    GROUP 3 'D:\DBDMS\LOG\REDO03.LOG'  SIZE 50M BLOCKSIZE 51211  DATAFILE12    'D:\DBDMS\DATA\SYSTEM01.DBF',13    'D:\DBDMS\DATA\SYSAUX01.DBF',14    'D:\DBDMS\DATA\RBSG01.DBF',15    'D:\DBDMS\DATA\DATA01.DBF',16    'D:\DBDMS\DATA\INDX01.DBF',17    'D:\DBDMS\DATA\DATA02.DBF',18    'D:\DBDMS\DATA\DATA03.DBF',19    'D:\DBDMS\DATA\DATA04.DBF',20    'D:\DBDMS\DATA\INDX02.DBF',21    'D:\DBDMS\DATA\SYSTEM02.DBF'22  CHARACTER SET ZHS16GBK23  ;控制文件已创建。--继续尝试恢复
SQL> RECOVER DATABASE ;
完成介质恢复。
SQL> ALTER DATABASE OPEN;

最后一步OPEN的时候又报这个错误ORA-01589错误 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项

又按照教程输入如下代码:

SQL> recover database using backup controlfileSQL> recover database using backup controlfile指定日志: {=suggested | filename | AUTO | CANCEL}E:\oracle\oradata\orcl\redo02.log -------此处要求给出最新的logfile,到logfile的路径下查看这几个文件,如果能看到时间就直接给出最新的logfile绝对路径,如果看不到就一个个的实验一下就好了;已应用的日志。完成介质恢复。SQL> alter database open resetlogs;      

最终重新打开库

记一次断电恢复ORA-01033错误相关推荐

  1. Redis集群CentOS系统配置企业级数据备份方案以及数据恢复的操作(在开启AOF功能下恢复冷备RDB文件数据,保持AOF和RDB双开情况下恢复数据及错误的数据恢复步骤详解)

    1. 设置每小时保存一份 /var/redis/6379/dump.rdb 文件至指定目录(我这边存放在 /usr/local/redis_backup 目录下),并删除48小时前的文件.     为 ...

  2. tp5 php7 报500,记一次TP单元测试报500错误的问题

    记一次TP单元测试报500错误的问题 一直听说好的单元测试能提高代码质量,昨天终于在下定决心弄懂单元测试,但第一步就把我干趴下了,我的问题在下面 开始都没有什么问题,tp5单元测试的手册就那一点,通过 ...

  3. 开机自动启动_工控机断电恢复后自动开机的设置方法

    我们在项目中用到工控机的时候,往往会面临一个问题,如何让工控机在上电之后自动开机,而不需要去按工控机上的电源按钮.方法非常简单,就是需要在主板的BIOS中设置来电自启即可.不同厂家的BIOS设置方法也 ...

  4. [安装项目]不可恢复的生成错误

    [安装项目]不可恢复的生成错误 今天在搞一个安装项目,编译的时候总是出来一个"不可恢复的生成错误",,于是我是翻山越顶啊,跋山涉水啊,终于找到了问题原来出自于C:\Program ...

  5. ORACLE 19c rman恢复 ORA-00283 ORA-01610 错误处理

    一.问题:在做数据库恢复演练的时候recover database时报如下错误: SQL> recover database; ORA-00283: recovery session cance ...

  6. PC设置在断电恢复后自动重启系统

    我们知道笔记本电脑可以在连接电源和使用电池两种状态下进行工作,但如果是普通台式PC电脑在断电后就会切断电源,无法开机.有时候我们需要使电脑在断电(或其他异常情况)并恢复用电后可以自动重新启动,免去需要 ...

  7. 记一次因nofile参数设置错误而引起的服务器维修风波

    记一场因nofile参数设置错误而引发的服务器维修风波   硬限制虽然好用,但可不能乱用T_T   警告:本文含有大量致命的作死操作,请勿直接模仿! 序章:灾厄降临之时   公元2022年5月27日上 ...

  8. linux下ora-12505,甲骨文临时ORA 12505错误后的Linux启动

    我遇到与Oracle一个很奇怪的现象,也许有人可以帮助我,让我总结一下真正的快:甲骨文临时ORA 12505错误后的Linux启动 我的首选操作系统是Debian的Linux操作系统,我使用的是Ora ...

  9. oracle 数据不可恢复,Oracle数据恢复:错误叠加导致灾难不可恢复解决办法

    文章详细记录了自己在给一个客户做数据恢复的过程了,原因是错误叠加导致灾难不可恢复算是高难度的了. 文章详细记录了自己在给一个客户做数据恢复的过程了,原因是错误叠加导致灾难不可恢复算是高难度的了. 客户 ...

最新文章

  1. MySQL 修改账号的IP限制条件
  2. python json数据的文件读写操作
  3. Spring加载properties文件的两种方式
  4. 统计分析与spss的应用第五版数据_#统计分析与SPSS应用# 4.1.3 SPSS频数分析的扩展功能...
  5. Spring Boot配置文件 application.properties
  6. 奇怪-正则匹配的test函数
  7. php表单显示mysql数据库_php用表单形式显示数据库信息
  8. android服务器 性能,Android性能优化(中)
  9. 浅谈socket网络编程函数参数(一)
  10. 服务器水厂物资管理系统,水处理管理系统及水处理管理服务器 Water management systems and water treatment management server...
  11. 集群e家:O2O电商服务平台上云
  12. 经典面试题(39):以下代码将输出的结果是什么?
  13. 对象json字符串数组 java对象,java把json的字符串转换为json对象和数组
  14. jdbc mysql driver 6.0.2
  15. zookeeper:Too many connections 故障处理记录
  16. C++ boost::upgrade_lock upgrade_to_unique_lock 升级锁 是什么 怎么用
  17. 电流(或电压)的平均值与有效值
  18. Java base64转inputStream
  19. map获取key的方式
  20. Spring Security登录成功后重定向到登陆前页面 解决方案

热门文章

  1. mac安装软件管家homebrew
  2. adb window10 配置环境变量
  3. linux做m3u8推流服务器,linux搭建nginx流服务器,OBS推流,VCL拉流播放
  4. JavaScript状态机处理字符串
  5. 【设计模式】之单例模式中的饿汉模式和懒汉模式
  6. php微信分享带缩略图,静态页面实现微信分享带缩略图、标题和描述
  7. nginx(三十二)rewrite模块
  8. Win 7+Word 2007仿宋和楷体不能正常显示的解决方法
  9. 25+本来自亚马逊的JavaScript jQuery畅销书籍
  10. input内的搜索icon图片怎么添加