免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
oracle內(nèi)存全面分析(2)[www.hellodba.com]

Oracle內(nèi)存全面分析(2)

[English]

作者: fuyuncat

來(lái)源: www.HelloDBA.com

日期: 2008-08-07 14:50:12

分享到 

1.1.2.   關(guān)于SGA的重要視圖

要了解和觀察SGA的使用情況,并且根據(jù)統(tǒng)計(jì)數(shù)據(jù)來(lái)處理問(wèn)題和調(diào)整性能,主要有以下的幾個(gè)系統(tǒng)視圖。

·        v$sga

這個(gè)視圖包括了SGA的的總體情況,只包含兩個(gè)字段:nameSGA內(nèi)存區(qū)名字)和value(內(nèi)存區(qū)的值,單位為字節(jié))。它的結(jié)果和show sga的結(jié)果一致,顯示了SGA各個(gè)區(qū)的大?。?/span>

SQL> select * from v$sga;
 
NAME                      VALUE
-------------------- ----------
Fixed Size              1248428
Variable Size         117441364
Database Buffers      138412032
Redo Buffers            7139328
 
4 rows selected.
 
SQL> show sga
 
Total System Global Area  264241152 bytes
Fixed Size                  1248428 bytes
Variable Size             117441364 bytes
Database Buffers          138412032 bytes
Redo Buffers                7139328 bytes
SQL>

·        v$sgastat

這個(gè)視圖比較重要。它記錄了關(guān)于sga的統(tǒng)計(jì)信息。包含三個(gè)字段:NameSGA內(nèi)存區(qū)的名字);Bytes(內(nèi)存區(qū)的大小,單位為字節(jié));Pool(這段內(nèi)存所屬的內(nèi)存池)。

這個(gè)視圖尤其重要的是,它詳細(xì)記錄了個(gè)各個(gè)池(Pool)內(nèi)存分配情況,對(duì)于定位4031錯(cuò)誤有重要參考價(jià)值。

以下語(yǔ)句可以查詢Shared Pool空閑率:

SQL> select to_number(v$parameter.value) value, v$sgastat.BYTES,
  2         (v$sgastat.bytes/v$parameter.value)*100 "percent free"
  3      from v$sgastat, v$parameter
  4      where v$sgastat.name= 'free memory'
  5      and v$parameter.name = 'shared_pool_size'
  6      and v$sgastat.pool='shared pool'
  7  ;
 
     VALUE      BYTES percent free
---------- ---------- ------------
 503316480  141096368 28.033329645
 
SQL>

·        v$sga_dynamic_components

這個(gè)視圖記錄了SGA各個(gè)動(dòng)態(tài)內(nèi)存區(qū)的情況,它的統(tǒng)計(jì)信息是基于已經(jīng)完成了的,針對(duì)SGA動(dòng)態(tài)內(nèi)存區(qū)大小調(diào)整的操作,字段組成如下:

字段

數(shù)據(jù)類型

描述

COMPONENT

VARCHAR2(64)

內(nèi)存區(qū)名稱

CURRENT_SIZE

NUMBER

當(dāng)前大小

MIN_SIZE

NUMBER

自從實(shí)例啟動(dòng)后的最小值

MAX_SIZE

NUMBER

自從實(shí)例啟動(dòng)后的最大值

OPER_COUNT

NUMBER

自從實(shí)例啟動(dòng)后的調(diào)整次數(shù)

LAST_OPER_TYPE

VARCHAR2(6)

最后一次完成的調(diào)整動(dòng)作,值包括:

  • GROW (增加)
  • SHRINK (縮小)

LAST_OPER_MODE

VARCHAR2(6)

最后一次完成的調(diào)整動(dòng)作的模式,包括:

  • MANUAL (手動(dòng))
  • AUTO (自動(dòng))

LAST_OPER_TIME

DATE

最后一次完成的調(diào)整動(dòng)作的開(kāi)始時(shí)間

GRANULE_SIZE

NUMBER

GRANULE大小(關(guān)于granule后面詳細(xì)介紹)

·        V$SGA_DYNAMIC_FREE_MEMORY

這個(gè)視圖只有一個(gè)字段,一條記錄:當(dāng)前SGA可用于動(dòng)態(tài)調(diào)整SGA內(nèi)存區(qū)的空閑區(qū)域大小。它的值相當(dāng)于(SGA_MAX_SIZE – SGA各個(gè)區(qū)域設(shè)置大小的總和)。當(dāng)設(shè)置了SGA_TARGET后,它的值一定為0(為什么就不需要我再講了吧^_^)。

