修改 Oracle 的process和Session

1.process 和session的概念:
process:這個參數限制了能夠連接到SGA的操作系統進程數(或者是Windows系統中的線程數),這個總數必須足夠大,從而能夠適用於後臺進程與所有的專用服務器進程,此外,共享服務器進程與調度進程的數目也被計算在內.此外,共享服務器進程與調度進程的數目也被計算在內.因此,在專用服務器環境中,這是一種限制併發連接數的方法.

疑點一:能夠連接到SGA的操作系統進程數,這種進程包括哪些進程?Windows系統中的線程數,是指所有與oracle相關的進程的線程數之和?

疑點二:在共享服務器和專用服務器環境中,算法有什麼不同?

哪位兄弟瞭解比較透徹,請指點一下,拜謝!

Sessions:是被應用於oracle層次而非操作系統層次.在不考慮通過專用服務器或共享服務器進行登錄的情況下,這個參數限制了對指定實例的併發登陸數.

疑問:在C/架構中,是指Oracle用戶登陸建立的會話數?在B/S架構中又怎麼算呢?

2,儘管概念不是很明白,遇到這種問題還得幹活先:

1).通過SQLPlus修改
Oracle的sessions和processes的關係是
sessions=1.1*processes + 5

使用sys,以sysdba權限登錄:
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ --------------------------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 150
SQL> alter system set processes=400 scope =spfile;
系統已更改。
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------------------------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 150
SQL> create pfile from spfile;
文件已創建。


重啓數據庫,OK!

SQL> shutdown immediate;
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。
SQL> startup
ORACLE 例程已經啓動。

Total System Global Area  171966464 bytes
FixedSize                  787988 bytes
VariableSize            145488364 bytes
DatabaseBuffers          25165824 bytes
RedoBuffers                524288 bytes
數據庫裝載完畢。
數據庫已經打開。
SQL> show parameter processes;

NAME                                TYPE       VALUE
------------------------------------ ---------------------------
aq_tm_processes                     integer    0
db_writer_processes                 integer    1
gcs_server_processes                integer    0
job_queue_processes                 integer    10
log_archive_max_processes           integer    2
processes                           integer    400
SQL> show parameter session;

NAME                                TYPE       VALUE
------------------------------------ ---------------------------
java_max_sessionspace_size          integer    0
java_soft_sessionspace_limit        integer    0
license_max_sessions                integer    0
license_sessions_warning            integer    0
logmnr_max_persistent_sessions      integer    1
session_cached_cursors              integer    0
session_max_open_files              integer    10
sessions                            integer    445
shared_server_sessions              integer
SQL>


【注:sessions是個派生值,由processes的值決定,公式sessions=1.1*process + 5】


2).通過修改oracle配置文件進行修改
修改SPFILEORCL.ORA文件中的processes的值。8.1.5中是init.ora文件,在9i中修改init.ora文件是無效的,這個文件由於是一個二進制的文件,不能直接使用notepad此類的編輯器打開。
否則會報錯誤ORA-27101 Shared memory realm does notexist。使用UltraEdit或者EditPlus之類的可以編輯二進制文件的編輯器打開此文件(直接編輯二進制文件),然後在Windows服務中重新啓動Oracle服務器即可。
3).通過Oracle Enterprise Manager Console在圖形化管理器中修改
a.以系統管理員的身份登入
b.進入數據庫的例程-配置-一般信息-所有初始化參數
c.修改processes的值
d.Sessions的值由公式sessions=1.1*process + 5派生得到


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