[20200818]12c 10046跟蹤時間戳2.txt
[20200818]12c 10046跟蹤時間戳2.txt
--//昨天測試12c 10046跟蹤時間戳與原來11g不同,以前這裡記錄的從1970/1/1 UTC 的微秒數,而現在明顯偏小.
--//晚上驗證看看這個偏移量來自那裡.
1.環境:
SCOTT@test01p> @ ver1
PORT_STRING VERSION BANNER CON_ID
------------------------------ -------------- -------------------------------------------------------------------------------- ----------
IBMPC/WIN_NT64-9.1.0 12.2.0.1.0 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 0
2.建立測試指令碼並執行:
$ cat ba.sql
@ 10046on 12
select systimestamp from dual ;
@ 10046off
SCOTT@test01p> @ ba.sql
Session altered.
SYSTIMESTAMP
--------------------------
2020-08-18 20:56:49.472000
Session altered.
3.檢查跟蹤檔案內容:
=====================
PARSING IN CURSOR #792350760 len=30 dep=0 uid=81 oct=3 lid=81 tim=1271948665 hv=2569258288 ad='7ff11d1dd90' sqlid='8hwwkpuck7j9h'
select systimestamp from dual
END OF STMT
PARSE #792350760:c=62400,e=91121,p=0,cr=236,cu=0,mis=1,r=0,dep=0,og=1,plh=1388734953,tim=1271948664
EXEC #792350760:c=0,e=34,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=1388734953,tim=1271948872
WAIT #792350760: nam='SQL*Net message to client' ela= 2 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=1271948959
FETCH #792350760:c=0,e=19,p=0,cr=0,cu=0,mis=0,r=1,dep=0,og=1,plh=1388734953,tim=1271949095
STAT #792350760 id=1 cnt=1 pid=0 pos=1 obj=0 op='FAST DUAL (cr=0 pr=0 pw=0 str=1 time=3 us cost=2 size=0 card=1)'
WAIT #792350760: nam='SQL*Net message from client' ela= 15311 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=1271964570
FETCH #792350760:c=0,e=2,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=0,plh=1388734953,tim=1271964708
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WAIT #792350760: nam='SQL*Net message to client' ela= 1 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=1271964755
WAIT #792350760: nam='SQL*Net message from client' ela= 14640 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=1271979428
CLOSE #792350760:c=0,e=11,dep=0,type=0,tim=1271979539
=====================
$ ./xdate.sh 1271964708
1970-01-01 08:21:11.964708000
$ date -d "2020-08-18 20:56:49.472000 -1271.964708 seconds" +"%Y-%m-%d %T.%N"
2020-08-18 20:35:37.507292000
--//偏移量是2020-08-18 20:35:37.507292000.
--//我檢查oracle v$database,v$instance,v$thread檢視裡面有關時間的資訊,根本對不上,無論從cdb還是pdb看,看到的時間都要晚.
--//我重複執行指令碼多次.
SCOTT@test01p> @ ba
Session altered.
SYSTIMESTAMP
--------------------------
2020-08-18 21:14:32.191000
Session altered.
--//跟蹤檔案內容:
=====================
PARSING IN CURSOR #615598984 len=30 dep=0 uid=81 oct=3 lid=81 tim=2334648609 hv=2569258288 ad='7ff006d2ef8' sqlid='8hwwkpuck7j9h'
select systimestamp from dual
END OF STMT
PARSE #615598984:c=62401,e=60225,p=0,cr=236,cu=0,mis=1,r=0,dep=0,og=1,plh=1388734953,tim=2334648607
EXEC #615598984:c=0,e=25,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=1388734953,tim=2334648819
WAIT #615598984: nam='SQL*Net message to client' ela= 2 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=2334648896
FETCH #615598984:c=0,e=15,p=0,cr=0,cu=0,mis=0,r=1,dep=0,og=1,plh=1388734953,tim=2334648956
STAT #615598984 id=1 cnt=1 pid=0 pos=1 obj=0 op='FAST DUAL (cr=0 pr=0 pw=0 str=1 time=2 us cost=2 size=0 card=1)'
WAIT #615598984: nam='SQL*Net message from client' ela= 550 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=2334649650
FETCH #615598984:c=0,e=2,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=0,plh=1388734953,tim=2334649719
WAIT #615598984: nam='SQL*Net message to client' ela= 1 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=2334649755
WAIT #615598984: nam='SQL*Net message from client' ela= 1198 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=2334650984
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CLOSE #615598984:c=0,e=8,dep=0,type=0,tim=2334651068
=====================
$ date -d "2020-08-18 21:14:32.191000 -2334.650984 seconds" +"%Y-%m-%d %T.%N"
2020-08-18 20:35:37.540016000
--//基本偏移在2020-08-18 20:35:37.
SYS@test> select * from v$instance
2 @ prxx
==============================
INSTANCE_NUMBER : 1
INSTANCE_NAME : test
HOST_NAME : ZWS
VERSION : 12.2.0.1.0
STARTUP_TIME : 2020-08-18 20:53:05
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
STATUS : OPEN
PARALLEL : NO
THREAD# : 1
ARCHIVER : STARTED
LOG_SWITCH_WAIT :
LOGINS : ALLOWED
SHUTDOWN_PENDING : NO
DATABASE_STATUS : ACTIVE
INSTANCE_ROLE : PRIMARY_INSTANCE
ACTIVE_STATE : NORMAL
BLOCKED : NO
CON_ID : 0
INSTANCE_MODE : REGULAR
EDITION : EE
FAMILY :
DATABASE_TYPE : SINGLE
PL/SQL procedure successfully completed.
SYS@test> select * from v$thread
2 @ prxx
==============================
THREAD# : 1
STATUS : OPEN
ENABLED : PUBLIC
GROUPS : 3
INSTANCE : test
OPEN_TIME : 2020-08-18 20:53:38
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CURRENT_GROUP# : 1
SEQUENCE# : 169
CHECKPOINT_CHANGE# : 12268220
CHECKPOINT_TIME : 2020-08-18 20:53:38
ENABLE_CHANGE# : 1
ENABLE_TIME : 2018-10-06 21:16:41
DISABLE_CHANGE# : 0
DISABLE_TIME :
LAST_REDO_SEQUENCE# : 169
LAST_REDO_BLOCK : 119235
LAST_REDO_CHANGE# : 12270513
LAST_REDO_TIME : 2020-08-18 21:02:51
CON_ID : 0
PL/SQL procedure successfully completed.
--//看了視乎windows系統這個偏差來源於,可以透過systeminfo啟動觀察.
$ systeminfo | grep 2020
系統啟動時間: 2020/8/18, 20:35:39
--//對比前面計算還是存在2秒的差值.真心不知道偏移量來之那裡.
--//注:在windows下執行透過管道報錯.
d:\> systeminfo | grep "2020"
grep: writing output: Invalid argument
4.附上xdate指令碼:
$ cat xdate.sh
#! /bin/bash
#date -d "1970-01-01 00:00:00 UTC $( echo "scale=6; $1/1000000" |bc -l) seconds" +"%Y-%m-%d %T.%N"
date -d "@$( echo "scale=6; $1/1000000" |bc -l)" +"%Y-%m-%d %T.%N"
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2712756/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20200818]12c 10046跟蹤時間戳.txt時間戳
- [20201118]18c 10046跟蹤時間戳3(虛擬機器).txt時間戳虛擬機
- [20200316]dmesg與時間戳2.txt時間戳
- [20231025]跟蹤rename操作2.txt
- Mac好用的時間跟蹤器Mac
- [20210220]gdb跟蹤邏輯讀2.txt
- 【TRACE】如果通過10046跟蹤資料庫效能問題資料庫
- 獲取時間戳,幾個時間點的時間戳時間戳
- MySQL時間戳、時間MySql時間戳
- Timemator自動化時間跟蹤軟體
- 好用的時間跟蹤定時器:Eon Timer for Mac定時器Mac
- Timemator for Mac(自動化時間跟蹤軟體)Mac
- JavaScript 時間戳JavaScript時間戳
- kafka時間戳Kafka時間戳
- C# 時間戳轉時間C#時間戳
- 時間型別和時間戳型別時間戳
- 一款小巧的時間跟蹤器:Klokki for MacMac
- 兩個時間戳的時間差時間戳
- 時間戳轉化為時間格式時間戳
- Excel中時間戳轉換時間Excel時間戳
- [20191221]12c查詢跟蹤檔案內容.txt
- 【時間戳轉普通時間格式的方法】時間戳
- Unix 時間戳與日期時間戳
- 格式化時間 戳
- c++ 獲取當前時間周初凌晨時間戳(獲取當前時間週一凌晨時間戳)C++時間戳
- 《Lua-in-ConTeXt》05:時間戳Context時間戳
- 時間戳效能最佳化時間戳
- Mongoose無法更新時間戳Go時間戳
- [20191226]dmesg與時間戳.txt時間戳
- PostgreSQL自動更新時間戳SQL時間戳
- Timestamp-時間戳轉換時間戳
- 時間戳與時間字串的多時區轉換時間戳字串
- 如何透過時間跟蹤分析,有效提高員工生產力?
- 專案管理工具中時間跟蹤有哪些用處?專案管理
- js獲取某時間的當天0點時間戳 與某時間的當週週一0點時間戳JS時間戳
- mysql時間操作(時間差和時間戳和時間字串的互轉)MySql時間戳字串
- 新增時--sqlserver資料庫跟蹤SQLServer資料庫
- [20241105]跟蹤library cache lock library cache pin使用gdb(11g)2.txt