下面的例子可以很清楚的看到這個(gè)視圖的作用:

SQL> select * from v$sga_dynamic_free_memory;
 
CURRENT_SIZE
--------------
0
 
SQL> show parameter shared_pool
 
NAME                                TYPE        VALUE
----------------------------------- ----------- ----------
shared_pool_size                    big integer 50331648
 
SQL> alter system set shared_pool_size=38M;
 
system altered.
 
SQL> show parameter shared_pool
 
NAME                                TYPE        VALUE
----------------------------------- ----------- ----------
shared_pool_size                    big integer 41943040
 
SQL> select * from v$sga_dynamic_free_memory;
 
CURRENT_SIZE
--------------
8388608

1.1.3.   數(shù)據(jù)庫(kù)緩沖區(qū)(Database Buffers

Buffer CacheSGA區(qū)中專門用于存放從數(shù)據(jù)文件中讀取的的數(shù)據(jù)塊拷貝的區(qū)域。Oracle進(jìn)程如果發(fā)現(xiàn)需要訪問(wèn)的數(shù)據(jù)塊已經(jīng)在buffer cache中,就直接讀寫內(nèi)存中的相應(yīng)區(qū)域,而無(wú)需讀取數(shù)據(jù)文件,從而大大提高性能(要知道,內(nèi)存的讀取效率是磁盤讀取效率的14000倍)。Buffer cache對(duì)于所有oracle進(jìn)程都是共享的,即能被所有oracle進(jìn)程訪問(wèn)。

Shared Pool一樣,buffer cache被分為多個(gè)集合,這樣能夠大大降低多CPU系統(tǒng)中的爭(zhēng)用問(wèn)題。

1.1.3.1.    Buffer cache的管理

Oracle對(duì)于buffer cache的管理,是通過(guò)兩個(gè)重要的鏈表實(shí)現(xiàn)的:寫鏈表和最近最少使用鏈表(the Least Recently Used LRU)。寫鏈表所指向的是所有臟數(shù)據(jù)塊緩存(即被進(jìn)程修改過(guò),但還沒(méi)有被回寫到數(shù)據(jù)文件中去的數(shù)據(jù)塊,此時(shí)緩沖中的數(shù)據(jù)和數(shù)據(jù)文件中的數(shù)據(jù)不一致)。而LRU鏈表指向的是所有空閑的緩存、pin住的緩存以及還沒(méi)有來(lái)的及移入寫鏈表的臟緩存。空閑緩存中沒(méi)有任何有用的數(shù)據(jù),隨時(shí)可以使用。而pin住的緩存是當(dāng)前正在被訪問(wèn)的緩存。LRU鏈表的兩端就分別叫做最近使用端(the Most Recently Used MRU)和最近最少使用端(LRU)。

·        Buffer cache的數(shù)據(jù)塊訪問(wèn)

當(dāng)一個(gè)Oracle進(jìn)程訪問(wèn)一個(gè)緩存是,這個(gè)進(jìn)程會(huì)將這塊緩存移到LRU鏈表中的MRU。而當(dāng)越來(lái)越多的緩沖塊被移到MRU端,那些已經(jīng)過(guò)時(shí)的臟緩沖(即數(shù)據(jù)改動(dòng)已經(jīng)被寫入數(shù)據(jù)文件中,此時(shí)緩沖中的數(shù)據(jù)和數(shù)據(jù)文件中的數(shù)據(jù)已經(jīng)一致)則被移到LRU鏈表中LRU端。

當(dāng)一個(gè)Oracle用戶進(jìn)程第一次訪問(wèn)一個(gè)數(shù)據(jù)塊時(shí),它會(huì)先查找buffer cache中是否存在這個(gè)數(shù)據(jù)塊的拷貝。如果發(fā)現(xiàn)這個(gè)數(shù)據(jù)塊已經(jīng)存在于buffer cache(即命中cache hit),它就直接讀從內(nèi)存中取該數(shù)據(jù)塊。如果在buffer cache中沒(méi)有發(fā)現(xiàn)該數(shù)據(jù)塊(即未命中cache miss),它就需要先從數(shù)據(jù)文件中讀取該數(shù)據(jù)塊到buffer cache中,然后才訪問(wèn)該數(shù)據(jù)塊。命中次數(shù)與進(jìn)程讀取次數(shù)之比就是我們一個(gè)衡量數(shù)據(jù)庫(kù)性能的重要指標(biāo):buffer hit ratiobuffer命中率),可以通過(guò)以下語(yǔ)句獲得自實(shí)例啟動(dòng)至今的buffer命中率:

