[20230405]奇怪的顯示輸出寬度.txt
[20230405]奇怪的顯示輸出寬度.txt
--//放假前遇到的問題,我想看看asm例項出現那些等待事件.
SYS@my_asm> @ver
BANNER
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
SYS@my_asm> @ ash/ashtop3 event 1=1 &day
Total Distinct Distinct
Seconds AAS %This EVENT FIRST_SEEN LAST_SEEN Execs Seen Tstamps
--------- ------- ------- ------------------------------------------ -------------------------------------- -------------------------------------- ---------- --------
2020 .0 83% | 2023-04-05 08:46:48 2023-04-06 08:45:23 11 2000
128 .0 5% | rdbms ipc reply 2023-04-05 08:49:42 2023-04-06 08:37:34 128 128
72 .0 3% | GPnP Initialization 2023-04-05 08:49:42 2023-04-06 07:56:39 1 72
38 .0 2% | CSS operation: data update 2023-04-05 10:18:13 2023-04-06 08:04:41 1 38
38 .0 2% | GPnP Termination 2023-04-05 10:01:19 2023-04-06 08:37:34 1 38
36 .0 1% | enq: RB - contention 2023-04-05 09:13:09 2023-04-06 08:38:08 1 36
23 .0 1% | ASM file metadata operation 2023-04-05 13:20:48 2023-04-06 03:31:05 1 8
--//我發現一個奇怪現象就是FIRST_SEEN,LAST_SEEN顯示寬度超長,感覺有點奇怪!!
SYS@my_asm> select sysdate,to_char(sysdate) from dual ;
SYSDATE TO_CHAR(SYSDATE)
------------------- --------------------------------------
2023-04-06 08:49:29 2023-04-06 08:49:29
SYS@my_asm> select sysdate,to_char(sysdate,'yyyy') from dual ;
SYSDATE TO_CHAR(
------------------- --------
2023-04-06 08:50:48 2023
--//可以發現TO_CHAR(SYSDATE)的顯示寬度39,而顯示字元19個.to_char(sysdate,'yyyy')類似,為什麼呢?
--//我以前遇到的情況就是cursor_sharing=force會出現這樣的情況.我看了一下asm例項不支援cursor_sharing引數.
--//也就是不可能是引數cursor_sharing=force引起的情況.
--//asm例項非常特殊,僅僅啟動到nomount狀態.
SYS@my_asm> select * from v$database;
select * from v$database
*
ERROR at line 1:
ORA-01507: database not mounted
--//我在我的測試環境嘗試看看,啟動到nomount狀態看看:
SYS@book> startup nomount
ORACLE instance started.
Total System Global Area 643084288 bytes
Fixed Size 2255872 bytes
Variable Size 205521920 bytes
Database Buffers 427819008 bytes
Redo Buffers 7487488 bytes
SYS@book> select sysdate,to_char(sysdate,'yyyy') from dual ;
SYSDATE TO_CHAR(
------------------- --------
2023-04-06 08:52:50 2023
--//可以發現我再現了asm例項看到的情況.
--//我檢查NLS*環境變數,發現定義如下:
$ env | grep -i nls
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
NLS_TIME_TZ_FORMATx=HH24.MI.SSXFF TZH:TZM
NLS_TIMESTAMP_TZ_FORMAT=YYYY-MM-DD HH24:MI:SS.FF TZH:TZM
NLS_TIMESTAMP_FORMAT=YYYY-MM-DD HH24:MI:SS.FF
NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS
$ export NLS_LANG=AMERICAN_AMERICA.US7ascii
SYS@book> select sysdate,to_char(sysdate,'yyyy') from dual ;
SYSDATE TO_C
------------------- ----
2023-04-06 09:02:50 2023
--//這樣顯示寬度才是正常.可以這樣假設oracle啟動到nomount狀態實際上字符集是us7ascii.
--//繼續:
$ export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
--//再次登入:
SYS@book> select sysdate,to_char(sysdate,'yyyy') from dual ;
SYSDATE TO_CHAR(
------------------- --------
2023-04-06 09:07:46 2023
SYS@book> alter database mount ;
Database altered.
SYS@book> select sysdate,to_char(sysdate,'yyyy') from dual ;
SYSDATE TO_C
------------------- ----
2023-04-06 09:07:57 2023
--//到了mount狀態讀取了控制檔案才知道資料庫採用的字符集.
--//另外讓我想起以前的一個測試:http://blog.itpub.net/267265/viewspace-2561490/=>[20190116]詭異的問題2.txt
--//如果使用12c以上的sqlplus客戶端以sys使用者連線10g,11g資料庫,會出現一個獨特的現象,第一次執行顯示sysdate不正常.
--//注意檢查不要存在login.sql,glogin.sql是否有執行語句.
SYS@192.168.100.78:1521/book> show sqlpluscompatibility
sqlpluscompatibility 19.0.0
SYS@192.168.100.78:1521/book> select sysdate,to_char(sysdate) from dual;
SYSDATE TO_CHAR(SYSDATE)
------------ -------------------
2023-04-06 0 2023-04-06 09:21:44
SYS@192.168.100.78:1521/book> select sysdate,to_char(sysdate) from dual;
SYSDATE TO_CHAR(SYSDATE)
------------------- -------------------
2023-04-06 09:22:02 2023-04-06 09:22:02
--//我自己還是無法解析看到的現象.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2943987/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20220822]奇怪的ashtop輸出.txt
- [20211111]奇怪的ashtop輸出.txt
- [20210924]awk奇怪的輸出.txt
- [20211020]奇怪lsnrctl status顯示.txt
- [20211108]sqlplus資料寬度顯示設定.txtSQL
- [20210301]延遲顯示輸出.txt
- [20210924]awk奇怪的輸出2.txt
- [20180312]iostat顯示輸出問題.txtiOS
- [20230501]為什麼沒有顯示輸出.txt
- [20190502]給顯示輸出加入時間戳.txt時間戳
- [20200313]windows顯示輸出時間戳指令碼.txtWindows時間戳指令碼
- C#判斷字串的顯示寬度C#字串
- 顯示卡位寬
- MySql資料庫 數值型別的顯示寬度MySql資料庫型別
- 超過固定寬度(或行數)顯示…(或省略)
- 21.5寸顯示器多大長寬多少 21.5寸顯示器最佳解析度多少
- [20190321]smem的顯示缺陷.txt
- Python一行輸出不顯示的問題Python
- Mysql輸出中文顯示亂碼處理MySql
- Linux基礎命令---dmsg顯示核心輸出Linux
- 讓 排序 按照 in 列表的的顯示順序排序輸出。排序
- [20230905]奇怪的語法.txt
- ccat – 使用語法突出顯示輸出內容
- [20221020]奇怪的增量備份.txt
- [20210802]grep奇怪的過濾.txt
- [20201106]奇怪的awr報表.txt
- [20181120]奇怪的insert語句.txt
- [java IO流]之 鍵盤顯示器輸入輸出流(System)Java
- [20231207]ls -f的顯示問題.txt
- 很奇怪,echo substr ('470482916035',-6);// 輸出是 035
- [20180811]windows 7 顯示桌面.txtWindows
- [20210419]避免冗餘的輸出.txt
- css記錄1:文字塊內超長只顯示一行,且超過寬度顯示為省略號CSS
- 19寸顯示器長寬多少釐米多大 19寸顯示器怎麼設定解析度最合理
- 23.8英寸顯示器長與寬是多少釐米 23.8英寸顯示器解析度多少合適
- [20190524]sqlplus 與輸出&.txtSQL
- [20231012]奇怪的執行時長.txt
- [20230426]奇怪的AVG_IOW_MS.txt