-- 進程、會話、連接之間的差異
--========================
?? ?在使用Oracle database的時候,連接與會話是我們經常碰到的詞語之一。咋一看貌似一回事,事實則不然。一個連接上可以建立零個、
一個、甚至多個會話。啊,咋這樣呢?是的,沒錯。這也是我們經常誤解的原因。
?? ?各個會話之間是單獨的,獨立于其他會話,即便是同一個連接的多個會話也是如此。
?? ?
一、幾個術語之間的定義 (參照Oracle 9i &10g 編程藝術)
?? ?
?? ??? ?連接(connection):連接是從客戶到Oracle 實例的一條物理路徑。連接可以在網絡上建立,或者通過IPC 機制建立。通常會在
?? ?客戶進程與一個專用服務器或一個調度器之間建立連接。
?? ?
?? ??? ?會話(session):會話是實例中存在的一個邏輯實體。這就是你的會話狀態(session state),也就是表示特定會話的一組內存
?? ?中的數據結構.提到"數據庫連接"時,大多數人首先想到的就是“會話”。你要在服務器中的會話上執行SQL、提交事務和運行存儲過程。
二、通過例子演示來查看之間的關系
?? ? 1. 無連接,無會話,無進程的情形 ?? ??? ????
?? ??? 2. 單個連接,單個會話,單個進程?? ????
??? 3. 無連接,無會話,單個進程 ?? ???
??? 4. 單個連接,多個會話,單個進程?? ????
?? ???? set autotrace 完成的動作?? ??? ????
?? ???? 有關啟用set autotrace 請參考: 啟用 AUTOTRACE 功能 ?? ????
??? 5.SID不變,serial#變化的情形?? ????
?? ???? 有關kill session的說明,請參考: Oracle 徹底 kill session
三、session與process的設置關系
?? ?session:指定了一個實例中允許的會話數,即能同時登錄到數據庫的并發用戶數。
?? ?process: 指定了一個實例在操作系統級別能同時運行的進程數,包括后臺進程與服務器進程。
?? ?由上面的分析可知,一個后臺進程可能同時對應對個會話,因此通常sessions的值是大于processes的值
?? ?通常的設置公式
?? ??? ?sessions = 1.1 * processes + 5?? ? ??
四、更多參考
?? ? DIFFERENCES BETWEEN PROCESSES, SESSIONS AND CONNECTIONS ?? ???
五、快捷參考
有關性能優化請參考
??? Oracle硬解析與軟解析
??? 共享池的調整與優化(Sharedpool Tuning)
??? Oracle表緩存(cachingtable)的使用
?
有關ORACLE體系結構請參考
??? Oracle表空間與數據文件
??? Oracle密碼文件
??? Oracle參數文件
??? Oracle聯機重做日志文件(ONLINE LOG FILE)
??? Oracle歸檔日志
??? Oracle回滾(ROLLBACK)和撤銷(UNDO)
??? Oracle實例和Oracle數據庫(Oracle體系結構)
?
有關閃回特性請參考
??? Oracle閃回特性(FLASHBACK DATABASE)
??? Oracle閃回特性(FLASHBACK DROP & RECYCLEBIN)
??? Oracle閃回特性(Flashback Query、FlashbackTable)
??? Oracle閃回特性(Flashback Version、Flashback Transaction)
?
有關基于用戶管理的備份和備份恢復的概念請參考
??? Oracle冷備份
??? Oracle熱備份
??? Oracle備份恢復概念
??? Oracle實例恢復
??? Oracle基于用戶管理恢復的處理 (詳細描述了介質恢復及其處理)
??? SYSTEM表空間管理及備份恢復
??? SYSAUX表空間管理及恢復
?
有關RMAN的備份恢復與管理請參考
??? RMAN 概述及其體系結構
??? RMAN 配置、監控與管理
??? RMAN 備份詳解
??? RMAN 還原與恢復
??? RMAN 備份路徑困惑(使用plus archivelog時)
?
有關ORACLE故障請參考
??? ORA-32004的錯誤處理
??? ORA-01658錯誤
??? CRS-0215錯誤處理
??? 對參數FAST_START_MTTR_TARGET= 0 的誤解及設定
??? SPFILE錯誤導致數據庫無法啟動(ORA-01565)
?
有關ASM請參考
??? 創建ASM實例及ASM數據庫
??? ASM 磁盤、目錄的管理
?
有關SQL/PLSQL請參考
??? SQLPlus常用命令
??? SQL 基礎 --> 集合運算(UNION與UNION ALL)
??? SQL 基礎 --> 常用函數
??? SQL 基礎 --> 多表查詢
??? SQL 基礎 --> 過濾和排序
??? SQL 基礎 --> 子查詢
??? SQL 基礎 --> 層次化查詢(STARTBY ... CONNECT BY PRIOR)
??? SQL 基礎 --> ROLLUP與CUBE運算符實現數據匯總
??? PL/SQL --> 游標
??? PL/SQL --> 異常處理(Exception)
??? PL/SQL --> 語言基礎
??? PL/SQL --> 流程控制
??? PL/SQL --> 隱式游標(SQL%FOUND)
??? PL/SQL --> 存儲過程
??? PL/SQL --> 函數
??? PL/SQL --> 動態SQL
?
有關ORACLE其它特性
??? 使用OEM,SQL*Plus,iSQL*Plus 管理Oracle實例
??? 日志記錄模式(LOGGING、FORCE LOGGING 、NOLOGGING)
??? OralceOMF 功能詳解
??? Oracle用戶、對象權限、系統權限 ?
? ?? Oracle角色、配置文件
??? Oracle分區表
??? Oracle外部表
??? 使用外部表管理Oracle 告警日志(ALAERT_$SID.LOG)
??? 簇表及簇表管理(Index clustered tables)
??? SQL*Loader使用方法
??? 啟用用戶進程跟蹤
??? 配置非默認端口的動態服務注冊
??? systemsys,sysoper sysdba 的區別
??? ORACLE_SID、DB_NAME、INSTANCE_NAME、DB_DOMIAN、GLOBAL_NAME
??? Oracle補丁全集 (Oracle 9i 10g 11g Path)
??? Oracle10.2.0.1 升級到10.2.0.4
?
?? ?????????????
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
