[20230216]資料庫連線訪問asm相關檢視2.txt
[20230216]資料庫連線訪問asm相關檢視2.txt
--//前幾天驗證了連線資料庫的程式在訪問asm相關檢視時會啟動一個訪問asm例項的程式,然後將相關資訊返回給資料庫程式.
--//當時訪問v$asm_disk檢視時出現一個奇怪現象,就是完成後會關閉asm的連線,今天再驗證一些細節問題.
1.環境:
SYS@127.0.0.1:9014/ywdb> @ 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
2.測試補充:
--//我測試中還遇到1個奇特的現象記錄如下:
--//session 1:
SYS@127.0.0.1:9014/ywdb/ywdb1> @ spid
SID SERIAL# PROCESS SERVER SPID PID P_SERIAL# C50
---------- ---------- ------------------------ --------- ------ ------- ---------- --------------------------------------------------
3115 42709 39285 DEDICATED 31494 491 98 alter system kill session '3115,42709' immediate;
SYS@127.0.0.1:9014/ywdb/ywdb1> select count(*) from v$asm_disk;
COUNT(*)
----------
8
# ps -eLf | grep 3149[4]
oracle 31494 1 31494 0 1 08:49 ? 00:00:00 oracleywdb1 (LOCAL=NO)
--//可以發現這樣並沒有啟動連線asm例項,我前面一直認為訪問asm相關檢視就會出現asm的連線,看來失算了.
--//也許訪問v$asm_diskgroup非常特殊,它是已經彙總統計資訊的檢視.
--//注:看來生產系統前幾天遇到的問題還很複雜,因為當時執行訪問v$asm_disk檢視也出現掛起情況.
--//後記:前面內容是我當時測試時的推測,仔細想想可能不對!!因為當時出現問題時我確實訪問v$asm_disk檢視也出現掛起情況.
--//一定asm例項出現問題,我猜測訪問v$asm_disk時先要連線asm例項,完成後關閉asm例項.我後面的測試驗證這個細節.
SYS@127.0.0.1:9014/ywdb/ywdb1> select count(*) from V$ASM_DISKGROUP;
COUNT(*)
----------
2
# ps -eLf | grep 3149[4]
grid 10122 1 10122 0 1 08:51 ? 00:00:00 oracle+ASM1_user31494_ywdb1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle 31494 1 31494 0 1 08:49 ? 00:00:00 oracleywdb1 (LOCAL=NO)
--//session 1:
SYS@127.0.0.1:9014/ywdb/ywdb1> select sysdate from dual ;
SYSDATE
-------------------
2023-02-15 08:52:10
--//再次訪問v$asm_disk檢視:
SYS@127.0.0.1:9014/ywdb/ywdb1> select count(*) from v$asm_disk;
COUNT(*)
----------
8
# ps -eLf | grep 3149[4]
oracle 31494 1 31494 0 1 08:49 ? 00:00:00 oracleywdb1 (LOCAL=NO)
--//連線asm例項程式關閉了.
SYS@127.0.0.1:9014/ywdb/ywdb1> select count(*) from V$ASM_DISKGROUP;
COUNT(*)
----------
2
# ps -eLf | grep 3149[4]
grid 17002 1 17002 0 1 08:53 ? 00:00:00 oracle+ASM1_user31494_ywdb1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle 31494 1 31494 0 1 08:49 ? 00:00:00 oracleywdb1 (LOCAL=NO)
--//再次開啟建立新的連線,但是程式號已經變了.
4.繼續測試:
--//session 1:
SYS@127.0.0.1:9014/ywdb/ywdb1> @ spid
SID SERIAL# PROCESS SERVER SPID PID P_SERIAL# C50
---------- ---------- ------------------------ --------- ------ ------- ---------- --------------------------------------------------
3681 55919 15583 DEDICATED 4259 493 12 alter system kill session '3681,55919' immediate;
cat aa.txt
select count(*) from v$asm_disk;
/
.
/
--//加入1000個/.這樣連續執行1000次select count(*) from v$asm_disk;命令.
--//session 2:
# seq 30000 | xargs -IQ ps -ef | grep oracle+ASM1_user31494_ywdb1 | tee /tmp/asm.tmp
# tail -6 /tmp/asm.tmp
grid 25252 1 1 08:57 ? 00:00:00 oracle+ASM1_user4259_ywdb1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
grid 25256 1 0 08:57 ? 00:00:00 oracle+ASM1_user4259_ywdb1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
grid 25256 1 1 08:57 ? 00:00:00 oracle+ASM1_user4259_ywdb1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
grid 25260 1 0 08:57 ? 00:00:00 oracle+ASM1_user4259_ywdb1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
grid 25264 1 0 08:57 ? 00:00:00 oracle+ASM1_user4259_ywdb1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
--//第2列程式號發生變化.
# ps -ef | grep 425[9]
oracle 4259 1 2 08:47 ? 00:00:06 oracleywdb1 (LOCAL=NO)
grid 22237 1 2 08:50 ? 00:00:00 oracle+ASM1_user4259_ywdb1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
--//你可以發現訪問 v$asm_disk檢視一樣會建立連線,而且每次連線完成都會斷開建立新的連線.
# ps -ef | grep 425[9]
oracle 4259 1 2 08:47 ? 00:00:22 oracleywdb1 (LOCAL=NO)
--//至於為什麼出現這樣的情況,我不知道.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2935889/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20230214]資料庫連線訪問asm相關檢視.txt資料庫ASM
- 檢視mysql資料庫連線數、併發數相關資訊MySql資料庫
- 連線到資料庫,你可以檢視織夢CMS的相關表結構和資料資料庫
- Oracle相關資料字典檢視Oracle
- 檢視oracle資料庫的連線數以及使用者檢視Oracle資料庫
- 資料庫事物相關問題資料庫
- jmap檢視java程式佔用的資料庫連線數Java資料庫
- 檢視織夢CMS原始碼中的資料庫相關檔案原始碼資料庫
- SQL Server建立使用者只能訪問指定資料庫和檢視SQLServer資料庫
- 資料庫檢視資料庫
- 資料庫-檢視資料庫
- 資料訪問連線池和執行緒池執行緒
- 用Navicat連線資料庫-資料庫連線(MySQL演示)資料庫MySql
- Oracle資料庫 ASM磁碟線上擴容Oracle資料庫ASM
- Django資料庫連線丟失問題Django資料庫
- CentOS 7遠端連線相關問題CentOS
- 第50問:從連線判斷應用訪問資料庫的異常行為資料庫
- Linux檢視相關係統資訊Linux
- JDBC資料庫訪問JDBC資料庫
- 連線資料庫資料庫
- [20180413]熱備模式相關問題2.txt模式
- 關於android stdio連線mysql資料庫出現過的問題AndroidMySql資料庫
- Linux下使用ps命令來檢視oracle資料庫相關程式的操作步驟LinuxOracle資料庫
- Mac遠端訪問資料連線Microsoft Remote Desktop中文MacROSREM
- [20181128]toad連線資料庫的問題.txt資料庫
- 達夢資料庫建立檢視&MyBatis表能不能關聯檢視資料庫MyBatis
- 資料庫連線池-Druid資料庫連線池原始碼解析資料庫UI原始碼
- postgresql關於訪問檢視需要的許可權SQL
- 資料庫 (相關練習)資料庫
- mysqli連線資料庫MySql資料庫
- Mongodb資料庫連線MongoDB資料庫
- Android 連線資料庫Android資料庫
- java連線資料庫Java資料庫
- 連線資料庫-mysql資料庫MySql
- jmeter連線資料庫JMeter資料庫
- Mybatis連線資料庫MyBatis資料庫
- JSP連線資料庫JS資料庫
- JDBC連線資料庫JDBC資料庫