国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > DB2 > 正文

學習筆記-DB2 UDB V8.1 管理 學習筆記(一)

2024-09-06 23:58:04
字體:
來源:轉載
供稿:網友
,歡迎訪問網頁設計愛好者web開發(fā)。
版權聲明: 本文可以任意轉載,轉載時請務必以超鏈接形式標明文章原始出處和作者信息。
原文出處: http://www.aiview.com/notes/db2_note.htm
作者: 張洋 alex_doesathotmail.com
最后更新: 2004-8-5
 目錄 參考資源
在db2中有關實例(instance), 數(shù)據(jù)庫(database),表空間(tablespace),容器(container)等概念:

在一個操作系統(tǒng)中,db2數(shù)據(jù)服務可以同時運行多個實例(有別于oracle在一個系統(tǒng)內只能起一個實例),數(shù)據(jù)庫定義在實例中,一個實例可以包含多個數(shù)據(jù)庫。在同一個實例中的不同數(shù)據(jù)庫是完全獨立的,分別擁有自己獨立的系統(tǒng)編目表。

表空間分為dms方式和sms(system manegement space)方式,定義在數(shù)據(jù)庫中,一個數(shù)據(jù)庫中必須存在兩個系統(tǒng)基本的表空間,分別是系統(tǒng)編目表空間(syscatspace)與系統(tǒng)臨時表空間(systempspace)。在數(shù)據(jù)庫中創(chuàng)建的任何對象都以在系統(tǒng)編目表空間中增加記錄的方式體現(xiàn),對于臨時表空間,其占用磁盤大小是根據(jù)使用情況動態(tài)伸縮的,即僅在需要時才分配磁盤空間,并在使用后進行回收。此外,若用戶需要創(chuàng)建表,則需要創(chuàng)建用戶表空間(userspace),若需要使用臨時表,則需要創(chuàng)建用戶臨時表空間(usertempspace)。

dms與sms類型在表空間建立時指定,建好后不能轉換。對于dms方式,一個表空間對應了一個或多個容器(container),容器指定了數(shù)據(jù)的物理存儲位置。對于sms方式,只能夠指定一個目錄,不能夠增加。

容器分為三種類型,前兩種是文件與設備,用于dms方式的表空間;還有一種是目錄,用于sms方式的表空間,此種方式不需要人工管理數(shù)據(jù)存儲文件,db2可根據(jù)情況在目錄中自動增加存儲文件,只要磁盤空間允許。實質上,表空間是數(shù)據(jù)存儲的邏輯位置定義,容器則是數(shù)據(jù)存儲的物理位置定義。


影響一個數(shù)據(jù)庫的性能主要有以下因素:磁盤(disk), 內存(memory), 處理器(cpu), 網絡(network)。其中以磁盤最為顯著,90%的性能瓶頸可能來自于磁盤的io競爭;其次是內存,一方面是指物理內存的總量要滿足需求,另一方面是指與內存相關的配置參數(shù)應正確配置;當然處理器的性能也很重要,多路cpu會對哪些依賴計算能力的復雜sql查詢起到顯著的效果;網絡不屬于主要因素,屬于客觀的環(huán)境因素,是指過慢的網速會對數(shù)據(jù)的傳輸造成影響。以下列出一些對于提高數(shù)據(jù)庫性能有效的方法:

對于運行數(shù)據(jù)庫服務的服務器可以盡可能的配置多塊物理磁盤,每塊的容量不必太大,這樣可以有效的分擔數(shù)據(jù)存儲與讀取操作過程的磁盤io競爭。即采用多塊小容量的磁盤在性能上要優(yōu)于僅采用一塊大容量的磁盤。

如果條件允許,盡量使數(shù)據(jù)存儲服務與操作系統(tǒng)分別運行在物理分開的磁盤上。

采用dms(database management space)管理方式的表空間。

在物理不同的磁盤上創(chuàng)建多個表空間。然后可以將數(shù)據(jù)和索引分別存放在不同的表空間,這樣可以顯著的提高性能。還可以把一個使用頻繁的大表縱向拆成多個小表,分別存放在不同的表空間中,然后用一個視圖進行聯(lián)合。

db2服務器可以管理裸設備,即除系統(tǒng)以及db2服務運行磁盤以外,為db2數(shù)據(jù)存放單獨準備磁盤,可以是多塊,分區(qū)后不需要格式化,創(chuàng)建裸設備后直接交給db2進行管理,用于存儲數(shù)據(jù)。

系統(tǒng)的臨時表空間對數(shù)據(jù)庫性能影響很大,當由管理的物理內存不能滿足數(shù)據(jù)庫操作的需要時,db2便會把臨時數(shù)據(jù)寫到磁盤上,這時便用到了系統(tǒng)臨時表空間,并且這種情況會經常發(fā)生。

盡量在磁盤靠近最內層磁道的位置安放數(shù)據(jù),因為此處磁盤的訪問速度較快。


