成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Oracle數據庫共享連接和專用連接方式比較

數據庫 Oracle
Oracle數據庫連接方式分為好多中,比如數據庫飛共享連接和數據庫專用連接,二者是各有優點缺點,下面我就為大家講解Oracle數據庫共享連接和專用連接方式比較。

導讀:oracle數據庫是一種大型數據庫系統,一般應用于商業,政府部門,它的功能很強大,能夠處理大批量的數據,在網絡方面也用的非常多。由于Oracle數據庫自身優越的性能,贏得了廣大用戶的青睞,本文為大家介紹Oracle數據庫共享連接專用連接方式比較。

在專用連接方式中,每一個連接到數據庫服務器的客戶端請求,服務器會和客戶端之間建立起連接,這個連接用于專門處理該客戶端的所有請求,直到用戶主動斷開連接或網絡出現中斷。在連接處于空閑時,后臺進程PMON會每隔一段時間,就會測試用戶連接狀況,如果連接已斷開,PMON會清理現場,釋放相關的資源。 專用連接相當于一對一的連接,能夠快速的響應用戶的請求。當然,在連接的時候,首先要創建PGA(Program global area),參數pga_aggregate_target 決定可以由所有服務器進程使用的內存的總量,參數workarea_size_policy 決定是用手動管理還是自動管理。如:

SQL> show parameter pga_aggregate_target

NAME TYPE VALUE
------------------------------------ ----------- --------
pga_aggregate_target big integer 10485760

SQL> show parameter workarea_size_policy

NAME TYPE VALUE
------------------------------------ ----------- ------
workarea_size_policy string AUTO

 

而Pga由三部分構成,其中有可以配置的 sort_area_size,還有會話信息,堆??臻g。


sort_area_size是用戶用來排序的內存空間:


SQL> show parameter sort_area_size

NAME TYPE VALUE
------------------------------------ ----------- ------
sort_area_size integer 524288


如果排序的數據量比較大,排序空間不夠用,這時Oracle通過專用算法,對數據進行分段,分段后的數據轉移到臨時表空間中,在臨時表空間中進行排序,完成后,再合在一起,返回給請求的用戶。這是大排序為什么使用臨時表空間的原因。


在專用連接中,連接所需要的資源全部在PGA中分配。該內存區為指定連接私有,其它進程不能訪問。

 

專用連接采用一對一的連接方式,能很的響應用戶的請求,但是,如果連接用戶太多時,由于要對每一個連接分配資源,因此,連接數受硬件限制比較大。為了克服這種情況,Oracle 提出了共享連接的連接方法,即用一個服務器的進程響應多個用戶連接,與專用連接不同有連接時才創建PGA不同,共享連接在實例一啟動,就分配指定數量的服務器進程,所用戶的連接,以排隊的方式,由分配器指定給服務器進程,其它的進程排隊等待。只要用戶的請求一執行完,就會馬上斷開連接,分配器會把空閑的服務器進程分配給其它排除的進程。


采用共享連接可以有效的提高服務器資源的利用率,但是對一個分配器,只支持一種協議,每個分配器有自已的排隊隊列,在請求的任務完成后,由分配器將操作結果返回給相應的用戶進程。但是共享連接的建立, 需要Oracle的監聽進程、分配器、共享服務器進程才能共同完成一個連接的創建,所以連接的分配也需要一定的時間和資源。


在共享連接中,sort_area_size 將在 SGA 的 Large_pool 中分配。

 

 

上面所說的是兩種連接的創建方法和管理方法,在理想的情況下,對于長事務或大事務,使用專用連接,可以有效的提高系統的性能,減少用戶等待和事務的排隊,提高系統的利用率。對于超短事務和短事務、小事務,使用共享連接方式,可以在資源與效率之間達到一種平稀。比如對于OLTP 系統,使用專用連接,而對于網站等,可以使用共享連接。


那么,能不能在OLTP系統中使用共享連接呢?如果能使用,那么,能不能提高性能呢?


OLTP系統,一般而言,有較多的長事務和大事務,如用戶的某幾步操作,必須作為一個事務。對于這種情況,我們分析一下,看看,會發生什么樣的情況:


