[20190720]12CR2 max_idle_time.txt
[20190720]12CR2 max_idle_time.txt
--//12CR2引入max_idle_time引數,可以簡單的控制會話長期不使用自動退出,單位是分鐘。
--//簡單測試看看。
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
SCOTT@test01p> show parameter max_idle_time
NAME TYPE VALUE
------------- ------- -------
max_idle_time integer 0
--//預設是0.也就是不會起作用。
SCOTT@test01p> alter session set max_idle_time=1;
alter session set max_idle_time=1
*
ERROR at line 1:
ORA-02096: specified initialization parameter is not modifiable with this option
--//session級別修改無效。
SCOTT@test01p> alter system set max_idle_time=1;
System altered.
--//退出繼續測試。
2.開始測試:
SCOTT@test01p> select sysdate from dual ;
SYSDATE
-------------------
2019-07-20 19:19:52
SCOTT@test01p> host sleep 61
SCOTT@test01p> select sysdate from dual ;
SYSDATE
-------------------
2019-07-20 19:21:16
--//這樣無效!!
SCOTT@test01p> select sysdate from dual ;
SYSDATE
-------------------
2019-07-20 19:15:59
SCOTT@test01p> host sleep 120
SCOTT@test01p> select sysdate from dual ;
select sysdate from dual
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
Process ID: 7020
Session ID: 251 Serial number: 49075
--//換一句話講這個引數非常像sqlnet.ora中的SQLNET.EXPIRE_TIME引數。
--//參考連結:http://blog.itpub.net/267265/viewspace-2150499/=>[20180124]測試SQLNET.EXPIRE_TIME引數3
--//可以看出規律,測試環境是SQLNET.EXPIRE_TIME=1.
--//也就是在15:30:22 - 15:31:22 (1分鐘時間內如果client端發起連線,通俗講執行sql語句),這個1分鐘內不會發出從伺服器端發監測包.
--//這樣到下1分鐘(15:31:22 - 15:32:22),如果client沒有發起連線,再發出監測包.這樣看到的間隔就是接近2分鐘.
--//再通俗講如果在間隔時間內如果有client端發出資料包,服務端的監測包就不會發,這樣看到的情況最大間隔就是
--//2 * SQLNET.EXPIRE_TIME.實際上我以前一直以為最大間隙是僅僅出現在開始第1次實際上可以出現任何時間段.
--//自己總算理解為什麼SQLNET.EXPIRE_TIME=N,最大間隔是2 * N 分鐘.
--//也就是如果網路在沒有任何發包的情況下20分鐘斷開,你必須設定SQLNET.EXPIRE_TIME<=10的原因.
--//我建立如下指令碼(aa1.txt):
select sysdate from dual ;
host sleep &&1
select sysdate from dual ;
SCOTT@test01p> @ aa1.txt 130
SYSDATE
-------------------
2019-07-20 19:56:55
SYSDATE
-------------------
2019-07-20 19:59:05
--//你可以發現作為一組命令執行,執行過程中不會斷開。僅僅分開執行時才會有效(注:我測試多次,也出現過sleep 121也沒有斷開的情況)。
--//視乎是連線程式在檢測是否有鍵盤操作,如果執行sleep時回車,結束sleep後,馬上執行語句就可以正常執行)。
--//實際上我自己有點不理解oracle為什麼會加入這樣的引數。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2651226/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20190720]12cR2顯示執行計劃.txt
- [20190720]sqlplus 與輸出& 2.txtSQL
- [20181014]12cR2 sqlplus新特性.txtSQL
- [20190311]12cR2 Advanced index compression.txtIndex
- [20181007]12cR2 Using SQL Patch.txtSQL
- [20181225]12CR2 SQL Plan Directives.txtSQL
- Oracle Data Guard Feature 12cR2系列(二)Oracle
- Oracle Data Guard Feature 12cR2系列(一)Oracle
- [20211104]12cR2 new index usage tracking.txtIndex
- [20181007]12cR2 Using SQL Patch 2.txtSQL
- Oracle VM上實施Oracle 12cR2 RACOracle
- [20190721]12CR2 max_idle_time 2.txt
- Oracle Database 12cR2多租戶權威指南OracleDatabase
- Oracle Database 12cR2/R1中的更改OracleDatabase
- Oracle 12CR2查詢轉換之星型轉換Oracle
- Oracle 12CR2查詢轉換之謂詞推送Oracle
- [20181109]12cR2 的pre_page_sga引數.txt
- 12cr2 pdb 跟隨cdb 自動啟動配置
- Oracle 12CR2查詢轉換之檢視合併Oracle
- Oracle 12CR2查詢轉換之表擴充套件Oracle套件
- Oracle 12CR2查詢轉換之臨時錶轉換Oracle
- 基於Linux的oracle 12cR2 RAC 標準化安裝(一)LinuxOracle
- 基於Linux的oracle 12cR2 RAC 標準化安裝(二)LinuxOracle
- 基於Linux的oracle 12cR2 RAC 標準化安裝(三)LinuxOracle
- 基於Linux的oracle 12cR2 RAC 標準化安裝(四)LinuxOracle
- Oracle 12CR2查詢轉換之cursor-duration臨時表Oracle
- [20181014]12Cr2 impdp使用NETWORK_LINK支援LONG欄位型別.txt型別
- [20181013]12cR2 無法執行的sql語句會記錄在alert.log.txtSQL
- 【DB寶12】在Docker中只需2步即可擁有Oracle 12cR2(12.2.0.1)企業版環境DockerOracle