Oracle 服務、Oracle內存設置、調整ORACLE內存設置

Oracle 服務

 

OracleDBConsoleorcl 這個是採用瀏覽器使用的oracle企業管理器

OracleOraDb10g_home1iSQL*Plus 是isql*plus的服務,要使用isqlplus,必須開啓該服務,其它的服務見下面 如果只用cmd中的sqlplus管理oracle的話,必須的就一個OracleServiceORCL

要是還要其它的至少兩個:OracleServiceORCL OracleOraDb10g_home1TNSListener 一個數據庫服務器,一個監聽器(等待客戶端工具來連接數據庫的程序)

 

(1)OracleServiceSID 數據庫服務,這個服務會自動地啓動和停止數據庫。如果安裝了一個數據庫,它的缺省啓動類型爲自動。服務進程爲ORACLE.EXE,參數文件initSID.ora,日誌文件SIDALRT.log,控制檯SVRMGRL.EXE、SQLPLUS.EXE。

 

(2)OracleXXXXTNSListener 監聽器服務,服務只有在數據庫需要遠程訪問時才需要(無論是通過另外一臺主機還是在本地通過 SQL*Net 網絡協議都屬於遠程訪問),不用這個服務就可以訪問本地數據庫,它的缺省啓動類型爲自動。服務進程爲TNSLSNR.EXE,參數文件 Listener.ora,日誌文件listener.log,控制檯LSNRCTL.EXE,默認端口1521、1526。

 

(3)OracleXXXXAgent OEM代理服務,接收和響應來自OEM控制檯的任務和事件請求,只有使用OEM管理數據庫時才需要,它的缺省啓動類型爲自動。服務進程爲DBSNMP.EXE,參數文件snmp_rw.ora,日誌文件nmi.log,控制檯LSNRCTL.EXE,默認端口1748。

 

(4)OracleXXXXClientCache 名字緩存服務,服務緩存用於連接遠程數據庫的Oracle Names 數據。它的缺省啓動類型是手動。然而,除非有一臺Oracle Names 服務器,否則沒有必要運行這個服務。服務進程爲ONRSD.EXE,參數文件NAMES.ORA,日誌文件ONRSD.LOG,控制檯 NAMESCTL.EXE。

 

(5)OracleXXXXCMAdmin 連接管理服務,是構建Connection Manager服務器所用,只有服務器作爲Connection Manager才需要,它的缺省啓動類型是手動。服務進程爲CMADMIN.EXE,參數文件CMAN.ORA,日誌文件CMADM_PID.TRC,控制檯CMCTL.EXE,默認端口1830。

 

(6)OracleXXXXCMan 連接網關服務,是構建Connection Manager服務器所用,只有服務器作爲Connection Manager才需要,它的缺省啓動類型是手動。服務進程爲CMGW.EXE,參數文件CMAN.ORA,日誌文件CMAN_PID.TRC,控制檯 CMCTL.EXE,默認端口1630。

 

(7)OracleXXXXDataGatherer 性能包數據採集服務,除非使用Oracle Capacity Planner 和 Oracle Performance Manager,否則不需要啓動,它的缺省啓動類型是手動。服務進程爲VPPDC.EXE,日誌文件alert_dg.log,控制檯 vppcntl.exe。

 

(8)OracleXXXXHTTPServer Oracle 提供的WEB服務器,一般情況下我們只用它來訪問Oracle Apache 目錄下的Web 頁面,比如說JSP 或者modplsql 頁面。除非你使用它作爲你的HTTP服務,否則不需要啓動(若啓動它會接管IIS的服務),它的缺省啓動類型是手動。服務進程爲APACHE.EXE,參數文件 httpd.conf,默認端口80。

 

(9)OracleXXXXPagingServer 通過一個使用調制解調器的數字傳呼機或者電子郵件發出警告(沒試過),它的缺省啓動類型是手動。服務進程PAGNTSRV.EXE,日誌文件paging.log。

 

(10)OracleXXXXNames Oracle Names服務,只有服務器作爲Names Server才需要,它的缺省啓動類型是手動。服務進程NAMES.EXE,參數文件NAMES.ORA,日誌文件NAMES.LOG,控制檯NAMESCTL.EXE,默認端口1575。

 

(11)OracleSNMPPeerMasterAgent SNMP服務代理,用於支持SNMP的網管軟件對服務器的管理,除非你使用網管工具監控數據庫的情況,否則不需要啓動,它的缺省啓動類型是手動。服務進程爲AGNTSVC.EXE,參數文件MASTER.CFG,默認端口161。

 

(12)OracleSNMPPeerEncapsulater SNMP協議封裝服務,用於SNMP協議轉換,除非你使用一個不兼容的SNMP代理服務,否則不需要啓動,它的缺省啓動類型是手動。服務進程爲ENCSVC.EXE,參數文件ENCAPS.CFG,默認端口1161。

 