分析首先有一個前提,那就是用戶請求數要大于共享服務器進程數,否則,減去分配器管理性能支出,共享連接的性能要低于專用連接。


如果用戶請求數大于共享服務器進程數,那么肯定有請求是在排隊,假定目前一個共享服務器進程正在執行一個長事務,那么請求隊列就要一直等,直到當前的事務結束。從用戶請求的角度看,很明顯,響應的時間加長了。從服務器角度看,我們先看一下由網友 WESTLIFE_XU 提供的實例:


共享連接和長事務是背道而馳的,長事務的共享連接會造成shared 進程的嚴重排隊,造成性能的嚴重下降,給你看一個極端的例子,以前的同事公司的。


代碼:

 


舉個例子,200個request共享比說10個共享進程,每個shared進程在一個時間內只能處理一個request,也就是說10個進程在同一時間內只能處理10個request,如果一個request需要很長的處理,會造成其它請求的嚴重排隊。


shared進程要求客戶端的每個request要特別快,如果客戶端的一個request就占了很長時間,那別的request就得一直等著,共享就沒有什么意義了。


從上面可以看出,如果在有大事務和長事務的OLTP系統中,系統會比原來更慢!


綜合來看,共享連接和專用連接各有所長,關鍵是看應用,能適用于自已應用的連接方式,就是好方式。所以大家在實際應用中要綜合考慮各方面的情況,選擇適合自己的方式,而不要一味的覺得那一個好就去使用哪個。
 

【編輯推薦】

  1. Oracle數據庫Redo故障的恢復
  2. Oracle數據庫索引創建要做到三個適當
  3. 講解Oracle數據庫提供的多種安全性措施
責任編輯:迎迎 來源: 天極網
相關推薦

2010-10-26 16:07:45

連接oracle數據庫

2010-04-06 11:02:30

Oracle 數據庫

2018-01-04 10:43:43

OracleMysqlJava

2010-04-08 18:45:35

Oracle數據庫

2010-04-07 18:26:43

Oracle數據庫

2009-07-23 09:31:56

數據庫表連接方式

2010-04-06 10:52:06

Oracle數據庫

2010-04-08 18:54:32

Oracle數據庫

2010-10-26 16:15:33

連接Oracle數據庫

2010-10-26 14:06:43

oracle連接遠程數

2010-04-28 16:23:18

Oracle數據庫

2011-03-21 12:51:16

Oracle數據庫表連接

2011-07-18 14:00:29

RailsOracle

2010-10-26 15:21:11

連接Oracle數據庫

2024-05-08 08:37:44

2010-05-05 15:45:52

Oracle數據庫

2010-10-26 16:27:37

連接Oracle數據庫

2010-04-15 10:20:18

連接Oracle數據庫

2010-10-26 15:54:02

連接oracle數據庫

2009-03-19 10:08:09

C#數據庫查詢
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一区| 日日干天天操 | 亚洲精品久| 亚洲乱码一区二区三区在线观看 | 中文字幕 欧美 日韩 | 91在线免费视频 | 日韩精品在线播放 | 国产成人精品视频在线观看 | 麻豆av在线免费观看 | 少妇黄色 | 在线一级片 | 欧美v日韩| 高清黄色网址 | 国产精品久久久久久亚洲调教 | 亭亭五月激情 | 国产区视频在线观看 | 日本粉嫩一区二区三区视频 | 精品欧美一区二区在线观看欧美熟 | 亚洲视频免费在线看 | 国产日韩欧美一区二区 | 国产激情一区二区三区 | 中文字幕一区二区三区日韩精品 | www.日本在线观看 | 欧美日韩在线高清 | 蜜桃传媒一区二区 | 日韩欧美在线观看视频 | 午夜在线小视频 | 91精品久久久久久久久中文字幕 | 午夜在线小视频 | 精品国产精品国产偷麻豆 | 国产精品国色综合久久 | 亚洲视频免费在线看 | 91操操操 | 亚州精品成人 | 国产精品久久久久久久久久了 | 久久精品视频在线播放 | 日日夜夜天天干 | 亚洲天堂中文字幕 | www.久久久久久久久久久久 | 99色综合 | 亚洲精品第一 |