[20161219]关于LANGUAGE_MISMATCH.txt
[20161219]為什么光標(biāo)不共享(LANGUAGE_MISMATCH).txt
--生產(chǎn)系統(tǒng)看看那種情況出現(xiàn)比較多,寫一個腳本:
select
sum(decode(UNBOUND_CURSOR,'Y',1,0))??? UNBOUND_CURSOR,
sum(decode(SQL_TYPE_MISMATCH,'Y',1,0))??? SQL_TYPE_MISMATCH,
sum(decode(OPTIMIZER_MISMATCH,'Y',1,0))??? OPTIMIZER_MISMATCH,
sum(decode(OUTLINE_MISMATCH,'Y',1,0))??? OUTLINE_MISMATCH,
sum(decode(STATS_ROW_MISMATCH,'Y',1,0))??? STATS_ROW_MISMATCH,
sum(decode(LITERAL_MISMATCH,'Y',1,0))??? LITERAL_MISMATCH,
sum(decode(FORCE_HARD_PARSE,'Y',1,0))??? FORCE_HARD_PARSE,
sum(decode(EXPLAIN_PLAN_CURSOR,'Y',1,0))??? EXPLAIN_PLAN_CURSOR,
sum(decode(BUFFERED_DML_MISMATCH,'Y',1,0))??? BUFFERED_DML_MISMATCH,
sum(decode(PDML_ENV_MISMATCH,'Y',1,0))??? PDML_ENV_MISMATCH,
sum(decode(INST_DRTLD_MISMATCH,'Y',1,0))??? INST_DRTLD_MISMATCH,
sum(decode(SLAVE_QC_MISMATCH,'Y',1,0))??? SLAVE_QC_MISMATCH,
sum(decode(TYPECHECK_MISMATCH,'Y',1,0))??? TYPECHECK_MISMATCH,
sum(decode(AUTH_CHECK_MISMATCH,'Y',1,0))??? AUTH_CHECK_MISMATCH,
sum(decode(BIND_MISMATCH,'Y',1,0))??? BIND_MISMATCH,
sum(decode(DESCRIBE_MISMATCH,'Y',1,0))??? DESCRIBE_MISMATCH,
sum(decode(LANGUAGE_MISMATCH,'Y',1,0))??? LANGUAGE_MISMATCH,
sum(decode(TRANSLATION_MISMATCH,'Y',1,0))??? TRANSLATION_MISMATCH,
sum(decode(BIND_EQUIV_FAILURE,'Y',1,0))??? BIND_EQUIV_FAILURE,
sum(decode(INSUFF_PRIVS,'Y',1,0))??? INSUFF_PRIVS,
sum(decode(INSUFF_PRIVS_REM,'Y',1,0))??? INSUFF_PRIVS_REM,
sum(decode(REMOTE_TRANS_MISMATCH,'Y',1,0))??? REMOTE_TRANS_MISMATCH,
sum(decode(LOGMINER_SESSION_MISMATCH,'Y',1,0))??? LOGMINER_SESSION_MISMATCH,
sum(decode(INCOMP_LTRL_MISMATCH,'Y',1,0))??? INCOMP_LTRL_MISMATCH,
sum(decode(OVERLAP_TIME_MISMATCH,'Y',1,0))??? OVERLAP_TIME_MISMATCH,
sum(decode(EDITION_MISMATCH,'Y',1,0))??? EDITION_MISMATCH,
sum(decode(MV_QUERY_GEN_MISMATCH,'Y',1,0))??? MV_QUERY_GEN_MISMATCH,
sum(decode(USER_BIND_PEEK_MISMATCH,'Y',1,0))??? USER_BIND_PEEK_MISMATCH,
sum(decode(TYPCHK_DEP_MISMATCH,'Y',1,0))??? TYPCHK_DEP_MISMATCH,
sum(decode(NO_TRIGGER_MISMATCH,'Y',1,0))??? NO_TRIGGER_MISMATCH,
sum(decode(FLASHBACK_CURSOR,'Y',1,0))??? FLASHBACK_CURSOR,
sum(decode(ANYDATA_TRANSFORMATION,'Y',1,0))??? ANYDATA_TRANSFORMATION,
sum(decode(PDDL_ENV_MISMATCH,'Y',1,0))??? PDDL_ENV_MISMATCH,
sum(decode(TOP_LEVEL_RPI_CURSOR,'Y',1,0))??? TOP_LEVEL_RPI_CURSOR,
sum(decode(DIFFERENT_LONG_LENGTH,'Y',1,0))??? DIFFERENT_LONG_LENGTH,
sum(decode(LOGICAL_STANDBY_APPLY,'Y',1,0))??? LOGICAL_STANDBY_APPLY,
sum(decode(DIFF_CALL_DURN,'Y',1,0))??? DIFF_CALL_DURN,
sum(decode(BIND_UACS_DIFF,'Y',1,0))??? BIND_UACS_DIFF,
sum(decode(PLSQL_CMP_SWITCHS_DIFF,'Y',1,0))??? PLSQL_CMP_SWITCHS_DIFF,
sum(decode(CURSOR_PARTS_MISMATCH,'Y',1,0))??? CURSOR_PARTS_MISMATCH,
sum(decode(STB_OBJECT_MISMATCH,'Y',1,0))??? STB_OBJECT_MISMATCH,
sum(decode(CROSSEDITION_TRIGGER_MISMATCH,'Y',1,0))??? CROSSEDITION_TRIGGER_MISMATCH,
sum(decode(PQ_SLAVE_MISMATCH,'Y',1,0))??? PQ_SLAVE_MISMATCH,
sum(decode(TOP_LEVEL_DDL_MISMATCH,'Y',1,0))??? TOP_LEVEL_DDL_MISMATCH,
sum(decode(MULTI_PX_MISMATCH,'Y',1,0))??? MULTI_PX_MISMATCH,
sum(decode(BIND_PEEKED_PQ_MISMATCH,'Y',1,0))??? BIND_PEEKED_PQ_MISMATCH,
sum(decode(MV_REWRITE_MISMATCH,'Y',1,0))??? MV_REWRITE_MISMATCH,
sum(decode(ROLL_INVALID_MISMATCH,'Y',1,0))??? ROLL_INVALID_MISMATCH,
sum(decode(OPTIMIZER_MODE_MISMATCH,'Y',1,0))??? OPTIMIZER_MODE_MISMATCH,
sum(decode(PX_MISMATCH,'Y',1,0))??? PX_MISMATCH,
sum(decode(MV_STALEOBJ_MISMATCH,'Y',1,0))??? MV_STALEOBJ_MISMATCH,
sum(decode(FLASHBACK_TABLE_MISMATCH,'Y',1,0))??? FLASHBACK_TABLE_MISMATCH,
sum(decode(LITREP_COMP_MISMATCH,'Y',1,0))??? LITREP_COMP_MISMATCH,
sum(decode(PLSQL_DEBUG,'Y',1,0))??? PLSQL_DEBUG,
sum(decode(LOAD_OPTIMIZER_STATS,'Y',1,0))??? LOAD_OPTIMIZER_STATS,
sum(decode(ACL_MISMATCH,'Y',1,0))??? ACL_MISMATCH,
sum(decode(FLASHBACK_ARCHIVE_MISMATCH,'Y',1,0))??? FLASHBACK_ARCHIVE_MISMATCH,
sum(decode(LOCK_USER_SCHEMA_FAILED,'Y',1,0))??? LOCK_USER_SCHEMA_FAILED,
sum(decode(REMOTE_MAPPING_MISMATCH,'Y',1,0))??? REMOTE_MAPPING_MISMATCH,
sum(decode(LOAD_RUNTIME_HEAP_FAILED,'Y',1,0))??? LOAD_RUNTIME_HEAP_FAILED,
sum(decode(HASH_MATCH_FAILED,'Y',1,0))??? HASH_MATCH_FAILED,
sum(decode(PURGED_CURSOR,'Y',1,0))??? PURGED_CURSOR,
sum(decode(BIND_LENGTH_UPGRADEABLE,'Y',1,0))??? BIND_LENGTH_UPGRADEABLE,
sum(decode(USE_FEEDBACK_STATS,'Y',1,0))??? USE_FEEDBACK_STATS
from v$sql_shared_cursor ;
--結(jié)果如下:
Record View
As of: 2016/12/19 15:06:48
OPTIMIZER_MISMATCH:???????????? 12
STATS_ROW_MISMATCH:???????????? 1
AUTH_CHECK_MISMATCH:??????????? 63
BIND_MISMATCH:????????????????? 422
LANGUAGE_MISMATCH:????????????? 5642
TRANSLATION_MISMATCH:?????????? 11
BIND_EQUIV_FAILURE:???????????? 235
INSUFF_PRIVS_REM:?????????????? 52
INCOMP_LTRL_MISMATCH:?????????? 10
USER_BIND_PEEK_MISMATCH:??????? 9
TOP_LEVEL_RPI_CURSOR:?????????? 9
BIND_UACS_DIFF:???????????????? 153
PLSQL_CMP_SWITCHS_DIFF:???????? 1
TOP_LEVEL_DDL_MISMATCH:???????? 9
MULTI_PX_MISMATCH:????????????? 2
ROLL_INVALID_MISMATCH:????????? 1
OPTIMIZER_MODE_MISMATCH:??????? 13
LOAD_OPTIMIZER_STATS:?????????? 73
HASH_MATCH_FAILED:????????????? 26
PURGED_CURSOR:????????????????? 25
BIND_LENGTH_UPGRADEABLE:??????? 1657
USE_FEEDBACK_STATS:???????????? 1340
--//注:刪除等于0的行,不然太長了.可以發(fā)現(xiàn)主要問題集中在LANGUAGE_MISMATCH.測一下這個產(chǎn)生的原因.
1.環(huán)境:
SCOTT@book> @ &r/ver1
PORT_STRING??????????????????? VERSION??????? BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx??????????? 11.2.0.4.0???? Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
--從LANGUAGE_MISMATCH看應(yīng)該與語言環(huán)境設(shè)置有關(guān).
2.設(shè)置2種情況下環(huán)境變量:
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
alter system flush shared_pool;
alter system flush shared_pool;
--分別登錄,然后執(zhí)行:select * from dept where deptno=10;確定sql_id='4xamnunv51w9j'.
SCOTT@book> select executions,sql_id,child_number from v$sql where? sql_id='4xamnunv51w9j';
EXECUTIONS SQL_ID??????? CHILD_NUMBER
---------- ------------- ------------
???????? 2 4xamnunv51w9j??????????? 0
--奇怪可以發(fā)現(xiàn)光標(biāo)是共享的.為什么?
3.換成字符參數(shù)看看:
--分別登錄,然后執(zhí)行:Select * from dept where DNAME='ACCOUNTING';確定sql_id='727p30dc2pq3z'
SCOTT@book> select executions,sql_id,child_number from v$sql where? sql_id='727p30dc2pq3z';
EXECUTIONS SQL_ID??????? CHILD_NUMBER
---------- ------------- ------------
???????? 1 727p30dc2pq3z??????????? 0
???????? 1 727p30dc2pq3z??????????? 1
SCOTT@book> @ &r/share 727p30dc2pq3z
SQL_TEXT?????????????????????? = Select * from dept where DNAME='ACCOUNTING'
SQL_ID???????????????????????? = 727p30dc2pq3z
ADDRESS??????????????????????? = 000000007D691210
CHILD_ADDRESS????????????????? = 000000007DB178A0
CHILD_NUMBER?????????????????? = 0
REASON???????????????????????? = <ChildNode><ChildNumber>0</ChildNumber><ID>45</ID><reason>NLS Settings(0)</reason><size>2x4</size><SessionLengthSemantics>0</SessionLengthSemantics><CursorLengthSemantics>0</CursorLengthSemantics></ChildNode>
--------------------------------------------------
SQL_TEXT?????????????????????? = Select * from dept where DNAME='ACCOUNTING'
SQL_ID???????????????????????? = 727p30dc2pq3z
ADDRESS??????????????????????? = 000000007D691210
CHILD_ADDRESS????????????????? = 000000007D1A6D70
CHILD_NUMBER?????????????????? = 1
LANGUAGE_MISMATCH????????????? = Y
REASON???????????????????????? =
--------------------------------------------------
PL/SQL procedure successfully completed.
--可以發(fā)現(xiàn)如果字符字段不能共享就出現(xiàn)了.
4.很明顯我們系統(tǒng)在實施安裝時存在2種設(shè)置環(huán)境,各個安裝人員的安裝方式不統(tǒng)一,現(xiàn)在要糾正困難重重.
--當(dāng)然也與我們的以前的舊系統(tǒng)有關(guān),以前我們使用字符集是AMERICAN_AMERICA.US7ASCII.
--我能否有視圖查詢環(huán)境呢?我跟一下視圖定義,最后x$nls_parameters,但是這個是單個會話的,不是全部的.
總結(jié)
以上是生活随笔為你收集整理的[20161219]关于LANGUAGE_MISMATCH.txt的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在 2016 年学 JavaScript
- 下一篇: 关于共享单车,说点什么