程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 概述操作系統Oracle優化

概述操作系統Oracle優化

編輯:Oracle數據庫基礎

經過長時間學習操作系統Oracle優化,於是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會你更多東西。內存的優化歷來都是數據庫或者操作系統Oracle優化的重中之重。在Oracle數據庫體系結構中內存優化也是性能優化的關鍵。優化內存主要是通過優化內存結構來提高系統性能。這裡所說的內存結構主要由專用SQL及PL/SQL區、共享池、日志緩沖區和高速緩沖存儲區構成。

由於0racle的內存結構需求與應用密切相關,所以內存結構優化應在SQL語句和應用程序優化之後以及輸入/輸出(I/O)優化之前進行。而且首先要操作系統Oracle優化,並在處理共享池前考慮私有SQL和PL/SQL區。

SGA是對數據庫數據進行快速訪問的一個系統全局區,其大小在實例啟動時被確定。若SGA本身需要頻繁地進行釋放、分配,則不可能達到快速訪問數據的目的。因此為了優化系統性能,應確保SGA全部被駐留在實際內存中,而不應采用虛擬內存,以免使整個系統性能下降。

SGA是Oracle為一個實例分配的一組共享內存緩沖區。它包含該實例的數據和控制信息。如果有多個用戶同時與同一個實例相連接時,則其SGA中的數據可為多個用戶共享,所以也叫它共享全局區。SGA在實例啟動時被自動分配,當實例關閉時被收回。SGA中的數據和控制信息可被多個進程所使用,但只能由幾個持殊進程能對其進行寫操作。SGA中所包含的存儲區根據其存放的信息類型大致可分為“數據庫緩沖存儲區”、“日志緩沖區”、“共享池”和“請求和響應隊列”四大區域。

用戶可以通過兩種命令方式來查看SGA的大小。

(1)使用“SHOW SGA”命令
說明:用戶可以連接到Sever Manager和數據庫,然後執行“SHOW SGA”命令來查看SGA的大小。如果數據庫實例沒有啟動,那麼使用“SHOW SGA”命令將會報錯。

(2)使用“SELECT * FROM V$SGA;”查詢試圖命令
說明:使用“SELECT * FROM V$SGA;”要在“SVRMGR>”提示符下。

可以在init.ora文件中將參數PRE_PAGE_SGA的值設為“yes”,而將SGA預裝到物理內存中,即設置PRE_PAGE_SGA=yes。

要優化專用的SQL區及PL/SQL區,就必須知道是否有不必要的語法分析調用,用戶必須盡量少的調用Parse。如果有過多的不必要的語法分析調用,就應當設法減少它。可用跟蹤功能來為每個SQL語句輸出跟蹤信息,以檢測其語法分析步的統計數字count。若分析步的count統計值與執行步的count統計值非常接近,則應減少語法分析調用。減少語法分析調用的方法是通過所用的應用開發工具(如PRO*C、OCI和SQL*Forms等)來控制語法分析調用以及分配和釋放專用的SQL區的頻率。

例如:在用PRO*C時,可用HOLD_CURSOR、RELEASE_CURSOR以及MAX_OPENCURSOR參數來控制專用SQL區。在使用 OCI時,可使用OSQL3或OPARSE調用來為SQL語句分配專用SQL區,用OCLOSE調用關閉光標和釋放專用SQL區。在使用SQL *Forms時,同樣也可控制是否重用專用SQL區:可在觸發器級、Form級或在運行時減少語法分析調用,以減少或重用專用SQL區。以上介紹操作系統Oracle優化。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved