数据库突然无法连接
解决数据突然无法连接问题
最近突然莫名奇妙的发现数据连不上,可能是因为强制关或电脑异常关闭的原因,也有可能是杀毒软件把acle.exeor进程关掉了,导至数据库关闭无法启动,解决原因如下:
1, 看oracle.exe有进程是否有异常(正常为200到400兆) 查看任务管理器下oracle.exe所占内存,当oracle.exe所占内存为几十兆说明Oracle数据库没有启动,正常oracle.exe所占内存如下:
现在还原错误:关闭数据库后连接数据库,查看oracle.exe所占内存
查看内存:
与正常启动时相差比价大,所以总结一下解决“shared memory realm does not exist”方法:
(1)任务管理器中查看oracle.exe所占内存,当oracle.exe所占内存仅为几十兆,说明问题是数据库没有启动
(2)启动Oracle数据库,管理员登录,启动
Java代码
1. sqlplus /nolog
2. conn USER/PASSWORD as sysdba
3. startup
2, 如果第1步不能解决问题,接着看第2步
Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符
中请求的服务
解决过程:
1. 找到listener.ora监听文件,具体位置:
D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
2. 在lisener.ora文件中找到
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS =
"EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
待插入区域
)
将下面的一段
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
copy进去,并适当修改。(红字部分为你的SID,其中GLOBAL_DBNAME为全局数据库名,可以与SID不同)
(SID_DESC =
(GLOBAL_DBNAME = ORAC11)
(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
(SID_NAME = ORAC11)
)
3. 保存listener.ora文件,关闭并重新启动监听程序。
lsnrctl stop // 关闭
lsnrctl start // 启动
4. 此时,用正常的用户去连接双出现新的错误。
ORA-27101: shared memory realm does not exist
5. 启动打开目录:D:\app\Administrator\admin\orac11\pfile,会发现里面有一个文件:init.ora.1052011103553,这是Oracle最后一次成功启动时备份的启动文件。
6. sqlplus /nolog,
create spfile frompfile='D:\app\Administrator\admin\orac11\pfile\init.ora.1052011103553'
startup // 启动数据库。
7. 一切恢复正常。、
3(此时可能还会出现
ORA-28056:Writing audit records to Windows EventLog failed的错误,请继续向下看。
connect / sysdba的时候提示 ORA-28056:Writing audit records to Windows EventLog failed
解决办法:
右键“我的电脑”,,‘管理’,,事件查看器,,点击左边的日志 (应用程序日志、安全日志、系统日志),
右击某个项目,选择‘清除所有事件'即可删除。
以上资料摘自互联网,如果还没有解决问题,只能继续在
网寻找了,但有一点,问题都会解决的,只要你不停的寻
找,加油。