[20230214]資料庫連線訪問asm相關檢視.txt
[20230214]資料庫連線訪問asm相關檢視.txt
--//上個星期遇到rac的crs down,事後看了一下,我估計訪問asm相關檢視出現阻塞情況.
--//以前測試過連線資料庫的程式在訪問asm相關檢視時會啟動一個訪問asm例項的程式,然後將相關資訊返回給資料庫程式.也就是講問題
--//出在訪問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.測試:
--//session 1:
SYS@127.0.0.1:9014/ywdb/ywdb1> @ spid
SID SERIAL# PROCESS SERVER SPID PID P_SERIAL# C50
---------- ---------- ------------------------ --------- ------ ------- ---------- --------------------------------------------------
5658 3883 27429 DEDICATED 20388 468 54 alter system kill session '5658,3883' immediate;
--//spid=20388
# ps -ef | grep 2038[8]
oracle 20388 1 1 09:12 ? 00:01:07 oracleywdb1 (LOCAL=NO)
--//session 1:
SYS@127.0.0.1:9014/ywdb/ywdb1> select count(*) from v$asm_diskgroup;
COUNT(*)
----------
2
# ps -ef | grep 2038[8]
oracle 20388 1 1 09:12 ? 00:01:07 oracleywdb1 (LOCAL=NO)
grid 25900 1 0 10:25 ? 00:00:00 oracle+ASM1_user20388_ywdb1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
--//啟動增加了1個訪問asm的程式.格式為oracle+ASM1_user<spid>_<sid>.
--//session 1退出:
# ps -ef | grep 2038[8]
--//兩者都消失.
3.繼續測試:
--//session 1:
SYS@127.0.0.1:9014/ywdb/ywdb1> @ spid
SID SERIAL# PROCESS SERVER SPID PID P_SERIAL# C50
---------- ---------- ------------------------ --------- ------ ------- ---------- --------------------------------------------------
5093 18557 39055 DEDICATED 30611 466 136 alter system kill session '5093,18557' immediate;
--//spid=30611
# ps -ef | grep 3061[1]
oracle 30611 1 0 08:24 ? 00:00:00 oracleywdb1 (LOCAL=NO)
--//session 1:
SYS@127.0.0.1:9014/ywdb/ywdb1> select count(*) from v$asm_diskgroup;
COUNT(*)
----------
2
# ps -ef | grep 3061[1]
grid 15451 1 0 08:29 ? 00:00:00 oracle+ASM1_user30611_ywdb1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle 30611 1 0 08:24 ? 00:00:00 oracleywdb1 (LOCAL=NO)
--//kill -9 15451
# kill -9 15451
# ps -ef | grep 3061[1]
oracle 30611 1 0 08:24 ? 00:00:00 oracleywdb1 (LOCAL=NO)
--//session 1:
SYS@127.0.0.1:9014/ywdb/ywdb1> select sysdate from dual ;
select sysdate from dual ;
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
Process ID: 30611
Session ID: 5093 Serial number: 18557
--//只要kill 連線asm的程式,連線資料庫的主程式在執行sql語句時會斷開.
4.補充:
--//我測試中還遇到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檢視也出現掛起情況.
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)
--//再次開啟建立新的連線,但是程式號已經變了.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2935888/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20230216]資料庫連線訪問asm相關檢視2.txt資料庫ASM
- 檢視mysql資料庫連線數、併發數相關資訊MySql資料庫
- 連線到資料庫,你可以檢視織夢CMS的相關表結構和資料資料庫
- [20181128]toad連線資料庫的問題.txt資料庫
- [20230306]os認證連線資料庫問題.txt資料庫
- [20210428]資料庫連線加密.txt資料庫加密
- Oracle相關資料字典檢視Oracle
- 檢視oracle資料庫的連線數以及使用者檢視Oracle資料庫
- [20181128]toad連線資料庫的問題(補充).txt資料庫
- 資料庫事物相關問題資料庫
- [20181224]使用odbc連線oracle資料庫.txtOracle資料庫
- jmap檢視java程式佔用的資料庫連線數Java資料庫
- [20221128]再談防水牆(檢視訪問效能問題).txt
- [20181107]低版本toad連線18c資料庫問題.txt資料庫
- 檢視織夢CMS原始碼中的資料庫相關檔案原始碼資料庫
- SQL Server建立使用者只能訪問指定資料庫和檢視SQLServer資料庫
- [20190102]連線串不配置服務名能連線資料庫嗎.txt資料庫
- [20200711]關於左右連線的問題.txt
- 資料庫檢視資料庫
- 資料庫-檢視資料庫
- 資料訪問連線池和執行緒池執行緒
- 用Navicat連線資料庫-資料庫連線(MySQL演示)資料庫MySql
- Oracle資料庫 ASM磁碟線上擴容Oracle資料庫ASM
- Django資料庫連線丟失問題Django資料庫
- CentOS 7遠端連線相關問題CentOS
- 第50問:從連線判斷應用訪問資料庫的異常行為資料庫
- Linux檢視相關係統資訊Linux
- JDBC資料庫訪問JDBC資料庫
- 連線資料庫資料庫
- 關於android stdio連線mysql資料庫出現過的問題AndroidMySql資料庫
- Linux下使用ps命令來檢視oracle資料庫相關程式的操作步驟LinuxOracle資料庫
- Mac遠端訪問資料連線Microsoft Remote Desktop中文MacROSREM
- [20191202]關於hugepages相關問題.txt
- 達夢資料庫建立檢視&MyBatis表能不能關聯檢視資料庫MyBatis
- [20241021]使用gdb檢視修改記憶體地址以及相關值.txt記憶體
- [20180907]訪問v$檢視與一致性讀取.txt
- 資料庫連線池-Druid資料庫連線池原始碼解析資料庫UI原始碼
- postgresql關於訪問檢視需要的許可權SQL