(13)OracleXXXXManagementServer OEM管理服務,使用OEM時需要,它的缺省啓動類型是手動。服務進程爲OMSNTSVR.EXE,日誌文件oms.nohup。

 

oracle服務器內存設置

 

內存結構=SGA(系統全局區)+PGA(程序全局區)

SGA:是用於存儲數據庫信息的內存區,該信息爲數據庫進程所共享。它包含Oracle 服務器的數據和控制信息,它是在Oracle服務器所駐留的計算機的實際內存中得以分配,如果實際內存不夠再往虛擬內存中寫

我們重點就是設置SGA,理論上SGA可佔OS系統物理內存的1/2——1/3

原則:SGA+PGA+OS使用內存<總物理RAM

SGA=((db_block_buffers*blocksize)+(shared_pool_size+large_pool_size+java_pool_size+log_buffers)+1MB

1、SGA系統全局區.(包括以下五個區)

A、數據緩衝區:(db_block_buffers)存儲由磁盤數據文件讀入的數據。

大小: db_block_buffers*db_block_size

        Oracle9i設置數據緩衝區爲:Db_cache_size

        原則:SGA中主要設置對象,一般爲可用內存40%。

B、共享池:(shared_pool_size):數據字典,sql緩衝,pl/sql語法分析.加大可提速度。

原則:SGA中主要設置對象,一般爲可用內存10%

C、日誌緩衝區:(log_buffer)存儲數據庫的修改信息.

        原則:128K ---- 1M 之間,不應該太大

D 、JAVA池(Java_pool_size)主要用於JAVA語言的開發.

        原則:若不使用java,原則上不能小於20M,給30M通常就夠了
E、 大池(Large_pool_size)  如果不設置MTS,主要用於數據庫備份恢復管理器RMAN。

        原則:若不使用MTS,5---- 10M 之間,不應該太大

SGA=. db_block_buffers*db_block_size+ shared_pool_size+ log_buffer+Java_pool+size+large_pool_size

      原則: 達到可用內存的55-58%就可以了.

2、PGA程序全局區

PGA:包含單個服務器進程或單個後臺進程的數據和控制信息,與幾個進程共享的SGA 正相反PGA 是隻被一個進程使用的區域,PGA 在創建進程時分配在終止進程時回收.

A、Sort_area_size 用於排序所佔內存

B、Hash_area_size 用於散列聯接,位圖索引

這兩個參數在非MTS下都是屬於PGA ,不屬於SGA,是爲每個session單獨分配的,在我們的服務器上除了OS + SGA,一定要考慮這兩部分
原則:OS 使用內存+SGA+併發執行進程數*(sort_area_size+hash_ara_size+2M) < 0.7*總內存

實例配置

一:物理內存多大

二:操作系統估計需要使用多少內存

三:數據庫是使用文件系統還是裸設備

四:有多少併發連接

五:應用是OLTP 類型還是OLAP 類型

基本掌握的原則是, db_block_buffer 通常可以儘可能的大,shared_pool_size 要適度,log_buffer 通常大到幾百K到1M就差不多了

例如:
內存2G     單個CPU   db_block_size 是8192 bytes

SGA=0.55*2048M=1126.4M左右
建議 shared_pool_size = 200M , db_block_buffer *db_block_size = 800M

      具體: shared_pool_size=209715200    #200M

         db_block_buffer=103192         #800M

log_buffer = 131072            # 128k (128K*CPU個數)


              large_pool_size= 31457280      #30M


         java_pool_size = 20971520      # 20 M


sort_area_size = 524288         # 512k (65k--2M)


             sort_area_retained_size = 524288   # MTS 時 sort_area_retained_size = sort_area_size

 

調整ORACLE內存設置

 

1、 點擊開始,從程序菜單選擇“Enterprise Manager Console”。

 

2、 進入“登錄”界面後,選擇“獨立啓動”,點擊“確定”。

 

3、 進入“獨立”界面後,選擇需要調整內存的數據庫,並雙擊。

 

4、 進入“數據庫連接信息”界面後,輸入用戶名、口令、選擇連接身份爲“SYSDBA”,點擊“確定”。

 

5、 雙擊打開“例程”,點選“配置”,再選擇界面右側的“內存”選項卡,將SGA中的“SGA的最大大小”改爲512PGA中的“總計PGA目標”改爲128,點擊“應用”。

 

6、 進入“關閉選項”界面後,選擇“立即”,點擊“確定”。

 

7、 系統正在關閉數據庫等相關操作,處理完成後提示“處理已完成”,點擊“關閉”。

 

8、 SGA中的“共享池”改爲256;“緩衝區高速緩存”改爲48;大型池改爲128;“Java池”改爲64,再次點擊“應用”。

 

9、 進入“關閉選項”界面後,選擇“立即”,點擊“確定”。

 

10、系統正在關閉數據庫等相關操作,處理完成後提示“處理已完成”,點擊“關閉”。

 

11、Oracle內存設置調整完畢!

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