• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            tbwshc

            tbw

              C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
              95 Posts :: 8 Stories :: 3 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(4)

            我參與的團隊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            Oracle數(shù)據(jù)庫以其高可靠性、安全性、可兼容性,得到越來越多的企業(yè)的青睞。如何使Oracle數(shù)據(jù)庫保持優(yōu)良性能,這是許多數(shù)據(jù)庫管理員關(guān)心的問題,根據(jù)筆者經(jīng)驗建議不妨針對以下幾個方面加以考慮。

            一、分區(qū)

            根據(jù)實際經(jīng)驗,在一個大數(shù)據(jù)庫中,數(shù)據(jù)空間的絕大多數(shù)是被少量的表所占有。為了簡化大型數(shù)據(jù)庫的管理,改善應(yīng)用的查詢性能,一般可以使用分區(qū)這種手段。所謂分區(qū)就是動態(tài)表中的記錄分離到若干不同的表空間上,使數(shù)據(jù)在物理上被分割開來,便于維護、備份、恢復(fù)、事務(wù)及查詢性能。當(dāng)使用的時候可建立一個連接所有分區(qū)的視圖,使其在邏輯上仍以一個整體出現(xiàn)。

            1.建立分區(qū)表
            Create table Employee(
            EmpNo varchar2(10) primary key,
            Name varchar2(30),
            DeptNo Number(2)

            Partition by range(DeptNo)
            (partition PART1 values less than (11)
            tablespace PART1_TS,
            partition PART2 values less than(21)
            tablespace PART2_TS,
            partition PART3 valuse less than(31)
            tablespace PART3_TS
            partition PART4 values less than(MAXVALUE)
            tablespace PART4_TS
            );

            表Employee依據(jù)DeptNo列進行分區(qū)。

            2.分區(qū)索引
            Create index Employee_DeptNo on Employee (DeptNo)local(
            partition PART1 tablespace PART1_NDX_TS,
            partition PART2 tablespace PART2_NDX_TS,
            partition PART3 tablespace PART3_NDX_TS,
            partition PART4 tablespace PART4_NDX_TS,
            );

            當(dāng)分區(qū)中出現(xiàn)許多事務(wù)并且要保證所有分區(qū)中的數(shù)據(jù)記錄的惟一性時采用全局索引,在建立全局索引時,Global子句允許指定索引的范圍值,這個范圍值可以不同于表分區(qū)的范圍值。只有建立局部索引才會使索引分區(qū)與表分區(qū)間建立起一一對應(yīng)關(guān)系。因此,在大多數(shù)情況下,應(yīng)該使用局部索引分區(qū)。若使用了此索引,分區(qū)就能夠很容易地將索引分區(qū)與表分區(qū)建立關(guān)聯(lián),局部索引比全局索引更易于管理。

            3.分區(qū)管理
            根據(jù)實際需要,還可以使用Alter table命令來增加、刪除、交換、移動、修改、重命名、劃分、截短一個已存在分區(qū)的結(jié)構(gòu)。

            二、重建索引

            如果表中記錄頻繁地被刪除或插入,盡管表中的記錄總量保持不變,索引空間的使用量會不斷增加。雖然記錄從索引中被刪除,但是該記錄索引項的使用空間不能被重新使用。因此,如果表變化不定,索引空間量會不斷增加,不論表中記錄數(shù)量是否增加,只是因為索引中無效空間會增加。
            要回收那些曾被刪除記錄使用的空間,需要使用Alter index rebuild命令。可以做一個定期運行的批處理程序,來重建最活動表的索引。這個批處理程序可以在空閑時運行,以避免該程序與其他應(yīng)用程序沖突。若能堅持索引的這一程序規(guī)劃,便可以及時回收那些未使用空間,提高空間利用率。

            三、段的碎片整理

            當(dāng)生成一個數(shù)據(jù)庫對象時(一個表或一個索引),通過用戶缺省值或指定值來為它指定表空間。一個在表空間中生成的段,用于存儲對象的相關(guān)數(shù)據(jù)。在段被關(guān)閉、收縮、截斷之前,段所分配的空間將不被釋放。

            一個段是由范圍組成,而范圍是由相鄰的Oracle塊組成。一旦存在的范圍不能再存儲新的數(shù)據(jù),這個段就會去獲得新的范圍,但并不要求這些范圍是彼此相鄰的。這樣的擴展會一直繼續(xù)下去,直到表空間中的數(shù)據(jù)文件不能提供更多的自由空間,或者范圍數(shù)量已達到極限。

            因此,一個碎片太多的數(shù)據(jù)段,不僅會影響運行,也會引發(fā)表空間中的空間管理問題。所以,每個數(shù)據(jù)段只含有一個范圍是十分有益的。借助監(jiān)控系統(tǒng),可以通過檢查DBA_SEGMENTS數(shù)據(jù)字典視圖來了解哪些數(shù)據(jù)庫對象含有10個或更多范圍的段,確定其數(shù)據(jù)段碎片。

            若一個段的碎片過多,可用兩種方法解決:
            1. 用正確的存儲參數(shù)建立一個新表,將舊表的數(shù)據(jù)插入到新表中,在刪除舊表;
            2. 利用Export/Import工具。

            如:exp system/manager file=exp.dmpcompress=Y grants=Y indexes=Y
            tables=(T1,T2)
            若輸出成功,進入Oracle,刪除上述表。
            注:compress=Y表示將在輸出過程中修改它們的存儲參數(shù)。
            imp system/manager file=exp.dmp commit=Y buffer=64000 full=Y

            四、自由范圍的碎片整理

            表空間中的一個自由范圍是表空間中相連的自由(空間)塊的集合。當(dāng)一個段關(guān)閉時tb,它的范圍將被釋放,并被標(biāo)記為自由范圍。然而,這些自由范圍再也不能與相鄰的自由范圍合并,它們之間的界線始終存在。但是當(dāng)表空間的缺省值pctincrease設(shè)置不是0時,SMON后臺進程會定期將這些相鄰的自由范圍合作。若pctincrease設(shè)置為0,那么相鄰自由范圍不會被數(shù)據(jù)庫自動合并。但可以使用Alter table命令"coalesce"選項,來強迫進行相鄰自由范圍的合并。

            不進行自由范圍合并,在日后的空間請求中,會影響到表空間中的空間分配。當(dāng)需要一個足夠大的范圍時,數(shù)據(jù)庫并不會合并相鄰的自由范圍,除非沒有其他選擇。這樣,當(dāng)表空間中前面較小的自由范圍已被使用時,將使用表空間中后面部分最大的一個自由范圍。結(jié)果,會因為沒有足夠多的使用空間,從而導(dǎo)致表空間需求的矛盾。由于這樣的情況出現(xiàn),使數(shù)據(jù)庫的空間分配距理想越來越遠。自由空間碎片常會出現(xiàn)在那些經(jīng)常關(guān)閉又重新生成的數(shù)據(jù)庫表和索引中。

            在理想的Oracle表空間中,每一個數(shù)據(jù)庫對象存儲在一個單獨的范圍中,并且所有有效自由空間集中在一個巨大而連續(xù)的范圍中。這樣,在一個對象需要附加存儲空間時,可以在增加獲取足夠大自由空間的可能性的同時,最小化空間中的循環(huán)調(diào)用,提高自由空間使用率。


            posted on 2012-08-04 13:23 tbwshc 閱讀(773) 評論(0)  編輯 收藏 引用
            国产精品久久久99| 色综合久久无码五十路人妻| 热99re久久国超精品首页| 亚洲一本综合久久| 久久精品18| 久久久久久久人妻无码中文字幕爆 | 国内精品久久久久影院一蜜桃 | 久久精品国产亚洲AV嫖农村妇女| 国内精品久久久久| 99久久国产亚洲综合精品| 国产精品一区二区久久| 国内精品久久久久影院亚洲| 精品精品国产自在久久高清| 99久久做夜夜爱天天做精品| 99久久国产综合精品五月天喷水| 亚洲国产成人久久精品99| 青青国产成人久久91网| 久久久久女人精品毛片| 婷婷国产天堂久久综合五月| 一级做a爰片久久毛片16| 亚洲AV日韩AV天堂久久| 久久综合五月丁香久久激情| AAA级久久久精品无码区| 国产精品久久久久国产A级| 久久精品日日躁夜夜躁欧美| 久久综合五月丁香久久激情| 香蕉久久一区二区不卡无毒影院| 久久久久久午夜成人影院| 国产激情久久久久久熟女老人| 亚洲国产成人精品无码久久久久久综合| 九九精品99久久久香蕉| 久久综合给合久久狠狠狠97色| 亚洲精品午夜国产va久久| 久久久噜噜噜久久中文字幕色伊伊| 久久狠狠色狠狠色综合| 曰曰摸天天摸人人看久久久| WWW婷婷AV久久久影片| 丰满少妇人妻久久久久久| 99久久精品国内| 国内精品免费久久影院| 欧美亚洲另类久久综合婷婷 |