SQL> select 1-(sum(decode(name, 'physical reads', value, 0))/
  2           (sum(decode(name, 'db block gets', value, 0))+
  3           (sum(decode(name, 'consistent gets', value, 0))))) "Buffer Hit Ratio"
  4  from v$sysstat;
 
Buffer Hit Ratio
----------------
      .926185625
 
1 row selected.
 
SQL>

根據(jù)經(jīng)驗(yàn),一個(gè)良好性能的系統(tǒng),這一值一般保持在95%左右。

上面提到,如果未命中(missed),則需要先將數(shù)據(jù)塊讀取到緩存中去。這時(shí),oracle進(jìn)程需要從空閑列表種找到一個(gè)適合大小的空閑緩存。如果空閑列表中沒(méi)有適合大小的空閑buffer,它就會(huì)從LRU端開(kāi)始查找LRU鏈表,直到找到一個(gè)可重用的緩存塊或者達(dá)到最大查找塊數(shù)限制。在查找過(guò)程中,如果進(jìn)程找到一個(gè)臟緩存塊,它將這個(gè)緩存塊移到寫鏈表中去,然后繼續(xù)查找。當(dāng)它找到一個(gè)空閑塊后,就從磁盤中讀取數(shù)據(jù)塊到緩存塊中,并將這個(gè)緩存塊移到LRU鏈表的MRU端。

當(dāng)有新的對(duì)象需要請(qǐng)求分配buffer時(shí),會(huì)通過(guò)內(nèi)存管理模塊請(qǐng)求分配空閑的或者可重用的buffer。“free buffer requested”就是產(chǎn)生這種請(qǐng)求的次數(shù);

當(dāng)請(qǐng)求分配buffer時(shí),已經(jīng)沒(méi)有適合大小的空閑buffer時(shí),需要從LRU鏈表上獲取到可重用的buffer。但是,LRU鏈表上的buffer并非都是立即可重用的,還會(huì)存在一些塊正在被讀寫或者已經(jīng)被別的用戶所等待。根據(jù)LRU算法,查找可重用的buffer是從鏈表的LRU端開(kāi)始查找的,如果這一段的前面存在這種不能理解被重用的buffer,則需要跳過(guò)去,查找鏈表中的下一個(gè)buffer?!?span lang="EN-US">free buffer inspected”就是被跳過(guò)去的buffer的數(shù)目。

如果Oracle用戶進(jìn)程達(dá)到查找塊數(shù)限制后還沒(méi)有找到空閑緩存,它就停止查找LRU鏈表,并且通過(guò)信號(hào)同志DBW0進(jìn)程將臟緩存寫入磁盤去。

下面就是oracle用戶進(jìn)程訪問(wèn)一個(gè)數(shù)據(jù)塊的偽代碼:

 

