=============================================================================================sql
错误: ORA-28040: No matching authentication protocol数据库
缘由:客户端版本与服务器端版本不一致致使,好比客户端是11g,而服务器端是12c服务器
解决方案:session
最根本的解决办法是安装与服务器端版本一致的客户端函数
网上也有其余的办法,如修改sqlnet.ora文件追加下列配置,但修改后并无解决该问题编码
错误:ORA-12704: character set mismatchspa
缘由:字符集不匹配,在使用Union all合并时,若A集合中某列为nvarchar2或nvarchar类型,code
而B集合中对应字段为varchar2,或使用了to_char(),或用''来代替时,会致使该问题内存
解决方案:it
方案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