【持续更新】 Oracle 的常见错误代码及处理方法

一、基础环境

       操作系统:Windows 或 Linux
       数据库版本:Oracle Database 11.2.0.1.0 及以上版本

二、错误代码、产生原因及处理方案

  • ORA-00911:无效字符
          问题详情:在 PL/SQL 或者 SQL*PLUS 中可以正常执行的 SQL 语句,在程序中不能正常执行,报以上错误。
          解决方案:将 SQL 语句中的末尾分号去掉。
  • ORA-00917:缺失逗号
  • ORA-01017: 用户名/口令无效:登陆被拒绝
  • ORA-01031: 权限不足
    问题详情:在进行系统的操作的时候提示权限不足,请检查该用户是否有相应的权限。
  • ORA-01722: 无效数字
      问题详情:在进行使用TO_NUMBER()函数,将文本转换为数字的时候,提示此错误。原因是该文本中存在除了正负号、小数点、阿拉伯数字0-9之外的其他字符。可以使用正则表达式进行筛选。还有一种原因是该文本为全角字符,需要转换为半角字符才能使用此函数进行转换。
  • ORA-02449:表中的唯一/主键被外键引用
  • ORA-03113:通信通道的文件结尾
    可能原因:归档空间满了,清理一下即可。
  • ORA-12514:TNS: 监听程序当前无法识别连接描述符中请求的服务
      原因分析:
      A、数据库实例没有注册到监听,请1分钟后重试。
  • ORA-12560:TNS: 协议适配器错误
      原因分析:
      A、数据库实例没有启动。
      B、数据库监听没有启动。
      C、此错误常见于 Windows 平台,出现此错误的原因是系统当前默认的ORACLE_SID 不可用或不正确。
      处理方案:查看系统当前默认的Oracle_Sid 的方法是:使用快捷键Windows+R打开【运行】对话框,输入【regedit】按回车键,即可打开注册表,在地址栏输入:
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1

  查看右侧名称为:ORACLE_SID的数据数值,是否为当前系统运行实例的SID,如果不是请修改,然后关闭注册表即可。
  D、数据库端口(默认为1521)为防火墙阻止连接,在防火墙中开放此端口即可。

  • ORA-19502: 文件 *, 块编号 * (块大小=4096) 上出现写入错误
  • ORA-27072: 文件 I/O 错误
  • ORA-31693: 表数据对象 * 无法加载/卸载并且被跳过

猜你喜欢

转载自blog.csdn.net/u011046671/article/details/104609983