大數據量數據庫解決方案_第1頁
大數據量數據庫解決方案_第2頁
大數據量數據庫解決方案_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上1 解決32G數據文件上限問題Oracle的默認數據塊大小為8k,導致oracle單個數據文件的上線是32G。我們可以通過增加新數據文件到表空間來擴充表空間容量。方法如下:1 新建表空間: CREATE TABLESPACE TBS_KK DATAFILE D:DEMOTBS_HIKVISION.DBF SIZE 30G;注意:TBS_KK為新建表空間名;DATAFILE為對應數據文件的絕對路徑,要求出最后的數據文件名之外的路徑必須在操作系統中存在,即oracle不會新建不存在的目錄;由于表空間是oracle存儲數據的邏輯單位,相當于windows的盤符概念,所以要求

2、在創建表空間時必須制定DATAFILE參數,即必須指定數據文件;數據文件大小原則上不許超過32G。2 指定系統默認表空間 ALTER DATABASE DEFAULT TABLESPACE TBS_HIKVISION;注意:執行該命令的用戶必須具有dba角色,并且表空間必須是已建表空間。執行了這條語句之后,用戶新建的表如無特殊指定,都會新建在制定TBS_HIKVISION表空間中。3 擴展表空間 有三種方法可以擴展表空間1) 增加數據文件ALTER TABLESPACE TBS_HIKVISION ADD DATAFILE D:DEMOUSER02.DBF SIZE 30G;2) 手工改變數據

3、文件大小 ALTER DATABASE DATAFILE D:DEMOUSER01.DBF RESIZE 20G;3) 設置數據文件自動擴展ALTER DATABASE DATAFILE D:DEMOUSER01.DBF AUTOEXTEND ON NEXT 10M MAXSIZE 30G;其中NEXT為每次擴展的步長,MAXSIZE為最大擴展容量。不建議采用此方法,因為如果數據量很大,也就是說正常運行oracle的壓力也是很大的,自動擴展不利于oracle的磁盤碎片整理,而且擴展時會降低其他oracle操作的速度。綜上,數據庫表空間容量問題可以解決。另外還有一種快速解決方法。Oracle推出

4、大容量表空間專門解決大數據量表的存儲問題,方法如下:CREATE BIGFILE TABLESPACE TBS_BIG_HIK DATAFILE D:DEMOBIG.DBF SIZE 32T;優點:顯著提高存儲能力,oracle對于一個大數據文件的使用效率要遠高于多個小數據文件的效率。缺點:只能包含一個數據文件(即要求操作系統一個盤符就要滿足數據文件容量,這會導致一些磁盤陣列上無法直接使用或導致一些盤符閑置)2 用分區表來優化table1和table2存儲:Table1和Table2表存儲大量數據,并且這兩個幾乎不會出現delete和update,而insert量特別大。針對這個特點,可以采用

5、以下幾個方法優化。分區表空間是Oracle專門針對大數據量數據庫應用的解決方案,可分為范圍分區、散列分區、列表分區、組合分區四種。其中范圍分區比較適合我們的應用,范圍分區會把表的數據按照不同范圍進行劃分來存儲,這樣不同范圍的數據會比較均衡,并且利于檢索。我們可以把過車時間按照節點來劃分:ALTER SESSION SET NLS_DATE_LANGUAGE = AMERICAN;ALTER SESSION SET NLS_TIMESTAMP_FORMAT = YYYY-MM-DD HH24:MI:SS.FF;create table TABLE1( VEHICLELSH INTEGER not

6、 null, PASSTIME timestamp(3), primary key (PASSTIME,VEHICLELSH)PARTITION BY RANGE(sales_date)( PARTITION p1 VALUES LESS THAN (2010-1-1 00:00:00.00) TABLESPACE USER01,PARTITION p2 VALUES LESS THAN (2010-2-1 00:00:00.00) TABLESPACE USER02,PARTITION p3 VALUES LESS THAN (2010-3-1 00:00:00.00) TABLESPACE

7、 USER03,PARTITION p4 VALUES LESS THAN (2010-4-1 00:00:00.00) TABLESPACE USER04,);這樣,在insert新數據的時候,速度并不會受分區表的影響,而在按時間查詢過車信息時,對大大降低數據庫的I/O次數。而在應用程序上,所有SQL語句不需要做任何修改。同樣,可以給分區表簡歷分區索引,簡歷分區索引時,會為索引的每一個分區簡歷相應的分區段。方法如下:CREATE INDEX IND_VEH_PASSTIME ON TABLE1(PASSTIME) LOCAL;如果不加LOCAL,oracle會建立為全局索引,那樣不會節省查詢

8、時間。同樣table2也可以采用這種方法來優化。3設置數據塊參數如果pctfree和pctused參數設置不當,會大大降低數據庫的效率。我們的table1和table2屬于經常增加表記錄(insert),但不經常修改原有記錄的表(update),建議將pctused設置為80,pctfree設置為10,這樣有利于存儲空間的充分利用。4 創建專用臨時表空間當執行排序操作時,服務器進程首先將臨時數據放在PGA中,當PGA不足以容納將要排序的臨時數據時,服務器進程會建立臨時段,并將這些臨時數據存放到臨時段中。系統沒有指定臨時表空間,系統默認臨時表空間很難容納臨時數據,當數據量上百萬時,排序操作十分緩慢,需要24秒。Oracle推薦使用本地管理表空間的模式,下面是建立臨時表空間方法:CREATE TEMPORARY TABLESPACE TEMP_KAKOU TEMPFILE 'D:IVM

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論