[20210419]測試18c SQL Translation Framework.txt
[20210419]測試18c SQL Translation Framework.txt
--//據說18c做了一點點增強,不用設定 alter session set events = '10601 trace name context forever, level 32';
--//可以參考我以前的連結:
--//http://blog.itpub.net/267265/viewspace-2216487/ => 12C SQL Translation Framework.txt
1.環境:
xxxx> @ ver1
xxxx> @ prxx
==============================
PORT_STRING : x86_64/Linux 2.4.xx
VERSION : 18.0.0.0.0
BANNER : Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
BANNER_FULL : Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0
BANNER_LEGACY : Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
CON_ID : 0
PL/SQL procedure successfully completed.
2.建立SQL Translation Framework:
begin
dbms_sql_translator.create_profile('test_profile');
/* This attribute indicates if the profile is for traslation
of foreign SQL syntax only. if True only foreign sql
will be translated, if false, all sql from client
application will be translated */
dbms_sql_translator.set_attribute(
profile_name=>'test_profile',
attribute_name=> dbms_sql_translator.ATTR_FOREIGN_SQL_SYNTAX,
attribute_value=> dbms_sql_translator.ATTR_VALUE_FALSE );
dbms_sql_translator.register_sql_translation(
profile_name=>'test_profile',
sql_text=>'select sysdate',
translated_text=>'select sysdate from dual' );
end;
/
--//主要增加設定屬性的內容。
3、測試:
xxxx> select sysdate;
select sysdate
*
ERROR at line 1:
ORA-00923: FROM keyword not found where expected
--//還沒有開啟.
xxxx> alter session set sql_translation_profile=test_profile;
Session altered.
xxxx> select sysdate;
SYSDATE
-------------------
2021-04-19 10:34:34
--//ok,測試透過。
xxxx> Select sysdate;
Select sysdate
*
ERROR at line 1:
ORA-00923: FROM keyword not found where expected
--//內容必須要與sql_text定義一致。
4.涉及檢視:
DBA_ERROR_TRANSLATIONS
DBA_SQL_TRANSLATION_PROFILES
DBA_SQL_TRANSLATIONS
xxxx> select * from DBA_ERROR_TRANSLATIONS;
no rows selected
xxxx> select * from DBA_SQL_TRANSLATION_PROFILES
2 @ prxx
==============================
OWNER : TTT
PROFILE_NAME : TEST_PROFILE
TRANSLATOR :
FOREIGN_SQL_SYNTAX : FALSE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TRANSLATE_NEW_SQL : TRUE
RAISE_TRANSLATION_ERROR : FALSE
LOG_TRANSLATION_ERROR : FALSE
TRACE_TRANSLATION : FALSE
LOG_ERRORS : FALSE
PL/SQL procedure successfully completed.
--//視乎設定TRANSLATOR可以實現上面的功能。
xxxx> select * from DBA_SQL_TRANSLATIONS
2 @ prxx
==============================
OWNER : TTT
PROFILE_NAME : TEST_PROFILE
SQL_TEXT : select sysdate
TRANSLATED_TEXT : select sysdate from dual
SQL_ID : bw2c1d6sqyjpy
HASH_VALUE : 2976859838
ENABLED : TRUE
REGISTRATION_TIME : 2021-04-19 10:33:51.173270
CLIENT_INFO :
MODULE :
ACTION :
PARSING_USER_ID :
PARSING_SCHEMA_ID :
COMMENTS :
ERROR_CODE :
ERROR_SOURCE :
TRANSLATION_METHOD :
DICTIONARY_SQL_ID :
PL/SQL procedure successfully completed.
--//上網看了官方手冊,好複雜放棄。
4.收尾:
xxxx> exec dbms_sql_translator.drop_profile(profile_name => 'test_profile');
PL/SQL procedure successfully completed.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2768660/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 12C SQL Translation Framework.txtSQLFramework
- SQL PROFILE 測試SQL
- SQL MAP 注入測試SQL
- Prepared SQL 效能測試SQL
- 測試學習SQL篇SQL
- SQL PLAN Management的測試SQL
- sql trace 簡單測試SQL
- Python的SQL效能測試PythonSQL
- Python 的 SQL 效能測試PythonSQL
- Sql Server生成測試資料SQLServer
- Translation – 起底 SourceKit
- Translation - 起底 SourceKit
- 測試測試測試測試測試測試
- 使用profiler測試Oracle PL/SQL效能OracleSQL
- 測試人員必會SQL命令SQL
- IDEA外掛-TranslationIdea
- 百萬資料查詢測試 只需1秒--Sql語句效率測試SQL
- SQL Server Availability Group Failover 測試SQLServerAI
- run_stats---sql效率測試工具(轉)SQL
- pl/sql中的forall簡單測試SQL
- oracle sql_not exists與null的測試OracleSQLNull
- SQL SERVER 2000壓力測試SQLServer
- SQL Access Advisor、SQL Tuning Advisor 測試SQL
- PHPSTORM外掛之TranslationPHPORM
- Oracle 18cOracle
- 11203測試sql baselineSQL
- SQL Server是否有特洛伊木馬的測試SQLServer
- SQL使用繫結變數,測試例項。SQL變數
- 【sql調優】cardinality測試與簡析SQL
- v$session之小測試(二)_與v$sqlSessionSQL
- SQL SERVER 2000壓力測試 (轉)SQLServer
- 測試SQL Server業務規則連結方法SQLServer
- 通過錯誤的sql來測試推理sql的解析過程SQL
- 軟體安全測試之SQL隱碼攻擊SQL
- 測試雜談——一條SQL引發的思考SQL
- 11g SPA SQL Performance Analyzer升級測試SQLORM
- SQL Server 2005效能測試之CPU篇SQLServer
- SQL隱碼攻擊漏洞測試工具比較SQL