user_process_access_block(block)
{
    if (search_lru(block))
    {
        g_cache_hit++;
        return read_block_from_buffer_cache(block);
    }
    else
    {
        g_cache_missed++;
        search_count = 1;
        searched = FALSE;
        set_lru_latch_context();
        buffer_block = get_lru_from_lru();
 
        do
        {
            if (block == buffer_block)
            {
                set_buffer_block(buffer_block, read_block_from_datafile(block);
                move_buffer_block_to_mru(buffer_block);
                searched = TRUE;
            }
 
            search_count++;
            buffer_block = get_next_from_lru(buffer_block);
        }while(!searched && search_count < BUFFER_SEARCH_THRESHOLD)
 
        free_lru_latch_context();
 
        if (!searched)
        {
            buffer_block = signal_dbw0_write_dirty_buffer();
            set_buffer_block(buffer_block, read_block_from_datafile(block);
            move_buffer_block_to_mru(buffer_block);
        }
 
        return buffer_block;
    }
}

 

·        全表掃描

當(dāng)發(fā)生全表掃描(Full Table Scan)時(shí),用戶進(jìn)程讀取表的數(shù)據(jù)塊,并將他們放在LRU鏈表的LRU端(和上面不同,不是放在MRU端)。這樣做的目的是為了使全表掃描的數(shù)據(jù)盡快被移出。因?yàn)槿頀呙枰话惆l(fā)生的頻率較低,并且全表掃描的數(shù)據(jù)塊大部分在以后都不會(huì)被經(jīng)常使用到。

而如果你希望全表掃描的數(shù)據(jù)能被cache住,使之在掃描時(shí)放在MRU端,可以通過(guò)在創(chuàng)建或修改表(或簇)時(shí),指定CACHE參數(shù)。

·        Flush Buffer

回顧一下前面一個(gè)用戶進(jìn)程訪問(wèn)一個(gè)數(shù)據(jù)塊的過(guò)程,如果訪問(wèn)的數(shù)據(jù)塊不在buffer cache中,就需要掃描LRU鏈表,當(dāng)達(dá)到掃描塊數(shù)限制后還沒(méi)有找到空閑buffer,就需要通知DBW0將臟緩存回寫到磁盤。分析一下偽代碼,在這種情況下,用戶進(jìn)程訪問(wèn)一個(gè)數(shù)據(jù)塊的過(guò)程是最長(zhǎng)的,也就是效率最低的。如果一個(gè)系統(tǒng)中存在大量的臟緩沖,那么就可能導(dǎo)致用戶進(jìn)程訪問(wèn)數(shù)據(jù)性能下降。

我們可以通過(guò)人工干預(yù)將所有臟緩沖回寫到磁盤去,這就是flush buffer。

9i,可以用以下語(yǔ)句:

alter system set events = 'immediate trace name flush_cache'; --9i

10g,可以用以下方式(9i的方式在10g仍然有效):

alter system flush buffer_cache; -- 10g

另外,9i的設(shè)置事件的方式可以是針對(duì)系統(tǒng)全部的,也可以是對(duì)會(huì)話的(即將該會(huì)話造成的臟緩沖回寫)。

1.1.3.2.            Buffer Cache的重要參數(shù)配置

Oracle提供了一些參數(shù)用于控制Buffer Cache的大小等特性。下面介紹一下這些參數(shù)。

·        Buffer Cache的大小配置

由于Buffer Cache中存放的是從數(shù)據(jù)文件中來(lái)的數(shù)據(jù)塊的拷貝,因此,它的大小的計(jì)算也是以塊的尺寸為基數(shù)的。而數(shù)據(jù)塊的大小是由參數(shù)db_block_size指定的。9i以后,塊的大小默認(rèn)是8K,它的值一般設(shè)置為和操作系統(tǒng)的塊尺寸相同或者它的倍數(shù)。

而參數(shù)db_block_buffers則指定了Buffer Cache中緩存塊數(shù)。因此,buffer cache的大小就等于db_block_buffers * db_block_size

9i以后,Oracle引入了一個(gè)新參數(shù):db_cache_size。這個(gè)參數(shù)可以直接指定Buffer Cache的大小,而不需要通過(guò)上面的方式計(jì)算出。它的默認(rèn)值48M,這個(gè)數(shù)對(duì)于一個(gè)系統(tǒng)來(lái)說(shuō)一般是不夠用的。

注意:db_cache_sizedb_block_buffers是不能同時(shí)設(shè)置的,否則實(shí)例啟動(dòng)時(shí)會(huì)報(bào)錯(cuò)。

SQL> alter system set db_block_buffers=16384 scope=spfile;
 
system altered.
 
SQL> alter system set db_cache_size=128M scope=spfile;
 
system altered.
 
SQL> startup force
 
ORA-00381: cannot use both new and old parameters for buffer cache size specification
 

9i以后,推薦使用db_cache_size來(lái)指定buffer cache的大小。

OLTP系統(tǒng)中,對(duì)于DB_CACHE_SIZE的設(shè)置,我的推薦配置是:

DB_CACHE_SIZE = SGA_MAX_SIZE/2 SGA_MAX_SIZE*2/3

最后,DB_CACHE_SIZE是可以聯(lián)機(jī)修改的,即實(shí)例無(wú)需重啟,除非增大Buffer Cache導(dǎo)致SGA實(shí)際大小大于SGA_MAX_SIZE。

·        多種塊尺寸系統(tǒng)中的Buffer Cache的配置

9i開(kāi)始,Oracle支持創(chuàng)建不同塊尺寸的表空間,并且可以為不同塊尺寸的數(shù)據(jù)塊指定不同大小的buffer cache

9i以后,除了SYSTEM表空間和TEMPORARY表空間必須使用標(biāo)準(zhǔn)塊尺寸外,所有其他表空間都可以最多指定四種不同的塊尺寸。而標(biāo)準(zhǔn)塊尺寸還是由上面的所說(shuō)的參數(shù)db_block_size來(lái)指定。而db_cache_size則是標(biāo)致塊尺寸的buffer cache的大小。

非標(biāo)準(zhǔn)塊尺寸的塊大小可以在創(chuàng)建表空間(CREATE TABLESPACE)是通過(guò)BLOCKSIZE參數(shù)指定。而不同塊尺寸的buffer cache的大小就由相應(yīng)參數(shù)DB_nK_CACHE_SZIE來(lái)指定,其中n可以是2,4,816或者32。例如,你創(chuàng)建了一個(gè)塊大小為16K的非標(biāo)準(zhǔn)塊尺寸的表空間,你就可以通過(guò)設(shè)置DB_16K_CACHE_SIZE為來(lái)指定緩存這個(gè)表空間數(shù)據(jù)塊的buffer cache的大小。

任何一個(gè)尺寸的Buffer Cache都是不可以緩存其他尺寸的數(shù)據(jù)塊的。因此,如果你打算使用多種塊尺寸用于你的數(shù)據(jù)庫(kù)的存儲(chǔ),你必須最少設(shè)置DB_CACHE_SIZEDB_nK_CACHE_SIZE中的一個(gè)參數(shù)(10g后,指定了SGA_TARGET就可以不需要指定Buffer Cache的大?。2⑶?,你需要給你要用到的非標(biāo)準(zhǔn)塊尺寸的數(shù)據(jù)塊指定相應(yīng)的Buffer Cache大小。這些參數(shù)使你可以為系統(tǒng)指定多達(dá)4種不同塊尺寸的Buffer Cache。

另外,請(qǐng)注意一點(diǎn),DB_nK_CACHE_SIZE 參數(shù)不能設(shè)定標(biāo)準(zhǔn)塊尺寸的緩沖區(qū)大小。舉例來(lái)說(shuō),如果 DB_BLOCK_SIZE 設(shè)定為 4K,就不能再設(shè)定 DB_4K_CACHE_SIZE 參數(shù)。

·        多緩沖池

你可以配置不同的buffer cache,可以達(dá)到不同的cache數(shù)據(jù)的目的。比如,可以設(shè)置一部分buffer cache緩存過(guò)的數(shù)據(jù)在使用后后馬上釋放,使后來(lái)的數(shù)據(jù)可以立即使用緩沖池;還可以設(shè)置數(shù)據(jù)進(jìn)入緩沖池后就被keep住不再釋放。部分?jǐn)?shù)據(jù)庫(kù)對(duì)象(表、簇、索引以及分區(qū))可以控制他們的數(shù)據(jù)緩存的行為,而這些不同的緩存行為就使用不同緩沖池。

