網(wǎng)站首頁 編程語言 正文
一.什么是session?
? ? ? ?一般來說,session是通信雙方從開始通信到通信結束期間的一個上下文(context)。這個上下文是一段位于服務器端的內(nèi)存:記錄了本次連接的客戶端機器、通過哪個應用程序、哪個用戶在登錄等信息[在pl/sql developer中,通過Tools-->Sessions可以查看當前數(shù)據(jù)庫的session]。?
? ? ? ?session 是和connection同時建立的,兩者是對同一件事情不同層次的描述。簡單講,connection是物理上的客戶機同服務器段的通信鏈路,session是邏輯上的用戶同服務器的通信交互。
oracle中一個用戶登錄oracle服務器的前提:該用戶具有oracle的 “create session”權限。
? ? ? ?oracle允許同一個用戶在同一個客戶機上建立多個同服務器的連接,從oracle的視圖V$session中可以看到[select * from v$session;]。
? ? ? ?每個session都代表了用戶與服務器的一個交互。就像兩個國家之間可以同時開展很多談判,經(jīng)濟的,環(huán)境的等等。關閉了有關經(jīng)濟的談判,不會影響到環(huán)境談判的進行。
后臺進程PMON會每隔一段時間,就會測試用戶連接狀況,如果連接已斷開,PMON會清理現(xiàn)場,釋放相關的資源。
二.在具體的應用場景中connction 和 session 有很多情況:
1. sqlplus 登錄 oracle
這種場景比較容易理解,一個連接對應一個session。
2. 其他客戶端工具登錄oracle
比如:pl/sql developer
登錄oracle。pl/sql developer 可以設置是否每個窗口共用同一個session. 如果想在調(diào)試窗口調(diào)試存儲過程或函數(shù),則必須設置為共享session。如果設置為非共享,?www.linuxidc.com則每次打開一個操作窗口,pl/sql developer會利用最初輸入的帳戶和口令建立新的connection和session.
3. IIS 用程序登錄oracle
這種情況下,其實是IIS在登錄oracle。connection 和 session 的建立情況和iis機制相關。
“對于Oracle來說,安全的Sessions數(shù)應該為Sessions = (IIS process number) * (min pool size)。”
IIS進程:在IIS6.0中,采用了新的進程隔離模式來響應用戶的請求,在IIS管理器中,可以設置應用程序池的最大進程數(shù)。對于新的WEB應用請求,IIS進程管理器會啟動多個W3wp.exe進行響應。
4.其他情況有待補充
orcale的session內(nèi)存
oracle 的連接分為兩種:獨占式,共享式。
在獨占式連接情況下:session(如游標,排序去,sql區(qū))是在PGA中分配的。
在共享式連接情況下:session的一部分(如UGA)是在中SGA的larg pool中分配的。
5.oracle session 和process
oracle中每個process 都有對應的session。
process 分為:
用戶進程在V$session 中可用條件:$session.type =‘USER’.查詢。
后臺進程在V$session 中可用條件:$session.type =‘BACKGROUND’查詢。
6.常見的后臺進程:
SMON,PMON,DBWR,LGWR,MMAN,MRP,RFS,RECO,CKPT,ARCH,Dnnn,Snnn,LMON,LMD0,QMNn,TRWR,WMON,LCKnnn,SNPnnn,?MMON,DMON,SNP
7.session 相關的初始化參數(shù):
process:oracle的連接數(shù)(sessions)與其參數(shù)文件中的進程數(shù)(process)相關,它們的關系如下:sessions=(1.1*process+5),可以通過修改inia.ora的這個process參數(shù)在更改可連接的最大session數(shù)。
workarea_size_policy:PGA用手動管理還是自動管,?在AUTO的時候每個session最多能用到5%或100M.
原文鏈接:https://blog.csdn.net/weixin_49889731/article/details/125592462
相關推薦
- 2022-10-12 浮動AppBar中的textField焦點回滾問題解決_Android
- 2022-04-10 git push異常整理 error: failed to push some refs to
- 2022-12-21 C和C++中argc和argv的含義及用法詳解_C 語言
- 2022-03-26 docker?registry?私有倉庫的搭建過程_docker
- 2022-07-16 uniapp小程序webSocket封裝、斷線重連、心跳檢測
- 2021-12-09 C語言實現(xiàn)將double/float?轉(zhuǎn)為字符串(帶自定義精度)_C 語言
- 2023-02-03 python關于excel多個sheet的導入導出方式_python
- 2023-05-03 python?re.match函數(shù)的具體使用_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結構-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支