我們使用ORACLE資料庫時,常常會為例項配置一個processes引數,此引數故名思意,就是設定整個資料庫系統可以啟動多少個程序(包括系統自己的後臺程序)設定不合理的processes引數值,會導致例項無法啟動。此引數還有其它許許多多的含義和作用,影響著資料庫系統的執行。
比如,ORACLE在哪裡為其分配記憶體,分配多大記憶體?此記憶體資訊在ORACLE instance級的作用?為什麼processes引數是一個靜態引數?透過本文,相信大家能找到一個的答案。下面是透過一些測試,來回答上述問題。
SQL> startup nomount;
ORACLE 例程已經啟動。
Total System Global Area 201326592 bytes
Fixed Size 1289676 bytes
Variable Size 130023988 bytes
Database Buffers 62914560 bytes
Redo Buffers 7098368 bytes
SQL>
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 100
SQL> alter system set processes=5000 scope=spfile;
系統已更改。
SQL> shutdown abort;
ORACLE 例程已經關閉。
ORA-00371: not enough shared pool memory, should be atleast 439686348 bytes。
我們使用ORACLE資料庫時,常常會為例項配置一個processes引數,此引數故名思意,就是設定整個資料庫系統可以啟動多少個程序(包括系統自己的後臺程序)設定不合理的processes引數值,會導致例項無法啟動。此引數還有其它許許多多的含義和作用,影響著資料庫系統的執行。
比如,ORACLE在哪裡為其分配記憶體,分配多大記憶體?此記憶體資訊在ORACLE instance級的作用?為什麼processes引數是一個靜態引數?透過本文,相信大家能找到一個的答案。下面是透過一些測試,來回答上述問題。
SQL> startup nomount;
ORACLE 例程已經啟動。
Total System Global Area 201326592 bytes
Fixed Size 1289676 bytes
Variable Size 130023988 bytes
Database Buffers 62914560 bytes
Redo Buffers 7098368 bytes
SQL>
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 100
SQL>
SQL> alter system set processes=5000 scope=spfile;
系統已更改。
SQL> shutdown abort;
ORACLE 例程已經關閉。
SQL> startup nomount;
ORA-00371: not enough shared pool memory, should be atleast 439686348 bytes。