• Oracle常见错误


     =============================================================================================

    错误: ORA-28040: No matching authentication protocol

    原因:客户端版本与服务器端版本不一致导致,比如客户端是11g,而服务器端是12c

    解决方案:

       最根本的解决办法是安装与服务器端版本一致的客户端

       网上也有其他的办法,如修改sqlnet.ora文件追加下列配置,但修改后并没有解决该问题

       SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
       SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
     
    =============================================================================================

    错误:ORA-12704: character set mismatch

    原因:字符集不匹配,在使用Union all合并时,若A集合中某列为nvarchar2或nvarchar类型,

       而B集合中对应字段为varchar2,或使用了to_char(),或用''来代替时,会导致该问题

    解决方案:

      方案1:都统一使用函数cast('字段' as nvarchar2(10))转换为nvarchar2或nvarchar类型
      方案2:都统一使用函数to_char('字段')转换为varchar2或varchar类型
      方案3:如果是用''来代替时,在''前加一个N,,N''表示将''转换为Unicode编码

    =============================================================================================
    错误:ORA-32034: unsupported use of WITH clause

    原因:With子句使用错误,主要有以下几点原因:
        1 with子句内还嵌套一个with,一个查询脚本内只能有一个with,并且是在开头的位置,其他子查询则不需要显式的用with
        2 对于set query, with子句不能用在分支里
        3 with被用在了圆括号里

    解决方案: 根据原因对脚本一一进行排查

    =============================================================================================
    错误:ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT

    原因:初始化参数pga_aggregate_limit是用于指定实例在运行时该实例专用内存的上限值
    如果实例在运行时超过了这个上限,就会通过中断Session的最大Program Global Area (PGA)内存让实例专有内存达到上限值以下

    解决方案:增加pga_aggregate_limit初始化参数值或减少内存使用

    =============================================================================================

    错误:ORA-00918: column ambiguously defined

    原因:select 查询的字段在from的两张表中都存在,导致数据库无法区别需要查询的字段来自于哪张表

         最终执行的select语句中如果有重复的字段,结果显示时会在重复字段后追加_1,但如果是在嵌套临时表有重复字段,然后select * from 嵌套临时表,则会报该错误

     =============================================================================================

    错误:ORA-12537: TNS:connection closed

    原因:原因可能是processes和session值设置太小或者dispatcher使用率过高

         执行如下语句查看process和session的数量是否超过预设值,如果超过则要关闭不使用的会话

        select count(1) from v$session

        select count(1) from v$process

    ORA-02429: cannot drop index used for enforcement of unique /primary key

      

  • 相关阅读:
    mysql5.7 安装及主从搭建
    虚拟机加硬盘做逻辑卷
    mysql 5.7 主从同步问题
    Tomcat 配置全球服务器证书
    新建linux 服务器初始化配置
    python 字典 元组 集合
    python 列表
    35.再谈SpringBoot自定义日志配置--LogBack.xml
    36.SpringBoot应用属性加载和自动配置@EnableAutoConfiguration
    37.再谈Spring Boot Actuator
  • 原文地址:https://www.cnblogs.com/shiliye/p/10598723.html
Copyright © 2020-2023  润新知