o        保持緩沖池(Keep Buffer Pool)用于緩存那些永久駐入內(nèi)存的數(shù)據(jù)塊。它的大小由參數(shù)DB_KEEP_CACHE_SZIE控制;

o        回收緩沖池(Recycle Buffer Pool)會(huì)立即清除那些不在使用的數(shù)據(jù)緩存塊。它的大小由參數(shù)DB_RECYLE_CACHE_SIZE指定;

o        默認(rèn)的標(biāo)準(zhǔn)緩存池,也就是上面所說(shuō)的DB_CACHE_SIZE指定。

這三個(gè)參數(shù)相互之間是獨(dú)立的。并且他們都只適用于標(biāo)準(zhǔn)塊尺寸的數(shù)據(jù)塊。與8i兼容參數(shù)DB_BLOCK_BUFFERS相應(yīng)的,DB_KEEP_CACHE_SIZE對(duì)應(yīng)有BUFFER_POOL_KEEPDB_RECYLE_CACHE_SIZE對(duì)應(yīng)有BUFFER_POOL_RECYCLE。同樣,這些參數(shù)之間是互斥的,即DB_KEEP_CACHE_SIZEBUFFER_POOL_KEEP之間只能設(shè)置一個(gè)。

·        緩沖池建議器

9i開(kāi)始,Oracle提供了一些自動(dòng)優(yōu)化工具,用于調(diào)整系統(tǒng)配置,提高系統(tǒng)性能。建議器就是其中一種。建議器的作用就是在系統(tǒng)運(yùn)行過(guò)程中,通過(guò)監(jiān)視相關(guān)統(tǒng)計(jì)數(shù)據(jù),給相關(guān)配置在不同情況下的性能效果,提供給DBA做決策,以選取最佳的配置。

