Oracle报ORA-XXX错误常见解决方案

  做项目接触到Oracle数据库,着实碰见了不少坑,每次碰到ORA报错都是挺头大的,因此简单梳理几个解决方案,以便日后产生此类问题时好解决。

  需要注意的是一定要对症下药,具体的报错就直接利用对应的ORA代码去查,往往能得到最快的方案。

  首先通过sqlplus访问数据库,先看看能不能打开吧,sqlplus 用户名/密码@ip地址/orcl as sysdba,如果能打开,那数据库本身没太大问题,但不保证内部数据完整性(类似断电损坏介质问题)。

1.Oracle监听端口ip地址问题

每当断网或其它因素导致主机ip更换后,免不了要修改监听端口ip地址。直接进入类似这样的Oracle目录:

D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN  

找到 listener.ora 文件,编辑并修改其中的ip地址为当前连接网络的ip,没错,是你当前连的网络ip。

2.配置监听端口问题

当监听端口因为种种因素不再有效,不得不重新配置时,需要进入Net Configuration Assistant 重新配置端口,具体操作网上也有。

配完监听端口如果还是不好使,出现监听端口不匹配问题时,建议检查Oracle Net Manager 服务,保证和监听程序地址匹配,配好后可以关闭监听器lsnrctl stop,重启监听器lsnrctl start。

3.shared memory realm does not exist

这个内存问题也是非常频繁的,这里主要有两种解决方式。

A.oracle.exe启动错误,这种情况下可以通过任务管理器查看oracle.exe所占内存,如果只有几十兆那就是这个问题。解决也很简单,启动Oracle数据库,管理员登录,启动startup 。

B.数据库曾经因为断电等因素损坏过介质,这种情况下想要完全解决这个问题需要重新安装数据库,但是有个办法可以短暂的使Oracle数据库好使,就是在cmd窗口中通过services.msc打开服务,找到OracleServiceORCL服务,重新启动该服务,就能正常访问数据库了。

PS:关于Oracle介质损坏问题,可以参考这篇文章https://blog.csdn.net/rrrrroy_ha/article/details/80601497,博主在这里面写的很详细了,个人用过数据库备份恢复过介质,基本能解决这些问题。

最后推荐大家一个Oracle可视化软件SQLDeveloper,能很方便地查看修改数据库表。

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页