orace 共享服務進程模式和獨立服務進程模式

oracle 共享服務進程模式


    oracle 共享服務進程模式主要包含:網絡監聽進程,調度器,請求隊列,共享服務進程,響應隊列。

    oracle 共享服務進程模式工作方式:

        1,網絡監聽進程在數據庫實例啓動時開闢通信渠道爲用戶進程服務,當用戶進程請求oracle資源時候首先與網絡監聽進程溝通。

        2,網絡監聽進程接到用戶進程請求後,分配負載最少的調度器爲用戶進程服務。這時候用戶進程斷開與網絡監聽進程的鏈接轉而鏈接

    到調度進程上面。

        3,調度進程將用戶請求放入請求隊列等待共享服務進程分配資源。

        4,共享服務進程處理完用戶請求後將返回結果放入響應隊列。

        5,調度器從響應隊列中取出返回結果返回給用戶進程。

    用戶請求處理完畢後,用戶進程和調度器不會斷開鏈接。但是共享服務進程和資源已經釋放,可以供其他用戶使用。

 

      涉及的參數:


  

 (dispatchers,max_dispatchsers,shared_servers,shared_max_shareds 相關參數因爲版本不同所有有區別。9i中也能找到MTS_dispatchers(8i)參數。)

 

     配置mts

 

 

 

 

從用戶會話信息和tnsnames.ora文件看出現在是獨立進程模式。如果修改tnsnames.ora文件的中server = SHERAD 然後等數據庫就會出ora-12520錯誤。

 

爲了不破壞spfile,所以使用pfile來修改數據到共享模式下。修改mts_dispatchers ='(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1))(DISPATCHERS=1)' (PROTOCOL指接入方式,HOST主機IP(如果寫主機名就要保證能通過DNS解析出IP),DISPATCHERS指定調度器進程數) 如果mts_servers爲1需要調整該參數大於>1(具體不知道,試驗時候就是不行...)。

然後修改tnsnames.ora文件的中server = SHERAD 。

 

然後重新啓動數據庫

 

 

修改後如果客戶端tnsnames.ora中設置server = DEDICATED 則連接進來時以DEDICATED 方式接入。

 

  

如果修改爲SERVER = SHARED 則用戶連接進來時候就是使用共享服務器模式。

 

   獨立服務進程模式


     獨立服務進程模式在使用DBCA創建數據就默認使用。在獨立進程服務進程模式下所有用戶會話信息都存放在PGA中而共享服務進程則是存放在SGA中。

     在專用服務模式下,用戶進程與服務進程總是保持一對一的關係。即使在用戶沒有提交數據庫請求時,專用服務進程依然保持運行狀態。每個用戶連接進來都會分配一塊PGA內存而且用戶之間無聯繫。

 

 

 

 總結


 

  如果使用的是共享服務進程器模式則無法使用sysdba權限進行,例如:shutting down or starting an instance and media recovery等。這時候就需要設置SERVER 爲DEDICATED 才能執行操作。

   但是在獨立服務進程模式中無法使用共享服務進程模式連接。

   在共享服務進程器模式下無法使用snapshot來對數據庫的運行狀態進行分析,應爲用戶會話是交替使用資源的所以統計出來的結果不準確。

 

  (在測試過程中我對MT_SERVERS進行了修改然後啓動數據庫的時候出來:ORA-32004: obsolete and/or deprecated parameter(s) specified錯誤,通過查看發現錯誤:(Deprecated system parameters with specified values:mts_servers   End of deprecated system parameter listing) 主要是9i中不支持mts_servers(8i)參數導致 在網上到底解決方法:(alter system reset mts_servers scope=spfile sid ='*';) 在9i中設置shared_servers參數來替代mts_servers)

 

 涉及視圖

 V$CIRCUIT:顯示連接上來的用戶進程
V$SHARED_SERVER:顯示共享服務器進程信息
V$DISPATCHER:顯示調度器進程的信息
V$SHARED_SERVER_MONITOR:包含調優共享服務器進程的信息
V$QUEUE:包含請求隊列和應答隊列的信息
V$SESSION:包含每一個當前會話的信息

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章