[20171231]oracle full_hash_value如何計算的總結
[20171231]oracle full_hash_value如何計算的總結.txt
--//前一段時間測試oracle full_hash_value如何計算的,感覺有必要做一些總結:
1.sql語句的計算參考連結:
--//http://blog.itpub.net/267265/viewspace-2142512/ => [20170724]關於sql_id那些事.txt
--//實際上就是語句結尾加入\0,計算md5,然後4個4個翻轉.例子:
$ echo -e -n 'select * from emp where deptno=10\0' | md5sum | sed 's/ -//' | xxd -r -p | od -t x4
0000000 8bb97487 1a4f8c88 529ea488 5efe0842
0000020
2.table等其他物件的full_hash_value計算:
http://blog.itpub.net/267265/viewspace-2149366/
http://blog.itpub.net/267265/viewspace-2149400/
--//實際上就是object_namee.owner\xNN\00\00\00.後面的\xNN\00\00\00與namespace有關.
SYS@book> select distinct kglhdnsp,kglhdnsd,kglobtyd from x$kglob order by 1;
KGLHDNSP KGLHDNSD KGLOBTYD
-------- ------------------------------ ----------------------------------
0 SQL AREA CURSOR
1 TABLE/PROCEDURE CURSOR
1 TABLE/PROCEDURE FUNCTION
1 TABLE/PROCEDURE LIBRARY
1 TABLE/PROCEDURE OPERATOR
1 TABLE/PROCEDURE PACKAGE
1 TABLE/PROCEDURE PROCEDURE
1 TABLE/PROCEDURE SEQUENCE
1 TABLE/PROCEDURE SYNONYM
1 TABLE/PROCEDURE TABLE
1 TABLE/PROCEDURE TYPE
1 TABLE/PROCEDURE VIEW
2 BODY CURSOR
2 BODY PACKAGE BODY
2 BODY TYPE BODY
3 TRIGGER TRIGGER
4 INDEX INDEX
5 CLUSTER CLUSTER
10 QUEUE QUEUE
18 PUB SUB INTERNAL INFORMATION PUB SUB INTERNAL INFORMATION
23 RULESET RULESET
24 RESOURCE MANAGER RESOURCE MANAGER CONSUMER GROUP
45 MULTI-VERSION OBJECT FOR TABLE MULTI-VERSIONED OBJECT
48 MULTI-VERSION OBJECT FOR INDEX MULTI-VERSIONED OBJECT
51 SCHEDULER GLOBAL ATTRIBUTE CURSOR
51 SCHEDULER GLOBAL ATTRIBUTE SCHEDULER GLOBAL ATTRIBUTE
52 SCHEDULER EARLIEST START TIME SCHEDULER EARLIEST START TIME
64 EDITION EDITION
69 DBLINK CURSOR
73 SCHEMA CURSOR
73 SCHEMA NONE
74 DBINSTANCE CURSOR
75 SQL AREA STATS CURSOR STATS
79 ACCOUNT_STATUS NONE
82 SQL AREA BUILD CURSOR
35 rows selected.
3.DBlink的full_hash_value計算:
--//參考http://blog.itpub.net/267265/viewspace-2149494/
--//有點奇怪的是x$kglob記錄的owner(對應x$kglob的KGLNAOWN欄位)與實際的不同.
dblink_name.x$kglob.KGLNAOWN\0\0\0\x45\0\0\0.
--//這裡的x45 十進位制是69.
--//實際上許多物件我沒有測,大家可以自行測試.
4.SCHEMA:
SYS@book> SELECT kglnaobj,kglnahsv FROM x$kglob where kglnaobj in ('A','SCOTT') and kglhdnsd='SCHEMA';
KGLNAOBJ KGLNAHSV
-------- --------------------------------
A e35e107310031d819c9b96a03be48e91
SCOTT b57d9e745d1d0f49e0530388de8ba781
--//73 =0x49(16進位制)
$ echo -e -n 'A\x49\0\0\0' | md5sum |sed 's/ -//' | xxd -r -p | od -t x4 | sed -n -e 's/^0000000 //' -e 's/ //gp'
e35e107310031d819c9b96a03be48e91
$ echo -e -n 'SCOTT\x49\0\0\0' | md5sum |sed 's/ -//' | xxd -r -p | od -t x4 | sed -n -e 's/^0000000 //' -e 's/ //gp'
b57d9e745d1d0f49e0530388de8ba781
--//schema的計算是owner加上'\x49\0\0\0'參與運算.
--//前一段時間測試oracle full_hash_value如何計算的,感覺有必要做一些總結:
1.sql語句的計算參考連結:
--//http://blog.itpub.net/267265/viewspace-2142512/ => [20170724]關於sql_id那些事.txt
--//實際上就是語句結尾加入\0,計算md5,然後4個4個翻轉.例子:
$ echo -e -n 'select * from emp where deptno=10\0' | md5sum | sed 's/ -//' | xxd -r -p | od -t x4
0000000 8bb97487 1a4f8c88 529ea488 5efe0842
0000020
2.table等其他物件的full_hash_value計算:
http://blog.itpub.net/267265/viewspace-2149366/
http://blog.itpub.net/267265/viewspace-2149400/
--//實際上就是object_namee.owner\xNN\00\00\00.後面的\xNN\00\00\00與namespace有關.
SYS@book> select distinct kglhdnsp,kglhdnsd,kglobtyd from x$kglob order by 1;
KGLHDNSP KGLHDNSD KGLOBTYD
-------- ------------------------------ ----------------------------------
0 SQL AREA CURSOR
1 TABLE/PROCEDURE CURSOR
1 TABLE/PROCEDURE FUNCTION
1 TABLE/PROCEDURE LIBRARY
1 TABLE/PROCEDURE OPERATOR
1 TABLE/PROCEDURE PACKAGE
1 TABLE/PROCEDURE PROCEDURE
1 TABLE/PROCEDURE SEQUENCE
1 TABLE/PROCEDURE SYNONYM
1 TABLE/PROCEDURE TABLE
1 TABLE/PROCEDURE TYPE
1 TABLE/PROCEDURE VIEW
2 BODY CURSOR
2 BODY PACKAGE BODY
2 BODY TYPE BODY
3 TRIGGER TRIGGER
4 INDEX INDEX
5 CLUSTER CLUSTER
10 QUEUE QUEUE
18 PUB SUB INTERNAL INFORMATION PUB SUB INTERNAL INFORMATION
23 RULESET RULESET
24 RESOURCE MANAGER RESOURCE MANAGER CONSUMER GROUP
45 MULTI-VERSION OBJECT FOR TABLE MULTI-VERSIONED OBJECT
48 MULTI-VERSION OBJECT FOR INDEX MULTI-VERSIONED OBJECT
51 SCHEDULER GLOBAL ATTRIBUTE CURSOR
51 SCHEDULER GLOBAL ATTRIBUTE SCHEDULER GLOBAL ATTRIBUTE
52 SCHEDULER EARLIEST START TIME SCHEDULER EARLIEST START TIME
64 EDITION EDITION
69 DBLINK CURSOR
73 SCHEMA CURSOR
73 SCHEMA NONE
74 DBINSTANCE CURSOR
75 SQL AREA STATS CURSOR STATS
79 ACCOUNT_STATUS NONE
82 SQL AREA BUILD CURSOR
35 rows selected.
3.DBlink的full_hash_value計算:
--//參考http://blog.itpub.net/267265/viewspace-2149494/
--//有點奇怪的是x$kglob記錄的owner(對應x$kglob的KGLNAOWN欄位)與實際的不同.
dblink_name.x$kglob.KGLNAOWN\0\0\0\x45\0\0\0.
--//這裡的x45 十進位制是69.
--//實際上許多物件我沒有測,大家可以自行測試.
4.SCHEMA:
SYS@book> SELECT kglnaobj,kglnahsv FROM x$kglob where kglnaobj in ('A','SCOTT') and kglhdnsd='SCHEMA';
KGLNAOBJ KGLNAHSV
-------- --------------------------------
A e35e107310031d819c9b96a03be48e91
SCOTT b57d9e745d1d0f49e0530388de8ba781
--//73 =0x49(16進位制)
$ echo -e -n 'A\x49\0\0\0' | md5sum |sed 's/ -//' | xxd -r -p | od -t x4 | sed -n -e 's/^0000000 //' -e 's/ //gp'
e35e107310031d819c9b96a03be48e91
$ echo -e -n 'SCOTT\x49\0\0\0' | md5sum |sed 's/ -//' | xxd -r -p | od -t x4 | sed -n -e 's/^0000000 //' -e 's/ //gp'
b57d9e745d1d0f49e0530388de8ba781
--//schema的計算是owner加上'\x49\0\0\0'參與運算.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2149548/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20180914]oracle 12c 表 full_hash_value如何計算.txtOracle
- [20171227]表的FULL_HASH_VALUE值的計算
- [20171227]表的FULL_HASH_VALUE值的計算2
- 【總結】計算幾何模板
- 計算機程式設計心得總結計算機程式設計
- [總結] Oracle表的分析統計Oracle
- 20171228db_link的full_hash_value值的計算
- 計算機考研經驗總結計算機
- SOA、ESB、NServiceBus、雲端計算 總結
- Oracle如何精確計算row的大小Oracle
- 計算機網路實驗總結計算機網路
- 計算機求職總結--準備篇計算機求職
- [總結] Oracle優化 – 分析統計Oracle優化
- 計算機網路總結(網路層)計算機網路
- 計算機網路面試問題總結計算機網路面試
- 計算機網路基礎知識總結計算機網路
- 計算機網路知識點總結計算機網路
- 程式設計中位運算用法總結程式設計
- 計算機圖形學課程總結計算機
- ORACLE鎖的總結Oracle
- 計算機視覺中的影像標註工具總結計算機視覺
- Oracle redo解析之-1、oracle redo log結構計算Oracle Redo
- [20171231]PLSQL使用繫結變數.txtSQL變數
- Oracle 總結Oracle
- 位運算總結
- 乾貨:計算機網路知識總結計算機網路
- 《Storm分散式實時計算模式》——1.7總結ORM分散式模式
- 4.14複利計算再升級總結
- ORACLE EXPLAIN PLAN的總結OracleAI
- ORACLE中impdp的總結Oracle
- ORACLE中的EXPDP總結Oracle
- 計算機程式的思維邏輯 (83) – 併發總結計算機
- 計算機程式的思維邏輯 (55) – 容器類總結計算機
- 計算機程式的思維邏輯 (55) - 容器類總結計算機
- 計算機程式的思維邏輯 (83) - 併發總結計算機
- 2014計算機求職總結---面試篇計算機求職面試
- 計算機網路常考知識點總結計算機網路
- oracle執行計劃與統計資訊的一些總結Oracle