Oracle的3113和3114错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle的3113和3114错误相关的知识,希望对你有一定的参考价值。

http://zhidao.baidu.com/question/215124710.html
希望可以帮到你
参考技术A 3113是数据库连接中断
3114是无法连接到数据库

因为第一次你的程序可能导致数据库崩溃了,连接被中断,当然出现3113的错误
接着因为数据库崩溃了,当然就会连接不上,导致3114了

检查一下这个程序,或者数据库的设置,什么地方可能导致会崩溃

oracle 显示协议适配器错误,怎么回事啊???!

原因:相关的服务没有开启。

1、打开sqlplus,输入用户名和密码后出现错误DRA-12560:TNS:协议适配器错误。

2、选择我的电脑->单击右键->管理->在打开的计算机管理的右边选择服务和应用程序->选择服务。

3、在对话框的右边显示出的服务找到OracleServiceORL,(名称是按照首字母进行排序的)如图:

4、选中该服务->单击右键->选择启动或者选中该服务后在左边点击启动,此时显示出对话框正在启动。

5、查看该服务的状态显示正在运行。

6、这时在sqlplus中输入用户名和密码,则成功连接到数据库。

参考技术A 您好,造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:
  1.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务。
  2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database SID.
  3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SID设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在command line下输set oracle_sid=XXXX,XXXX就是你的database SID.
  经过以上步骤,就可以解决问题。
  =======================================
  1、ORA-12541:TNS:没有监听器
  原因:没有启动监听器或者监听器损坏。如果是前者,使用命令net start OracleOraHome81TNSListener(名字可能有出入)即可;如果是后者,则使用“Net8 Configuration
  Assistant”工具向导之“监听程序配置”增加一个监听器即可(基本不用写任何信息,一路OK。在添加之前可能需要把所有的监听器先删除!)
  2、ORA-12500:TNS:监听程序无法启动专用服务器进程或ORA-12560:TNS:协议适配器错误
  原因:ORACLE的数据库服务没有启动。使用命令net start ORACLESERVICEORADB(ORADB为数据库名字)即可。如果仍没有解决,请继续向下看。
  3、如果数据库服务启动失败,则很有可能是其注册表项值损坏,最好的做法是以下两步:
  1)ORADIM -DELETE -SID oradb 删除数据库服务项
  2)ORADIM -NEW -SID oradb 新增数据库服务项
  注:这个过程中如果出错,就重启计算机!
  4、ORA-12154:TNS:能解析服务名
  原因:ORACLE的网络服务名没有正确配置。请使用“Net8 Configuration Assistant”工具向导之“本地网络服务名配置”配置TNS即可。如果仍没有解决,请继续向下看。
  5、ORA-1034 :TNS:ORACLE不可用
  原因:ORACLE的数据库服务正确启动,但是数据库没有打开!
  使用命令:
  1)svrmgrl 启动服务管理器
  2)connect internal 以internal身份登陆
  3)startup 打开数据库
  6、ORA-12560:TNS:协议适配器错误(顽固性的)
  原因:未知。
  解决:必杀技--打开“Windows任务管理器”,杀死ORACLE.exe及ORADIM.exe进程,书写自己的
  ora_startup.bat,执行之!
  PS:
  1、我的ora_startup.bat:
  net start OracleOraHome81TNSListener
  net start ORACLESERVICEORADB
  svrmgrl 一般情况下不用,不过有时少不了它的,具体步骤见第5步。
  2、我的ora_shutdown.bat:
  net stop OracleOraHome81TNSListener
  net stop ORACLESERVICEORADB
  ORACLE_HOME=/u01/app/oracle/product/8.1.6
  export ORACLE_HOME/ 包括Oracle软件的目录 /
  LD_LIBRARY_PATH=/u01/app/oracle/product/8.1.6/lib;
  export LD_LIBRARY_PATH
  ORACLE_BASE=/u01/app/oracle
  export ORACLE_BASE/ 包括Oracle软件的目录和管理软件的目录 /
  ORACLE_SID=ORCL
  export ORACLE_SID/ 缺省数据库的标识 /
  ORACLE_TERM=vt100
  export ORACLE_TERM
  ORA_NLS33=/u01/app/oracle/product/8.1.6/
  ocommon/nls/admin/data
  export ORA_NLS33 / 语言支持 /
  PATH=$PATH: /u01/app/oracle/product/8.1.6/bin
  export PATH追问

我也百度了,不好使

本回答被提问者和网友采纳
参考技术B 1、你没有监听程序,可以手动创建一个,如果在本机的话,监听程序有没有,没太大意义。
运行CMD,输入netca,然后又一个【监听程序配置】,然后【添加】,一直下一步就可以了,
应该可以解决lsnrctl start的问题。
2、你没有数据库,运行CMD,输入dbca,创建一个数据库吧。

以上是关于Oracle的3113和3114错误的主要内容,如果未能解决你的问题,请参考以下文章

cx_ORACLE 传递参数 ORA-01008 错误

oracle中 使用exp命令导出数据导出终止失败

模拟 ORA-3113:通信通道上的文件结尾

ORACLE & VS 2005 性能问题

Oracle 变量范围

如何在 oracle 19c 的 MERGE 语句中使用提交?