




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、傳播優(yōu)秀Word版文檔 ,希望對您有幫助,可雙擊去除!OLAP and OLTPOLTP (在線事務處理系統(tǒng))OLAP (在線分析系統(tǒng))對于一個olap系統(tǒng),大型的查詢每天做幾次,沒有必要將大量的數(shù)據(jù)緩存到內(nèi)存里,完全沒有必要,所以一般buffer hit都比較低對于一個olap系統(tǒng),內(nèi)存優(yōu)化余地不大,增加cpu速度和磁盤io速度才是最直接的提高性能的方式。oltp系統(tǒng)的用戶并發(fā)數(shù)很多,而且多是小的操作,數(shù)據(jù)庫側重于對用戶操作的快速響應,這是對數(shù)據(jù)庫最重要的性能要求。對于一個oltp系統(tǒng)來說,數(shù)據(jù)庫內(nèi)存設計顯得很重要,如果數(shù)據(jù)都可以在內(nèi)存處理,性能無疑會提高很多。oltp系統(tǒng)是一個數(shù)據(jù)塊變化非
2、常頻繁,sql語句提交非常頻繁的系統(tǒng)。對于數(shù)據(jù)塊來說,應盡可能讓數(shù)據(jù)塊保存在內(nèi)存中;對于sql來說,應盡可能使用綁定變量來達到sql的重用,減少物理io和反復的sql解析。oltp熱快問題:當一個塊被多個用戶同時讀取的時候,oracle為了維護數(shù)據(jù)的一致性,需要使用一種稱為latch的東西來串行化用戶的操作。當一個用戶獲得了這個latch之后,其他的用戶只能被迫等待,獲取這個數(shù)據(jù)塊的用戶越多,等待就越明顯,這就造成了熱快問題。這種熱快可能是數(shù)據(jù)塊也可能是回滾段塊。對于數(shù)據(jù)塊來講通常是數(shù)據(jù)塊上的數(shù)據(jù)分布不均導致,如果是索引的數(shù)據(jù)塊,可以考慮建反向索引來達到重新分布數(shù)據(jù)的目的;對于回滾段數(shù)據(jù)塊,可
3、以適當增加幾個回滾段來避免爭用。SGA系統(tǒng)全局區(qū),是oracle用來為實例存儲數(shù)據(jù)和控制信息的共享內(nèi)存區(qū)。在實例啟動時分配,關閉時釋放。數(shù)據(jù)庫緩沖區(qū)高速緩存(buffer cache):保存了最近使用過的數(shù)據(jù)塊。最近最多使用算法(most-recently-used)共享池:存儲共享內(nèi)存結構的區(qū)域。如library cache中的sql區(qū),以及數(shù)據(jù)字典的內(nèi)部信息library cache:SQL 和PL SQL 的文本,執(zhí)行計劃,編譯數(shù)data dictionary cache:oracle數(shù)據(jù)字典包含一組表和視圖,oracle將他們作為數(shù)據(jù)庫的引用,在其中存儲了與數(shù)據(jù)庫的邏輯和物理結構相關的
4、信息用戶信息;如權限等為數(shù)據(jù)庫表定義的完整性約束數(shù)據(jù)庫表中所有列的名稱以及數(shù)據(jù)類型為模式對象分配空間及其使用情況的信息PGA包含oracle服務器進程的數(shù)據(jù)和控制信息的內(nèi)存區(qū)域堆棧區(qū): 存儲會話的變量、數(shù)組等的內(nèi)存空間(堆棧區(qū)保存變量信息)會話區(qū):如果不是MTS服務器,會話信息會保持在PGA中,如過是MTS服務器,會話信息保持在SGA中(會話區(qū)保存著用戶的權限等重要信息)排序區(qū):游標區(qū):當運行使用游標的語句時,Oracle數(shù)據(jù)庫系統(tǒng)會在程序緩存區(qū)中間為其分配一塊區(qū)域。這塊區(qū)域就叫做游標區(qū)。一般來說,采用游標的語句要比其他語句的執(zhí)行效率低一點。游標區(qū)是一個動態(tài)的區(qū)域,在游標打開時創(chuàng)建,關閉時釋放
5、。故在數(shù)據(jù)庫開發(fā)時,不要頻繁的打開和關閉游標可以提高游標操作的效率,改善數(shù)據(jù)庫的性能。例如,當一個用戶連接數(shù)據(jù)庫并調(diào)用SQL語句時,這條SQL語句對應的游標就將在PGA中創(chuàng)建一個運行時區(qū)域,注意,這個區(qū)域是私有的,只針對調(diào)用SQL的這個用戶進程。PGA就是所有服務器進程的邏輯集合。因此PGA和SGA有著質的不同。SGA用于在進程間共享信息,PGA則用于信息私有化。PGA的大小直接影響了性能,尤其針對會導致排序的SQL查詢。以下幾種情況需要提供足夠的PGA:導致排序的操作如 ORDER BY、GROUP BY、 ROLLUP等操作哈希連接位圖合并位圖創(chuàng)建批量數(shù)據(jù)裝載兩個PGA建議性能視圖:V$P
6、GA_TARGET_ADVICE和V$PGA_TARGET_ADVICE_HISTOGRAM當用戶需要對某些數(shù)據(jù)進行排序時,數(shù)據(jù)庫是如何處理的呢?首先,數(shù)據(jù)庫系統(tǒng)會將需要排序的數(shù)據(jù)保存到PGA程序緩存區(qū)中的一個排序區(qū)內(nèi)。然后再在這個排序區(qū)內(nèi)對這些數(shù)據(jù)進行排序。如需要排序的數(shù)據(jù)有2M,那么排序區(qū)內(nèi)必須至少要有2M的空間來容納這些數(shù)據(jù)。然后排序過程中又需要有2M的空間來保存排序后的數(shù)據(jù)。由于系統(tǒng)從內(nèi)存中讀取數(shù)據(jù)比從硬盤中讀取數(shù)據(jù)的速度要快幾千倍,如果這個排序的操作都能夠在內(nèi)存中完成,顯然這是很理想的。設置合理的PGA_aggregate_target的值來調(diào)整排序區(qū)的大小檢查點為什么要用檢查點?(
7、因為所有對數(shù)據(jù)的修改都是在塊緩沖區(qū)內(nèi)完成的,所以并非所有的修改都會反映到磁盤的數(shù)據(jù)塊上。而緩存又是按照LRU算法實現(xiàn)的,如果某個緩沖區(qū)一直被修改,那么他將一直被標記為最近使用,處于LRU列表的頂端,不會被DBWR寫回磁盤。)檢查點進程確保臟數(shù)據(jù)能夠最終被寫回磁盤。oralce使用ckpt或者lgwr進程來引發(fā)檢查點。檢查點通過定期將臟緩沖強制寫回的手段來確保這些緩沖區(qū)被寫回磁盤。但是并不是說檢查點期間其他工作都要停止。日志切換的時候會自動觸發(fā)檢查點。經(jīng)常執(zhí)行檢查點可以減少系統(tǒng)故障恢復時間。兩種檢查點運行方式:快速檢查點、標準檢查點標準檢查點:DBWR進程只是在每次激活的時候寫回少量的緩沖區(qū),執(zhí)
8、行時間稍長,但是對系統(tǒng)影響小。快速檢查點:DBWR進程每次激活時寫回大量的緩沖區(qū),系統(tǒng)運行更快,IO效率高,但是對系統(tǒng)的性能影響較大。MTTRFAST_START_MTTR_TARGET中的mttr就是mean time to recovery,定義數(shù)據(jù)庫進行crash恢復的時間,單位為秒。FAST_START_MTTR_TARGET=0啟用自動調(diào)整的檢查點它不直接影響checkpoint事件,而是當內(nèi)存中臟數(shù)據(jù)需要恢復時間estimated_mttr達到fast_start_mttr_target時,才觸發(fā)checkpoint。如何定義FAST_START_MTTR_TARGET參數(shù)值可查看
9、V$mttr_target_advice試圖的建議。TTR 顧問工具能夠統(tǒng)計 MTTR 造成的額外的物理寫入操作,從而協(xié)助用戶評估不同 MTTR 設置對系統(tǒng)性能的影響。MTTR 顧問工具啟用,且系統(tǒng)在正常負載下運行一段時間后,用戶可以查詢 V$MTTR_TARGET_ADVICE 視圖,獲得其他 MTTR 設置與當前 MTTR 設置下數(shù)據(jù)庫緩存寫入操作的比率后臺進程DBWR負責將臟數(shù)據(jù)塊從數(shù)據(jù)塊緩存(database block buffer)寫入磁盤。當一個事務修改數(shù)據(jù)塊中的數(shù)據(jù)后,不需要將數(shù)據(jù)塊立即寫回磁盤。DBWR通常定時寫回數(shù)據(jù),除非數(shù)據(jù)緩沖區(qū)需要清空。數(shù)據(jù)寫回時,采用最近最少使用(l
10、east-recently-used)的原則DBWR觸發(fā):出現(xiàn)檢查點臟數(shù)據(jù)緩沖區(qū)達到閥值沒有空閑緩沖區(qū)表空間offline狀態(tài)表空間read only狀態(tài)對表空間執(zhí)行begin backup對表執(zhí)行drop或者truncate出現(xiàn)超時執(zhí)行RAC ping請求后臺進程LGWR負責將日志緩沖區(qū)中的數(shù)據(jù)寫入到redo log。LGWR觸發(fā):commit1/3滿有1MB的redo每3秒DBWR寫之前后臺進程PMON負責監(jiān)視數(shù)據(jù)塊的處理情況,并負責清除死掉的進程。還負責重啟失敗的調(diào)度進程(dispatcher process)回退事務處理釋放鎖和其他資源后臺進程SMON負責在實例啟動時恢復實例、前滾日志
11、中的修改回退未提交的事務回收臨時空間還可以清除數(shù)據(jù)塊中的碎片(通過合并空閑區(qū)間的方式)打開數(shù)據(jù)庫供用戶訪問后臺進程ckpt負責向DBWR進程發(fā)送信號,要求執(zhí)行一次檢查點,并更新數(shù)據(jù)塊的所有數(shù)據(jù)文件的標頭和控制文件。檢查點:是由DBWR進程將所有修改過的數(shù)據(jù)緩沖區(qū)寫回數(shù)據(jù)文件,是可選的進程,如果沒有,則由LGWR代替后臺進程ARCHn負責將在線重做日志復制到歸檔存儲器。系統(tǒng)必須是歸檔模式,進程最多10個表連接- NESTED LOOP對于被連接的數(shù)據(jù)子集較小的情況,嵌套循環(huán)連接是個較好的選擇。在嵌套循環(huán)中,內(nèi)表被外表驅動,外表返回的每一行都要在內(nèi)表中檢索找到與它匹配的行,因此整個查詢返回的結果集
12、不能太大(大于1 萬不適合)要把返回子集較小表的作為外表(CBO 默認外表是驅動表),而且在內(nèi)表的連接字段上一定要有索引。Nested loop一般用在連接的表中有索引,并且索引選擇性較好的時候.USE_NL(table_name1 table_name2)表連接- HASH JOIN散列連接是CBO 做大數(shù)據(jù)集連接時的常用方式優(yōu)化器使用兩個表中較小的表(或數(shù)據(jù)源)利用連接鍵在內(nèi)存中建立散列表,然后掃描較大的表并探測散列表,找出與散列表匹配的行。這種方式適用于較小的表完全可以放于內(nèi)存中的情況,這樣總成本就是訪問兩個表的成本之和。但是在表很大的情況下并不能完全放入內(nèi)存,這時優(yōu)化器會將它分割成若干
13、不同的分區(qū),不能放入內(nèi)存的部分就把該分區(qū)寫入磁盤的臨時段,此時要有較大的臨時段從而盡量提高I/O 的性能。USE_HASH(table_name1 table_name2)表連接- SORT MERGE JOIN通常情況下散列連接的效果都比排序合并連接要好,然而如果行源已經(jīng)被排過序,在執(zhí)行排序合并連接時不需要再排序了,這時排序合并連接的性能會優(yōu)于散列連接。Sort Merge join 用在沒有索引,并且數(shù)據(jù)已經(jīng)排序的情況.USE_MERGE(table_name1 table_name2)表連接工作方式區(qū)別三種連接工作方式比較:Nested loops 工作方式是從一張表中讀取數(shù)據(jù),訪問另一
14、張表(通常是索引)來做匹配,nested loops適用的場合是當一個關聯(lián)表比較小的時候,效率會更高。Hash join的工作方式是將一個表(通常是小一點的那個表)做hash運算,將列數(shù)據(jù)存儲到hash列表中,從另一個表中抽取記錄,做hash運算,到hash 列表中找到相應的值,做匹配。Merge Join 是先將關聯(lián)表的關聯(lián)列各自做排序,然后從各自的排序表中抽取數(shù)據(jù),到另一個排序表中做匹配,因為merge join需要做更多的排序,所以消耗的資源更多。 通常來講,能夠使用merge join的地方,hash join都可以發(fā)揮更好的性能。CR Block(consistent read) b
15、locks 就是讀一致性塊ORACLE在三種條件下需要構造CR塊1)查詢時刻的SCN大于數(shù)據(jù)塊的COMMIT SCN,即SQL 游標被打開時的SCN大于數(shù)據(jù)庫上記錄的SCN。2)數(shù)據(jù)塊上存在LOCK3)閃回查詢。RDBA(Tablespace relative database block address)RDBA是相對數(shù)據(jù)塊地址,是數(shù)據(jù)字典(表空間及一些對象定義)所在塊的地址。當我們想要查找某個數(shù)據(jù)的時候,發(fā)現(xiàn)這個數(shù)據(jù)塊的版本比我們要查找的要新,那么我們只能從UNDO中去查找這個數(shù)據(jù)的前映像(PRE IMAGE),在回滾段中找到這個數(shù)據(jù)的前映像后,把前映像和CURRENT的數(shù)據(jù)塊合并,就形成
16、一個CR BLOCK,這樣,通過查詢CR BLOCK就可以得到一致性的數(shù)據(jù)了。這個CR BLOCK的生成不是在PGA里進行的,而是要在DB CACHE里申請一個數(shù)據(jù)塊,然后生成CR BLOCK。這個CR BLOCK創(chuàng)建后,如果下一回還要訪問這個版本的數(shù)據(jù)塊,那么就不需要創(chuàng)建新的CR BLOCK,而直接可以使用以前創(chuàng)建的CR BLOCK了。每創(chuàng)建一個CR BLOCK,CR BLOCKS CREATED計數(shù)器就會增加1。由于CR BLOCK和CURRENT BLOCK的RDBA都是相同的,因此它們會被放到相同的HASH鏈上。因此如果某些BLOCK的CR BLOCK的版本過多,也會導致BUFFER
17、CACHE CHAINS閂鎖競爭加劇。如果在生成CR BLOCK的過程中,發(fā)現(xiàn)UNDO中的PRE IMAGE由于提交的時間比較長,已經(jīng)被覆蓋,那么,就會出現(xiàn)著名的ORA-1555。如果單位時間內(nèi)CR BLOCKS CREATED較大,那么應該檢查系統(tǒng)的CPU資源是否出現(xiàn)瓶頸,另外要注意檢查BUFFER CACHE相關的閂鎖,是否存在競爭。索引oracle的標準索引結構是Btree結構,一個Btree結構由三種block組成根塊(root block):在Btree里有且只有一個block,所有訪問索引都從這開始,root block下有很多child blocks。分支塊(Branch blo
18、cks):這是中間層,branch block是沒有什么限制的,它是隨著leaf block的增加而增加的,branch block一般是4層,如果多于4層,就影響性能了。在我們刪除行時,branch block是不被刪除的。葉塊(leaf block):葉塊是最底層,上面存儲著索引條目和rowid索引和表數(shù)據(jù)是級聯(lián)關系的,當刪除表數(shù)據(jù)的時候,索引條目也會被自動刪除,這樣在index leaf block就會產(chǎn)生碎片,這也就是在OLTP系統(tǒng)上有大量更新的表上不建議創(chuàng)建大量的索引,很影響性能有的人說刪除過的索引條目空間不會被再用,因為在應用中不會再有insert相同的數(shù)據(jù)。其實這個說法不完全對的
19、,除了半空葉塊外,其他的刪除的索引空間是可被再利用的。索引建立的原則1、表的主鍵、外鍵必須有索引;2、數(shù)據(jù)量超過300的表應該有索引;3、經(jīng)常與其他表進行連接的表,在連接字段上應該建立索引;4、經(jīng)常出現(xiàn)在Where子句中的字段,特別是大表的字段,應該建立索引;5、索引應該建在選擇性高的字段上;6、索引應該建在小字段上,對于大的文本字段甚至超長字段,不要建索引;7、復合索引的建立需要進行仔細分析;盡量考慮用單字段索引代替:A、正確選擇復合索引中的主列字段,一般是選擇性較好的字段;B、復合索引的幾個字段是否經(jīng)常同時以AND方式出現(xiàn)在Where子句中?單字段查詢是否極少甚至沒有?如果是,則可以建立復
20、合索引;否則考慮單字段索引;C、如果復合索引中包含的字段經(jīng)常單獨出現(xiàn)在Where子句中,則分解為多個單字段索引;D、如果復合索引所包含的字段超過3個,那么仔細考慮其必要性,考慮減少復合的字段;E、如果既有單字段索引,又有這幾個字段上的復合索引,一般可以刪除復合索引;8、頻繁進行數(shù)據(jù)操作的表,不要建立太多的索引;9、刪除無用的索引,避免對執(zhí)行計劃造成負面影響;索引的集群因子就是通過一個索引訪問一個表需要掃描多少個數(shù)據(jù)塊。計算方法:1、掃描一個索引2、比較某行的rowid和前一行的rowid,如果這兩個rowid不屬于同一個數(shù)據(jù)塊,那么集群因子+13、整個索引掃描結束就得到集群因子數(shù)它反映的是索引
21、掃描可能會帶來的I/O開銷情況。如果集群因子接近表存儲的塊數(shù),說明這張表是按照索引的順序存儲的。如果集群因子接近行的數(shù)量,那么說明這張表不是按照索引字段順序存儲的。在計算索引訪問成本時,集群因子乘以選擇性參數(shù)就是訪問的開銷如果這個統(tǒng)計數(shù)據(jù)不能反映出索引的真實情況,那么可能會造成優(yōu)化器錯誤的選擇執(zhí)行計劃。另外如果某張表上的大多數(shù)訪問是按照某個索引做索引掃描,那么將該表的數(shù)據(jù)按照索引的字段重新組織,可以提高表的訪問性能死鎖死鎖處理是oracle鎖處理機制中的一個亮點。一般來說死鎖是難以避免的,除非在應用訪問的時候做了嚴格的定義,對事務訪問的數(shù)據(jù)源進行分級,按照級別訪問。由于在應用開發(fā)中避免死鎖十分
22、困難,索引絕大多數(shù)應用都是依靠oracle的死鎖處理機制來處理死鎖。oracle會自動進行死鎖檢測,一旦發(fā)現(xiàn)自動解開。應用程序可能碰到一個ora 60的錯誤,可能就是死鎖檢測機制起作用了。在rac環(huán)境下,要做全局的死鎖檢測,由LMD進程負責死鎖檢測。LMD進程檢測死鎖的周期由參數(shù)_lm_dd_interval確定,這個值默認是60sDLD(死鎖檢測)的時候需要持有parent enqueue hash chains閂鎖,因為DLD需要對每個資源進行一次檢查,查找那些從上回檢查過后狀態(tài)一直沒有變化的資源,才可能發(fā)現(xiàn)那些出現(xiàn)死鎖的資源。由于資源的數(shù)量問題,可能導致檢查的開銷比較大。出現(xiàn)系統(tǒng)hang
23、住的情況也是可能的。這時候解決方法是關閉轉儲?;貪L段oracle使用回滾段的特點:一個事務只使用一個回滾段來記錄所有的回滾記錄多個事務可以寫入相同的擴展擴展被循環(huán)使用,任何一個擴展都不會被跳過如果不能使用下一個擴展,oracle會分配一個新的擴展,并插入這個循環(huán)oracle不會使用被尾部占據(jù)的擴展oracle根據(jù)如下原則來選擇一個回滾段:oracle會選擇當前事務數(shù)最少的回滾段如果有兩個以上的回滾段內(nèi)當前有相同的事務數(shù),那么oracle會根據(jù)上一個事務使用的回滾段號,選擇比這個回滾段號大的下一個順位的回滾段。當前2,1和4待定,那么4被選擇。Db_name對一個數(shù)據(jù)庫(Oracle datab
24、ase)的唯一標識。這種表示對于單個數(shù)據(jù)庫是足夠的,但是隨著由多個數(shù)據(jù)庫構成的分布式數(shù)據(jù)庫的普及,這種命令數(shù)據(jù)庫的方法給數(shù)據(jù)庫的管理造成一定的負擔,因為各個數(shù)據(jù)庫的名字可能一樣,造成管理上的混亂。為了解決這種情況,引入了Db_domain參數(shù),這樣在數(shù)據(jù)庫的標識是由Db_name和Db_domain兩個參數(shù)共同決定的,避免了因為數(shù)據(jù)庫重名而造成管理上的混亂。這類似于互連網(wǎng)上的機器名的管理。我們將Db_name和Db_domain兩個參數(shù)用.連接起來,表示一個數(shù)據(jù)庫,并將該數(shù)據(jù)庫的名稱稱為Global_name,即它擴展了Db_name。Db_name參數(shù)只能由字母、數(shù)字、_、#、$組成,而且最
25、多8個字符。查看方式:show parameter db_name;Global_name對一個數(shù)據(jù)庫(Oracle database)的唯一標識,oracle建議用此種方法命令數(shù)據(jù)庫。該值是在創(chuàng)建數(shù)據(jù)庫是決定的,缺省值為Db_name. Db_domain。在以后對參數(shù)文件中Db_name與Db_domain參數(shù)的任何修改不影響Global_name的值,如果要修改Global_name,只能用ALTER DATABASERENAME GLOBAL_NAME TO db_name.db_domain。查看方式:showparameter global_name;Db_domain定義一個數(shù)據(jù)
26、庫所在的域,域只是為了更好的管理分布式oracle系統(tǒng)。查看方式:show parameter db_domain;Service_name該參數(shù)是oracle8i新引進的。在8i以前,我們用SID來表示標識數(shù)據(jù)庫的一個實例,但是在Oracle的并行環(huán)境中,一個數(shù)據(jù)庫對應多個實例,這樣就需要多個網(wǎng)絡服務名,設置繁瑣。為了方便并行環(huán)境中的設置,引進了Service_name參數(shù),該參數(shù)對應一個數(shù)據(jù)庫,而不是一個實例,而且該參數(shù)有許多其它的好處。該參數(shù)的缺省值為Db_name. Db_domain,即等于Global_name。一個數(shù)據(jù)庫可以對應多個Service_name,以便實現(xiàn)更靈活的配置。
27、該參數(shù)與SID沒有直接關系,即不必Service name 必須與SID一樣。查看方式:show parameter service_name;監(jiān)聽參數(shù)o LISTENER 指出一個監(jiān)聽器定義的起始點。它實際上是正被定義的當前監(jiān)聽器的名稱。默認的名稱是LISTENER。o DESCRIPTION 描述每個監(jiān)聽位置o ADDRESS_LIST 含有與監(jiān)聽器正在監(jiān)聽的那些位置有關的地址信息o PROTOCOL 指定用于本監(jiān)聽位置的協(xié)議o HOST 保存監(jiān)聽器所駐留在的那臺計算機的名稱o PORT 含有監(jiān)聽器正在上面監(jiān)聽的地址o SID_LIST_LISTENER 定義配置監(jiān)聽器所針對的ORACLE
28、服務的列表o GLOBAL_DBNAME 標識全局數(shù)據(jù)庫名稱。本項應該與當前Oracle服務的init.ora文件中的SERVICE_NAMES項一致o ORACLE_HOME 給出服務器上Oracle可執(zhí)行程序的位置o SID_NAME 含有用于本Oracle實例的Oracle SID的名稱o SID_LIST_LISTENER 定義配置監(jiān)聽器所針對的ORACLE服務的列表o Lsnrctl命令用來管理Oracle監(jiān)聽器,是一個命令行界面。想調(diào)用這個命令行工具,在命令行鍵入lsnrctl即可??梢栽贚SNRCTL提示符下鍵入help來顯示這些命令的一份清單。o Services 列舉出服務的
29、一個匯總表及為每個協(xié)議服務處理程序所建立和拒絕的連接信息個數(shù)o Start listener 啟動指定的監(jiān)聽器o Status listener 顯示指定監(jiān)聽器的狀態(tài)o Stop listener 關閉指定的監(jiān)聽器o Trace 打開監(jiān)聽器的跟蹤特性0-16o Version 顯示Oracle Net軟件與協(xié)議適配器的版本o Change_password 允許用戶修改關閉監(jiān)聽器所需要的密碼o Reload 重新讀取listener.ora文件,但不關閉監(jiān)聽器。如果該文件發(fā)生了變化,重新刷新監(jiān)聽器。o Save_config 當從lsnrctl工具中對listener.ora文件進行了修改時,
30、復制一個叫做listener.bak的listener.ora文件o Exit 退出lsnrctl實用工具o Quit 執(zhí)行和exit相同的功能Net service name網(wǎng)絡服務名,又可以稱為數(shù)據(jù)庫別名(database alias)。是客戶端程序訪問數(shù)據(jù)庫時所需要,屏蔽了客戶端如何連接到服務器端的細節(jié),實現(xiàn)了數(shù)據(jù)庫的位置透明的特性。查看方式:show parameter Net service name;recrusive callsrecrusive calls表示對recrusive SQL的調(diào)用次數(shù),這里的recrusive SQL可能專門是指對system表空間里的對象所做的遞
31、歸SQL。當數(shù)據(jù)字典信息已經(jīng)加載到dictionary cache以后,就不需要對硬盤上的system表空間做操作了,直接內(nèi)存操作。所以就不算到recrusive calls了行遷移和行連接行連接是指一個行存儲在多個塊中的情況,因為一個該行的長度超過了一個塊的可用空間大小。行遷移是指一個數(shù)據(jù)行不適合放入當前塊而被重新定位到另一個塊,但在原始塊中保留一個指針,原始塊中的指針是必需的兩者之間的區(qū)別: 行連接是指一個行存儲在多個塊中的情況,因為一個該行的長度超過了一個塊的可用空間大小。行遷移是指一個數(shù)據(jù)行不適合放入當前塊而被重新定位到另一個塊,但在原始塊中保留一個指針,原始塊中的指針是必需的,因為索
32、引的rowid項仍然指向原始位置.行連接通常與行的長度和oracle數(shù)據(jù)庫塊中的大小有關,而行遷移通常是當一個更新操作的長度增加且又要保持該行在同一塊中,而該塊又缺少可用空間時產(chǎn)生的問題,oracle在決定行連接之前先試圖進行行遷移。ROWID存儲了row在數(shù)據(jù)文件中的具體位置:64位編碼的數(shù)據(jù),A-Z, a-z, 0-9, +, 和 /,row在數(shù)據(jù)塊中的存儲方式SELECT ROWID, last_name FROM hr.employees WHERE department_id = 20;比如:OOOOOOFFFBBBBBBRRROOOOOO:data object number, 對
33、應dba_objects.data_object_idFFF:file#, 對應v$datafile.file#BBBBBB:block#RRR:row#Dbms_rowid包SELECT dbms_rowid.rowid_block_number(AAAGFqAABAAAIWEAAA) from dual;具體到特定的物理文件存儲raidRAID 0又稱為Stripe或Striping,它代表了所有RAID級別中最高的存儲性能。RAID 0提高存儲性能的原理是把連續(xù)的數(shù)據(jù)分散到多個磁盤上存取,這樣,系統(tǒng)有數(shù)據(jù)請求就可以被多個磁盤并行的執(zhí)行,每個磁盤執(zhí)行屬于它自己的那部分數(shù)據(jù)請求。這種數(shù)據(jù)上的
34、并行操作可以充分利用總線的帶寬,顯著提高磁盤整體存取性能RAID 1又稱為Mirror或Mirroring,它的宗旨是最大限度的保證用戶數(shù)據(jù)的可用性和可修復性。 RAID 1的操作方式是把用戶寫入硬盤的數(shù)據(jù)百分之百地自動復制到另外一個硬盤上。由于對存儲的數(shù)據(jù)進行百分之百的備份,在所有RAID級別中,RAID 1提供最高的數(shù)據(jù)安全保障。同樣,由于數(shù)據(jù)的百分之百備份,備份數(shù)據(jù)占了總存儲空間的一半,因而,Mirror的磁盤空間利用率低,存儲成本高。RAID 5 是一種存儲性能、數(shù)據(jù)安全和存儲成本兼顧的存儲解決方案。RAID 5不對存儲的數(shù)據(jù)進行備份,而是把數(shù)據(jù)和相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,并且奇偶校驗信息和相對應的數(shù)據(jù)分別存儲于不同的磁盤上。當RAID5的一個磁盤數(shù)據(jù)發(fā)生損壞后,利用剩下的數(shù)據(jù)和相應的奇偶校驗信息去恢復被損壞的數(shù)據(jù)。RAID0+1:正如其名字一樣RAID 0+1是RAID 0和RAID 1的組合形式,也稱為RAID 10。RAID 0+1是存儲性能和數(shù)據(jù)安全兼顧的方案。它在提供與RAID 1一樣的數(shù)據(jù)安全
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 砸墻恢復合同協(xié)議書
- 買車解除合同協(xié)議書范本
- 碼頭租賃建設合同協(xié)議書
- 關于合同協(xié)議書英語作文
- 凈菜加工設備合同協(xié)議書
- 合同部分終止協(xié)議書范本
- 美縫合作人合同協(xié)議書
- 合同解除協(xié)議書該不該簽
- 房屋終止合同協(xié)議書下載
- 鋼筋工合同分包協(xié)議書
- 《滑炒技法-滑炒雞絲菜肴制作》說課課件
- 減速機設備維修技術標準
- GB/T 26480-2011閥門的檢驗和試驗
- 中文版自殺可能量表
- 勞務實名制及農(nóng)民工工資支付管理考核試題及答案
- 裝飾藝術運動課件
- 【審計工作底稿模板】FH應付利息
- 工貿(mào)企業(yè)安全管理臺賬資料
- 三方協(xié)議書(消防)
- 預激綜合征臨床心電圖的當前觀點
- 閥門檢修作業(yè)指導書講解
評論
0/150
提交評論