新聞中心
Oracle有很多值得學習的地方,這里我們主要介紹Oracle日志緩沖區(qū),包括介紹建立優(yōu)化索引等方面。Oracle日志緩沖區(qū)的爭用將完全抑制數(shù)據(jù)庫的性能,因此要設法減少它。日志空間請求反映了用戶進程等待Oracle日志緩沖區(qū)空間的次數(shù)。所以可通過查問動態(tài)性能表V$SYSSTAT(需有SELECT ANY TABLE特權)來確定是否爭用Oracle日志緩沖區(qū)空間。該查詢語句的格式如下:

企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對外擴展宣傳的重要窗口,一個合格的網(wǎng)站不僅僅能為公司帶來巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺,成都創(chuàng)新互聯(lián)面向各種領域:成都木制涼亭等網(wǎng)站設計、成都全網(wǎng)營銷解決方案、網(wǎng)站設計等建站排名服務。
- SQL>SELECT name, value
- 2>FROM V$SYSSTAT
- 3>WHERE name='redo log space requests';
日志空間的請求值應接近于0,否則需增加初始化參數(shù)LOG_BUFFER的值,以增加空間、減少爭用。減少Oracle日志緩沖區(qū)閂鎖的爭用對Oracle日志緩沖區(qū)的訪問由閂鎖(latches)調控。閂鎖分為日志分配閂鎖和日志拷貝閂鎖兩類。
當多個用戶同時頻繁地訪問Oracle日志緩沖區(qū)時,就可能引起對Oracle日志緩沖區(qū)閂鎖的爭用,從而降低性能。Oracle將所有閂鎖的活動記錄在動態(tài)性能表V$LATCH中。有SELECT ANY TABLE特權的用戶可以查詢它,以了解是否有爭用發(fā)生。查詢語句如下:
- SQL>SELECT name,gets,misses,iddediate_gets,iddediate_miss
- 2>FROM V$LATCH l,V$LATCHMANE ln
- 3>WHERE ln.nome IN('redo allocation','redo copv')AND ln.latch #=1.latch #;
其中:
◆ willing_to_wait:對閂鎖的請求種類之一。
◆ iddediate:對閂鎖的請求種類之二。
◆ gets:表示對閂鎖的willing_to_wait請求成功的次數(shù)。
◆ misses:表示對閂鎖的willing_to_wait請求不成功的次數(shù)。
◆ iddediate_gets:表示對每個閂鎖立即請求成功的次數(shù)。
◆ iddediate_miss:表示對每個閂鎖立即請求不成功的次數(shù)。
要減少日志分配閂鎖的爭用就需使單個進程持有閂鎖的時間最短,要減少此時間又應減少在日志閂鎖上的拷貝,即減少參數(shù)LOG_SMALL_ENTRY_MAX_SIZE的值。要減少日志拷貝閂鎖的爭用,一是觀察其爭用情況,增加閂鎖,即增加LOG_SIMULTANEOUS_COPIES的值;二是減少持有閂鎖的時間,即在獲得日志拷貝閂鎖之前,就迫使Oracle用戶進程事先建立日志項。事先建立的所有日志項的大小都要小于參數(shù) LOG_ENTRY_PREBUILD_THRESHOLD,要事先建立日志項就要增加參數(shù)LOG_ENTRY_PREBUILD_THRESSHOLD 的值。
排序是一項花銷很大的操作,而且對性能的影響程度也較大,因此使大部分排序在內存中完成,而不是在磁盤上進行,這是至關重要的。其中“sorts(memory)”選項表示不需要磁盤I/O,選項“sorts(disk)” 表示需要磁盤I/O。如果用戶認為在磁盤上的排序意義較大,可以增加init.ora文件SORT_AREA_SIZE參數(shù)的設置值。以上介紹Oracle日志緩沖區(qū)。
建立優(yōu)化索引
當要改進查詢的性能時,索引是最便捷的,常常也是最好的技術。多數(shù)新應用程序的存取速度問題是由于缺少合適的索引。使用索引可以使性能發(fā)生巨大的變化,而且確定需要什么樣的索引也相對簡單,只需要考察您的SQL語句,看WHERE子句中您用了什么內容。
對待索引的建立要特別謹慎,因為索引要占用磁盤空間。如果索引同表本身的大小差不多,那就不能從索引得到多少好處。索引還要對表的更新、插入和刪除的性能產(chǎn)生影響。除了這幾點之外,索引是改進查詢性能的最簡單、最有效的方法,尤其是當您總是對幾個關鍵字字段進行搜索時,這種方法最合適。
索引建立要花費大量時間,可以使用ALTER INDEX REBUILD來創(chuàng)建新索引,這比其刪除和重建索引要迅速得多。如果用戶的數(shù)據(jù)已經(jīng)排序,在構建索引時使用NOSORT選項,如:
- SQL>ALTER INDEX emp_primary_key REBUILD;
- SQL>CREATE INDEX myindex ON emp(ename) NOSORT;
【編輯推薦】
- 閑扯Oracle數(shù)據(jù)導入
- 精煉概括Oracle性能測試
- 簡介Oracle INDEX提示
- 五分鐘精通Oracle Hints
- 簡單介紹Oracle驅動表
本文名稱:籠統(tǒng)描述Oracle日志緩沖區(qū)
文章地址:http://m.5511xx.com/article/dpheopo.html


咨詢
建站咨詢