9i中,Buffer Cache就有了相應(yīng)的建議器。參數(shù)db_cache_advice用于該建議器的開(kāi)關(guān),默認(rèn)值為FALSE(即關(guān))。當(dāng)設(shè)置它為TRUE后,在系統(tǒng)運(yùn)行一段時(shí)間后,就可以查詢視圖v$db_cache_advice來(lái)決定如何使之DB_CACHE_SIZE了。關(guān)于這個(gè)建議器和視圖,我們會(huì)在下面的內(nèi)容中介紹。

·        其他相關(guān)參數(shù)

DB_BLOCK_LRU_LATCHES

LRU鏈表作為一個(gè)內(nèi)存對(duì)象,對(duì)它的訪問(wèn)是需要進(jìn)行鎖(latch)控制的,以防止多個(gè)用戶進(jìn)程同時(shí)使用一個(gè)空閑緩存塊。DB_BLOCK_LRU_LATCHES設(shè)置了LUR latch的數(shù)量范圍。Oracle通過(guò)一系列的內(nèi)部檢測(cè)來(lái)決定是否使用這個(gè)參數(shù)值。如果這個(gè)參數(shù)沒(méi)有設(shè)置,Oracle會(huì)自動(dòng)為它計(jì)算出一個(gè)值。一般來(lái)說(shuō),oracle計(jì)算出來(lái)的值是比較合理,無(wú)需再去修改。

9i以后這個(gè)參數(shù)是隱含參數(shù)。對(duì)于隱含參數(shù),我建議在沒(méi)有得到Oracle支持的情況下不要做修改,否則,如果修改了,Oracle是可以拒絕為你做支持的。

 

DB_WRITER_PROCESSES

在前面分析Oracle讀取Buffer Cache時(shí),提到一個(gè)Oracle重要的后臺(tái)進(jìn)程DBW0,這個(gè)(或這些)進(jìn)程負(fù)責(zé)將臟緩存塊寫回到數(shù)據(jù)文件種去,稱為數(shù)據(jù)庫(kù)書寫器進(jìn)程(Database Writer Process)。DB_WRITER_PROCESSES參數(shù)配置寫進(jìn)程的個(gè)數(shù),各個(gè)進(jìn)程以DBWn區(qū)分,其中n>=0,是進(jìn)程序號(hào)。一般情況下,DB_WRITER_PROCESSES = MAX(1, TRUNC(CPU數(shù)/8))。也就是說(shuō),CPU數(shù)小于8時(shí),DB_WRITER_PROCESSES1,即只有一個(gè)寫進(jìn)程DBW0。這對(duì)于一般的系統(tǒng)來(lái)說(shuō)也是足夠用。當(dāng)你的系統(tǒng)的修改數(shù)據(jù)的任務(wù)很重,并且已經(jīng)影響到性能時(shí),可以調(diào)整這個(gè)參數(shù)。這個(gè)參數(shù)不要超過(guò)CPU數(shù),否則多出的進(jìn)程也不會(huì)起作用,另外,它的最大值不能超過(guò)20。

DBWn進(jìn)程除了上面提到的在用戶進(jìn)程讀取buffer cache時(shí)會(huì)被觸發(fā),還能被Checkpoint觸發(fā)(Checkpoint是實(shí)例從redo log中做恢復(fù)的起始點(diǎn))。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Oracle 概念(Oracle 10.2) 第八章 內(nèi)存結(jié)構(gòu)
buffer-cache深度分析及性能調(diào)整
Python內(nèi)存池管理與緩沖池設(shè)計(jì)
oracle內(nèi)存管理
Oracle內(nèi)存結(jié)構(gòu)研究-SGA篇-Oracle認(rèn)證考試-考試大
Oracle SGA詳解
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服