oracle審計(jì)日志查詢 oraclesga正確的設(shè)置大???
oraclesga正確的設(shè)置大???在正常情況下,查詢速度非常慢。1. 檢查SGA的大小,以DBA的身份連接到Oracle數(shù)據(jù)庫(kù),然后輸入showsga。2. 如果SGA太小,請(qǐng)修改它的大小。修改SGA
oraclesga正確的設(shè)置大???
在正常情況下,查詢速度非常慢。
1. 檢查SGA的大小,以DBA的身份連接到Oracle數(shù)據(jù)庫(kù),然后輸入showsga。
2. 如果SGA太小,請(qǐng)修改它的大小。修改SGA時(shí)必須遵循以下原則:1)Target不能大于SGA max Size,可以設(shè)置為等于。2) 所占用的內(nèi)存總量。SGA加上PGA等其他進(jìn)程必須小于操作系統(tǒng)的物理內(nèi)存。在執(zhí)行以下操作之前,必須備份DBS目錄中的所有文件。方法一:直接修改SQL命令行:(如果SPFILE不存在,則從pfile創(chuàng)建SPFILE)SQL>alter system設(shè)置SGAmaxusize=1024m scope=SPFILE,然后重啟數(shù)據(jù)庫(kù)SQL>shutdown immediate SQL>startupsql>show SGA,查看SGA的大小是否被修改。重新啟動(dòng)后,修改SGAuutargetsql>alter system set SGAutarget=1024m scope=both
“我想知道的是SGA中的內(nèi)容”
---您可以使用以下三個(gè)系統(tǒng)視圖的關(guān)聯(lián):
select*fromv$process
select*fromv$SQLTEXT
select*fromv$session
給出關(guān)聯(lián)的概念和示例(關(guān)聯(lián)每個(gè)進(jìn)程執(zhí)行的SQL語(yǔ)句):
selectt3.program,t1.address,t1.sqlutextfromv$sqltextt1,v$sessiont2,v$processt3wheret1.ADDRESS=t2.sql地址和t2。Paddr=T3。Addr
PS:V$process中的列程序可以看作是該客戶端程序的連接。
但是要補(bǔ)充一點(diǎn),我想從我自己的軟件中獲取它
!-----------------------------------------然后您可以在軟件中查詢這些系統(tǒng)視圖的信息
內(nèi)存分配(SGA和PGA)SGA:用于存儲(chǔ)數(shù)據(jù)庫(kù)信息的內(nèi)存區(qū)域,由數(shù)據(jù)庫(kù)進(jìn)程共享。它包含Oracle服務(wù)器的數(shù)據(jù)和控制信息。它被分配到Oracle服務(wù)器所在計(jì)算機(jī)的實(shí)際內(nèi)存中。如果實(shí)際內(nèi)存不足,則會(huì)寫入虛擬內(nèi)存。PGA:包含單個(gè)服務(wù)器進(jìn)程或單個(gè)后臺(tái)進(jìn)程的數(shù)據(jù)和控制信息。與多個(gè)進(jìn)程共享的SGA相反,PGA是一個(gè)僅由一個(gè)進(jìn)程使用的區(qū)域。PGA在創(chuàng)建進(jìn)程時(shí)分配,在終止進(jìn)程時(shí)回收。不要迷信大牲畜。任何從事Oracle數(shù)據(jù)庫(kù)的人都能理解這種問(wèn)題。在Oracle內(nèi)存組件中,有一個(gè)名為SGA的部分。如果這部分設(shè)置了7g,即使當(dāng)前Oracle只使用100m,啟動(dòng)后7g也會(huì)立即從內(nèi)存中剝離出來(lái),這個(gè)7g不能被任何其他機(jī)制回收利用。此外,Oracle是一個(gè)典型的內(nèi)存消耗應(yīng)用程序,SGA組件中的緩沖緩存存儲(chǔ)真實(shí)的用戶數(shù)據(jù)。它可以避免分散的磁盤操作,直接完成SGA中數(shù)據(jù)庫(kù)的修改。SGA是主存儲(chǔ)器組件。其他PGA等是使用多少和分配多少的基本原則。會(huì)有一個(gè)回收機(jī)制。另外,可以通過(guò)show parameter SGA查看SGA的具體設(shè)置。