欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

如何保持Oracle數據庫優良性能

系統 2557 0

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

一、分區

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

  1.建立分區表   

      
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> 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依據DeptNo列進行分區。   

  2.分區索引   

      
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> 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,   );

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

  3.分區管理

  根據實際需要,還可以使用Alter table命令來增加、刪除、交換、移動、修改、重命名、劃分、截短一個已存在分區的結構。

二、重建索引

  如果表中記錄頻繁地被刪除或插入,盡管表中的記錄總量保持不變,索引空間的使用量會不斷增加。雖然記錄從索引中被刪除,但是該記錄索引項的使用空間不能被重新使用。因此,如果表變化不定,索引空間量會不斷增加,不論表中記錄數量是否增加,只是因為索引中無效空間會增加。

  要回收那些曾被刪除記錄使用的空間,需要使用Alter index rebuild命令??梢宰鲆粋€定期運行的批處理程序,來重建最活動表的索引。這個批處理程序可以在空閑時運行,以避免該程序與其他應用程序沖突。若能堅持索引的這一程序規劃,便可以及時回收那些未使用空間,提高空間利用率?! ?

三、段的碎片整理

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

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

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

  若一個段的碎片過多,可用兩種方法解決:

  1. 用正確的存儲參數建立一個新表,將舊表中的數據插入到新表中,再刪除舊表;

  2. 利用Export/Import工具。   

  如:exp system/manager file=exp.dmpcompress=Y grants=Y indexes=Y

  tables=(T1,T2)

  若輸出成功,進入Oracle,刪除上述表。

  注:compress=Y表示將在輸出過程中修改它們的存儲參數。

  imp system/manager file=exp.dmp commit=Y buffer=64000 full=Y   

四、自由范圍的碎片整理

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

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

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

如何保持Oracle數據庫優良性能


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品久久婷婷六月丁香 | 国产 日韩 欧美 在线 | 午夜精品老牛av一区二区三区 | 成人久久一区 | 久久久久91 | 羞羞答答www网站进入 | 三级三级三级a三级三级 | 国产精品久久婷婷六月丁香 | 男人阁久久| 22eee在线播放成人免费视频 | 亚洲精品一区二区三区福利 | 中文字幕精品一区二区三区精品 | 国产精品天天干 | 欧美一a一片一级一片 | 成人午夜18免费看 | 福利网在线| 精品在线播放 | 羞羞的小视频 | 色天天天天综合男人的天堂 | 久久亚 | 在线观看免费视频日韩 | 亚洲精品国产精品乱码不97 | 国产精品亚洲精品青青青 | 2022国内精品免费福利视频 | 中国在线播放精品区 | 成人国产激情福利久久精品 | 亚洲天堂在线播放 | 日本高清免费在线视频 | 国产无圣光高清一区二区 | 色综合伊人色综合网亚洲欧洲 | 亚洲精品综合网 | 日韩欧美一区二区三区在线 | 亚洲国产日韩在线一区 | 欧美精品二区三区 | 天天摸天天操免费播放小视频 | 日韩亚洲一区二区三区 | 91中文字幕在线观看 | 99视频在线精品 | 一级片免费在线观看 | 狠狠干天天干 | 日本高清视频www夜色资源网 |