db2的參數(shù)配置分為兩個級別,一個是實例級別,另一個是數(shù)據(jù)庫級別。對數(shù)據(jù)服務性能影響較大的參數(shù)主要在數(shù)據(jù)庫級別配置。以下是三個比較重要的內存配置參數(shù):

bufferpage: 由同一個數(shù)據(jù)庫中的所有對象共享。

sortheap: 用于排序的內存交換區(qū),非共享,不宜設置太大,否則,很容易引起內存耗盡,因為每一個事務都會申請獨立的內存用于排序。

locklist: 共享內存,用于記錄數(shù)據(jù)服務運行中建立的鎖。建議設置20mb左右,需要時根據(jù)實際情況進行調整。db2默認使用行級鎖,如果設置太小,當鎖的記錄太多時,則會導致內存不足,此時db2會把多個行鎖升級為一個表鎖,這樣就會大大降低應用程序的并發(fā)性能。如果設置太大,則多分配的內存很少會被用到,導致浪費。

其他的一些配置參數(shù):

numdb: 同時可以啟動的實例數(shù)目


db2的常用命令:

db2ilist 列出當前系統(tǒng)中定義的db2實例
daslist 列出系統(tǒng)中的das
db2 list database directory 列出當前實例中定義的數(shù)據(jù)庫
db2 list tablespaces 列出當前數(shù)據(jù)庫中定義的表空間
db2 list tabses [for all] 列出當前數(shù)據(jù)庫中的表
db2 list active db 列出活動的數(shù)據(jù)庫

db2 get dbm config
get db cfg for databasename
db2 update db cfg for databasename using bufferpage 600m
db2 alter bufferpool iabmdefaultbp size =1
db2 list applications show detail

以上命令可以在后面加 " show detail" 參數(shù),顯示詳細信息。


db2數(shù)據(jù)存儲的頁大小只能在表空間級別統(tǒng)一指定(區(qū)別于oracle,可以定義在表級別), 并且建好后不能修改。

可以手工建立一個頁大小為4k的dms用戶臨時表空間,然后把系統(tǒng)默認的sms系統(tǒng)臨時表空間刪除。為滿足應用需求,一般還應再建立一個頁大小在8k以上的用戶臨時表空間。

db2 udb v8.1 對redhat linux 9 的支持不好,默認情況下無法啟動gui安裝程序(可以通過設置環(huán)境ld_assume_kernel=2.2.5解決),并且不會安裝sample數(shù)據(jù)庫,控制中心也無法正常啟動。 


當使用count()函數(shù)時,如果表中的記錄數(shù) > 2 147 483 647行,則函數(shù)可能返回錯誤的結果,這時可以使用返回類型為decimal(31, 0)的count_big()函數(shù)。

distinct 關鍵字可以用在count()函數(shù)中,如:select count(distinct id) from table,這代表將不對id列的重復值進行計數(shù)。

order by子句后面如果寫了多個列名,需要分別指定升序或是降序。

可以在load大量數(shù)據(jù)時,暫時關閉表的日志選項。使用:alter table ... activate not logged initially

db2的幾個特殊寄存器:current date, current time, current timestamp, user(用戶id).

有關日期的操作:current timestamp + 2 days(or hours, seconds, months, years, etc.)

case 語句的使用:case when 條件一 then 動作一 else 動作二 end; 可以欠套使用。

在視圖的創(chuàng)建語句中無法使用order by 子句與 fetch n rows 子句。但對于order by可以用如下方法替代實現(xiàn),不過會影響效率。
create view v_name1(c1, c2, c3) as
select * from ( 
select column1, column2, column3
from t1
order by column1 ) as t1;



參考資源
學習筆記-db2 udb v8.1 管理 學習筆記(二)
學習筆記-db2 udb v8.1 管理 學習筆記(三)
ibm db2 開發(fā)者園地
http://www-900.ibm.com/developerworks/cn/dmdd/certify/index.shtml
ibm db2 信息中心
http://publib.boulder.ibm.com/infocenter/db2help/index.jsp
dbforums 論壇
http://dbforums.com/
《db2 udb v8.1 for linux, unix, windows 數(shù)據(jù)庫管理》george baklarz, bill wong 合著,機械工業(yè)出版社出版
《db2數(shù)據(jù)庫管理與應用教程》莊濟誠 著,清華大學出版社出版
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 凤山县| 灵丘县| 读书| 哈巴河县| 尼木县| 大新县| 泸定县| 安岳县| 长葛市| 古交市| 舟曲县| 丹江口市| 麦盖提县| 文水县| 肥西县| 兴隆县| 湖州市| 分宜县| 津南区| 昭通市| 福贡县| 锦屏县| 武城县| 手游| 马关县| 科技| 咸丰县| 当涂县| 织金县| 巴南区| 新竹县| 通化县| 商河县| 河池市| 桐乡市| 昭通市| 西贡区| 搜索| 汾西县| 罗田县| 合阳县|