DB2基礎知識

1.        新加一個數據庫實例

  db2icrt [-a AuthType]

            [-p PortName]

            [-s InstType]                          

            [-w WordWidth]

         -u FencedID InstName

-a AuthType is the authentication type (SERVER, CLIENT, or SERVER_ENCRYPT) for the instance. 

-p PortName is the port name or port number to be used by this   instance. 

-s InstType is the type of instance to be created (wse, ese, or  client). 

-u FencedID is the name of the user under which fenced UDFs and  fenced stored procedures will be run.  This flag is not required  if only a DB2 client is installed. 

-w WordWidth is the width, in bits, of the instance to be  created (31, 32 or 64).  You must have the requisite version of   DB2 installed (31-bit, 32-bit or 64-bit) for this to work. The    default width value is the lowest bit width supported by the current version of DB2, the platform, and the instance type. 

   示例:

# cd /usr/opt/db2_08_01/instance

# ./db2icrt -w 64  -u db2inst2 db2inst2

              其他:

              Db2start:啓動實例

              Db2stop:停止實例。

Db2icrt:創建實例。

Db2ilist:列出系統上可用的所有實例。

Db2 get instance:確定適用於當前對話的實例。

Set db2instance=<new_instance_name>:設置當前實例。

Db2iupdt  InstName:更新實例配置。

DB2DIR/instance/db2iupdt -w 64 db2inst1

Db2idrop <instance_name>:刪除實例。

Db2iauto –on <instance_name>:允許一個實例在每次系統重新啓動後自動啓動。

              Db2iauto –off <instance_name>:阻止一個實例在每次系統重新啓動後自動啓動。

              Db2set:設置環境變量。

2.        修改新加的INSTANCE的屬性

設置DB2CODEPAGE1386

$ db2set DB2CODEPAGE=1386

DB2COUNTRY=86

DB2COMM=tcpip

DB2CODEPAGE=1386

DB2AUTOSTART=YES

3.        啓停數據庫INSTANCE

Db2start:啓動實例

       Db2stop:停止實例。

4.        數據庫的建立、修改、刪除

數據庫的建立:

示例1CREATE DATABASE newdb USING CODESET GBK TERRITORY CN

示例2

CREATE DATABASE coredb ON '/home/db2fex/db2ifex/db' ALIAS coredb USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM CATALOG TABLESPACE  MANAGED BY DATABASE USING ( DEVICE '/dev/rLVDBWHBPRD03' 258048 )  USER TABLESPACE  MANAGED BY DATABASE USING ( DEVICE '/dev/rLVDBWHBPRD02' 7680000 )  TEMPORARY TABLESPACE  MANAGED BY DATABASE USING ( DEVICE '/dev/rLVDBWHBPRD04' 258048 ) ;

       數據庫的修改:

       db2 get db cfg for <db_name>

       update db cfg for coredb using newlogpath '/home/db2fex/db2ifex/log';

update db cfg for coredb using mirrorlogpath '/home/db2fex/db2ifex/sys';

update db cfg for coredb using LOGARCHMETH1 "disk:/home/db2fexarclog";

       數據庫的刪除

       Drop database <db_name>

5.        使用CATALOG配置數據庫的連接

catalog tcpip node n140 remote 182.248.24.140 server 60000;

catalog database coredb at node n140;

6.        DB2 LIST的使用

查看數據庫的所有連接:

Db2 list applications [show detail]

7.        DB2 FORCE的使用

切斷所有數據庫應用連接:

Db2 force applications all

8.        CREATE TABLESPACE命令的使用

建立一個名爲NEWTABLESPACE的表空間:

CREATE REGULAR TABLESPACE NEWTABLESPACE Pe'<*B0O    MANAGED BY DATABASE  USING (FILE 'inv_ts.dat' 1024M)  EXTENTSIZE 16

創建臨時表空間:

CREATE USER TEMPORARY TABLESPACE STMASPACE  PAGESIZE 32 K MANAGED BY DATABASE USING (FILE 'D:/DB2_TAB/STMASPACE.F1' 10000)  EXTENTSIZE 256

創建表空間:STMA

CREATE  REGULAR TABLESPACE STMA PAGESIZE 8 K  MANAGED BY SYSTEM  USING ('D:/DB2Container/Stma' ) EXTENTSIZE 8 OVERHEAD 10.5 PREFETCHSIZE 8 TRANSFERRATE 0.14 BUFFERPOOL  STMABMP  DROPPED TABLE RECOVERY OFF

創建系統表空間:

CREATE REGULAR TABLESPACE SYSCATSPACE
   
IN IBMCATGROUP
    PAGESIZE 4096
    MANAGED
BY SYSTEM
   
USING( 'D: /DB2/NODE0000/SQL00001/SQLT0000.0' )
    EXTENTSIZE 32
    PREFETCHSIZE 16
   
BUFFERPOOL IBMDEFAULTBP
    OVERHEAD 24.10
    TRANSFERRATE 0.90
    DROPPED
TABLE RECOVERY OFF
;

創建用戶表空間:

CREATE REGULAR TABLESPACE USERSPACE1
    I
N IBMDEFAULTGROUP
    PAGESIZE 4096
    MANAGED
BY SYSTEM
   
USING( ' D: /DB2/NODE0000/SQL00001/SQLT0002.0' )
    EXTENTSIZE 32
    PREFETCHSIZE 16
   
BUFFERPOOL IBMDEFAULTBP
    OVERHEAD 24.10
    TRANSFERRATE 0.90
    DROPPED
TABLE RECOVERY ON
;
GRANT USE OF TABLESPACE USERSPACE1 TO PUBLIC
;
創建臨時表空間:

CREATE TEMPORARY TABLESPACE TEMPSPACE1
    I
N IBMTEMPGROUP
    PAGESIZE 4096
    MANAGED
BY SYSTEM
   
USING(D: /DB2/NODE0000/SQL00001/SQLT0001.0' )
    EXTENTSIZE 32
    PREFETCHSIZE 16
   
BUFFERPOOL IBMDEFAULTBP
    OVERHEAD 24.10
    TRANSFERRATE 0.90
;

CREATE REGULAR TABLESPACE "mytesttbs"
   
IN IBMDEFAULTGROUP
    PAGESIZE 4096
    MANAGED
BY DATABASE
   
USING( FILE 'D:/DB2/mytesttbs' 10240,
           FILE
'D:/db2/mytesttbs2' 5120 )
    EXTENTSIZE 32
    PREFETCHSIZE 32
   
BUFFERPOOL IBMDEFAULTBP
    OVERHEAD 25.00
    TRANSFERRATE 1.00
    DROPPED
TABLE RECOVERY ON
;
GRANT USE OF TABLESPACE "mytesttbs" TO USER LYLF615 WITH GRANT OPTION
;
ALTER TABLESPACE "mytesttbs" EXTEND
( FILE
'D:/DB2/mytesttbs' 5120 ) ON NODE (0)
;     

 

修改表空間大小:

Alter tablespace syscatspace resize (device ‘/dev/rLVDBWHBPRD03’ 258048)

 

9.        數據庫表的建立、修改、刪除

CREATE TABLE LYLF615."ot_test"
(   
"id"   INTEGER     NOT NULL GENERATED ALWAYS AS IDENTITY ( START WITH 1, INCREMENT BY 1, NO CYCLE, CACHE 20 ),
   
"name" VARCHAR(10)

PRIMARY KEY ("id")
)
   
IN "mytesttbs"
   
INDEX IN "mytesttbs"
;
ALTER TABLE LYLF615."ot_test" DATA CAPTURE NONE;
ALTER TABLE LYLF615."ot_test" NOT VOLATILE;
ALTER TABLE LYLF615."ot_test" APPEND OFF;
ALTER TABLE LYLF615."ot_test" LOCKSIZE ROW;
ALTER TABLE LYLF615."ot_test" ADD PRIMARY KEY ("id");

ALTER TABLE LYLF615."ot_test" ADD "org_id" INTEGER;

10.    數據庫表字段的定義

CREATE TABLE ot_test_org
(
    org_id    
INTEGER not null,
    org_name  
VARCHAR(10),
  
   
PRIMARY KEY (org_id)
)
   
IN "mytesttbs"
;

11.    索引、主外鍵的建立、修改、刪除

ALTER TABLE LYLF615."ot_test" ADD CONSTRAINT FK_ORG_ID
FOREIGN KEY ("org_id")
REFERENCES LYLF615.OT_TEST_ORG (ORG_ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;

ALTER TABLE LYLF615."ot_test" DROP CONSTRAINT FK_ORG_ID;
ALTER TABLE LYLF615."ot_test" ADD CONSTRAINT FK_ORG_ID
FOREIGN KEY ("org_id")
REFERENCES LYLF615.OT_TEST_ORG (ORG_ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;

CREATE <UNIQUE> INDEX <index name> ON <table name>
(
column 1 <ASC | DESC> ,
column 2 <ASC | DESC> ...
)
UNIQUE
屬性告訴 DB2,索引必須強制所有插入值的唯一性。
如果結果集是以升序和降序兩種方式排序的,ALLOW REVERSE SCANS 會告訴 DB2 在索引中包括附加的指針,以允許在記錄中有效地進行正向和反向鏈接。
DB2
能夠向正在創建的索引中添加另外的列。CREATE INDEX 命令允許用戶指定那些不屬於實際索引但因爲性能原因而保存在索引記錄中的列。 
CREATE UNIQUE INDEX ON EMPLOYEE (EMPNO) INCLUDE (LASTNAME,FIRSTNAME)
對於索引中包含的列而言,索引必須是 UNIQUE 的。當創建索引時,另外的列被添加到索引值中。索引不使用這些值進行排序或確定唯一性,但可以在滿足 SQL 查詢時使用它們。例如,下列 SELECT 語句將不需要讀取實際數據行:
SELECT LASTNAME, FIRSTNAME FROM EMPLOYEE WHERE EMPNO < '000300'
要在表上創建羣集索引,將 CLUSTER 關鍵字附加到 CREATE INDEX 命令的末尾,例如: 
CREATE INDEX DEPTS-IX ON EMPLOYEE(WORKDEPT) CLUSTER
使用下列通用規則來決定爲表定義的索引的經典數量。索引數量取決於數據庫的主要用途:
對於在線事務處理(OLTP)環境,創建一到兩個索引。 
對於混合查詢和 OLTP 環境,創建兩到五個索引。 
對於只讀查詢環境,創建五個以上索引。

create unique index newindx on newtable(no) include (value);

describe indexes for table newtable show detail;

drop index newindx

12.    視圖的建立、修改、刪除

CREATE VIEW LYLF615."ot_test_view" AS    SELECT *        FROM OT_TEST_ORG      WHERE org_id=1

CREATE VIEW LYLF615."test_view1" AS
   
SELECT id,cname,a.org_id,b.org_name
      
FROM ot_test a, ot_test_org b
    
WHERE a.org_id=b.org_id

視圖唯一能修改的是引用類型列,改變列的範圍。其他定義好了都不能修改。當視圖基於的基表drop後,視圖變爲無效。

13.    表關聯(關聯、外連接)

Union

――交集運算:INTERSECTINTERSECT ALL

SELECT * FROM AA_WEEK X WHERE X.CODE IN (1,2,3) -- 集合A

INTERSECT -- 集合B

SELECT * FROM AA_WEEK X WHERE X.CODE IN (2,3,4);

---------------------------------

2 'Tuesday' 'Tues'

3 'Wednesday' 'Wed'

說明:INTERSECTINTERSECT ALL是等效的。

    ――差集運算:EXCEPTEXCEPT ALL

SELECT * FROM AA_WEEK X WHERE X.CODE IN (1,2,3) -- 集合A

EXCEPT -- 集合B

SELECT * FROM AA_WEEK w WHERE w.CODE IN (2,3,4);

說明:EXCEPTEXCEPT ALL是等效的。

---------------------------------

1 'Monday' 'Mon'

       ――合集運算:UNIONUNION ALL

n       求合集:A+B(不消除重複行)

SELECT * FROM AA_WEEK X WHERE X.CODE IN (1,2,3) -- 集合A

UNION ALL -- 集合B

SELECT * FROM AA_WEEK X WHERE X.CODE IN (2,3,4);

n       求合集:A+B(消除重複行)

SELECT * FROM AA_WEEK X WHERE X.CODE IN (1,2,3) -- 集合A

UNION -- 集合B

SELECT * FROM AA_WEEK X WHERE X.CODE IN (2,3,4);

---------------------------------

       Join

n       內連接:inner join在兩表共有的行纔會輸出,內連接沒有左右之分。

              select * from t1 inner join t2 on t1.c3=t2.c1

n      左外連接:left outer join左連接保留前面表的所有記錄,後表中沒有的補null

select * from t1 left outer join t2 on t1.c3=t2.c1

n      右外連接:right outer join右連接保留後表的所有記錄,前表中沒有的補null。在DB2的內部機制中,會把右外連接重寫成左外連接.故我們在寫sql語句時儘量使用左外連接。

select * from t1 right outer join t2 on t1.c3=t2.c1

n      全外連接:full outer join全外連接會輸出兩表的所有的數據,包括內連接和左外連接和右外連接的行。

select * from t1 full outer join t2 on t1.c3=t2.c1

n      總結:內連接,全有才有;左外連接,左有就有;右外連接,右有就有;全外連接,全都有。

14.    檢查LOCKTIMEOUT 的值

The default value for LOCKTIMEOUT is -1, which means that there will be no lock timeouts - a situation that can be catastrophic for OLTP applications. Nevertheless, I all too frequently find many DB2 users with LOCKTIMEOUT = -1. Set LOCKTIMEOUT to a very short value, such as 10 or 15 seconds. Waiting on locks for extended periods of time can have an avalanche effect on locks.

First, check the value of LOCKTIMEOUT with this command:

db2 "get db cfg for DBNAME"

 

and look for the line containing this text:

Lock timeout (sec) (LOCKTIMEOUT) = -1

 

If the value is -1, consider changing it to 15 seconds by using the following command (be sure to consult with the application developers or your vendor first to make sure the application is prepared to handle lock timeouts):

db2 "update db cfg for DBNAME using LOCKTIMEOUT 15"

 

You should also monitor the number of lock waits, lock wait time, and amount of lock list memory in use. Issue the command:

db2 "get snapshot for database on DBNAME"

 

Look for the following lines:

Locks held currently= 0  

Lock waits= 0  

Time database waited on locks (ms)= 0  

Lock list memory in use (Bytes)= 576  

Deadlocks detected= 0  

Lock escalations= 0  

Exclusive lock escalations= 0  

Agents currently waiting on locks= 0  

Lock Timeouts= 0

 

If the Lock list memory in use (Bytes) exceeds 50 percent of the defined LOCKLIST size, then increase the number of 4K pages in the LOCKLIST database configuration.

15.    計算本開發環境中BUFFER的命中率

緩衝池是內存中的一塊存儲區域,用於臨時讀入和更改數據庫頁(包含錶行或索引項)。緩衝池的用途是爲了提高數據庫系統的性能。從內存訪問數據要比從磁盤訪問數據快得多。因此,數據庫管理器需要從磁盤讀取或寫入磁盤的次數越少,性能就越好。對一個或多個緩衝池進行配置之所以是調優的最重要方面,是因爲連接至數據庫的應用程序的大多數數據(不包括大對象和長字段數據)操作都在緩衝池中進行。 缺省情況下,應用程序使用緩衝池 IBMDEFAULTBP,它是在創建數據庫時創建的。當 SYSCAT.BUFFERPOOLS 目錄表中該緩衝池的 NPAGES 值爲 -1 ,DB2 數據庫配置參數 BUFFPAGE 控制着緩衝池的大小。否則會忽略 BUFFPAGE 參數,並且用 NPAGES 參數所指定的頁數創建緩衝池。 建議對於僅使用一個緩衝池的應用程序, NPAGES 更改成 -1,這樣 BUFFPAGE 就可以控制該緩衝池的大小。這使得更新和報告緩衝池大小以及其它 DB2 數據庫配置參數變得更加方便。 

n       查看bufferpools

$ db2 get db cfg for coredb |grep BUFF

 Buffer pool size (pages)                     (BUFFPAGE) = 1000

n       計算命中率:

db2 "update monitor switches using  lock ON sort ON bufferpool ON uow ON  table ON statement ON" 

db2 "get snapshot for all bufferpools" 
在數據庫快照或緩衝池快照的快照輸出中,查找下列"logical reads""physical reads",這樣就可以計算出緩衝池命中率,它可以幫助調優緩衝池
緩衝池命中率表明數據庫管理器不需要從磁盤裝入頁(即該頁已經在緩衝池中)就能處理頁請求的時間百分比。緩衝池的命中率越高,使用磁盤 I/O 的頻率就越低。按如下計算緩衝池命中率
(1 - ((buffer pool data physical reads + buffer pool index physical reads) / 
(buffer pool data logical reads + pool index logical reads)) 
) * 100% 
這個計算考慮了緩衝池高速緩存的所有頁(索引和數據)。理想情況下,該比率應當超過 95%,並儘可能接近 100%

$ db2 "get snapshot for all bufferpools"|grep logical

Buffer pool data logical reads             = 200

Buffer pool temporary data logical reads   = 0

Buffer pool index logical reads            = 0

Buffer pool temporary index logical reads  = 0

$ db2 "get snapshot for all bufferpools"|grep  physical

Buffer pool data physical reads            = 0

Buffer pool temporary data physical reads  = 0

Buffer pool index physical reads           = 0

Buffer pool temporary index physical reads = 0

這個計算考慮了緩衝池高速緩存的所有頁(索引和數據)。理想情況下,該比率應當超過 95%,並儘可能接近 100%。要提高緩衝池命中率,請嘗試下面這些方法增加緩衝池大小。  
考慮分配多個緩衝池,如果可能的話,爲每個經常被訪問的大表所屬的表空間分配一個緩衝池,爲一組小表分配一個緩衝池,然後嘗試一下使用不同大小的緩衝池以查看哪種組合會提供最佳性能。  
如果已分配的內存不能幫助提高性能,那麼請避免給緩衝池分配過多的內存。應當根據取自測試環境的快照信息來決定緩衝池的大小。 
太小的緩衝池會產生過多的、不必要的物理 I/O。太大的緩衝池使系統處在操作系統頁面調度的風險中並消耗不必要的 CPU 週期來管理過度分配的內存。正好合適的緩衝池大小就在"太小""太大"之間的某個平衡點上。適當的大小存在於回報將要開始減少的點上。 

n      修改bufferpools

方法一:

Select npages from syscat.bufferpools

Alter bufferpool ibmdefaultbp immediate size 20000

方法二:

Create bufferpool hisdbbp1 immediate size 2500 pagesize 32k

Alter tablespace syscatspace bufferpool hisdbbp1

 

16.    存儲過程的建立及維護

項目組暫時沒有使用DB2存儲過程

17.    Group BYHAVING命令的使用

GROUP BYSELECT語句的從句,用來指定查詢分組條件,主要用來對查詢的結果進行分組,相同組合的分組條件在結果集中只顯示一行記錄。使用GROUP BY從句時候,通過添加聚合函數(主要有COUNT()SUMMAX()MIN()等)可以使數據聚合。GROUP BY插敘列中使用聚合函數是針對每個分組的。

GROUP BY用來指定分組條件,是一個數學集合的概念,比如針對一列進行分組,則組合分組條件的集合數爲1。如果有兩個分組條件,則組合分組條件的集合數爲2。因此帶有GROUP BY的查詢一般成爲分組查詢,也叫組合查詢。組合記錄的多少取決於組合集合(不包含重複元素)中元素的個數。例如,組合條件爲一列,則查詢結果集記錄條數應該等於這個列所有字段所組成(數學意義上的)集合的元素個數(NULL字段也算一個)。如果有兩個組合列,則記錄數等於實際中存在的兩個列所組合的數目。

       GROUP BY組合列必須出現查詢的SELECT關鍵字後面,相同組合條件的情況下僅僅保留一個。因此,通過SELECT...GROUP BY查詢出的各個列都應該是數目相同,要達到相同的目的,有兩種途徑:一種是將要查詢的字段放到組合條件中,一種是在非組合條件的字段上使用聚合函數,當然也可以在組合列上聚合函數。處子之外,別無它法!如果查詢的各個列結果數目不相等,則結果集會出現不能對齊的錯誤。 因此,將非組合條件的列在不使用聚合函數條件下放到要查詢的列中,這種做法是完全錯誤的。

GROUP BY在做組合查詢的時候,會對NULL的分組單獨形成一行,進行統計。參看上面的SQL

       GROUP BY對組合條件列來說,本身就會自動分組(剔除重複的列),因此在組合條件的列上應用DISTINCT關鍵字是多於的。但是用在非組合條件(都有聚合函數)的列上使用DISTINCT卻不是多餘的。GROUP BY不但可以對列組合,還可以對列的表達式進行組合。

可以在SELECT ... GROUP BY 分組後篩選數據。篩選的關鍵字是HAVINGHAVING的作用和WHERE類似。都是用來過濾查詢的中間記錄。但是,HAVING從句指定的每個列規範必須出現在一個聚合函數內,或者出現在GROUP BY從句命名的列中。與WHERE不同的是:WHERE是在分組前(查詢後)篩選數據;HAVING是在分組後篩選數據

 

SELECT SUBSTR(A.HYLB_DM,1,2),COUNT(*),SUM(A.ZCZB) FROM DJ_ZT A

GROUP BY SUBSTR(A.HYLB_DM,1,2)

HAVING MAX(YEAR(A.CJRQ))<>2007;

 

 

 

 

 

 

 

 

考覈要點

類型(基礎/中級/高級)

試題(案例)

答案(運行環境AIX

新增一個數據庫實例

中級

newinst用戶建立一個名爲newinst的數據庫實例(FencedID簡單取newinst

db2icrt u newinst newinst

修改新建數據庫實例的屬性

中級

設置newinst實例的CODEPAGE屬性爲1386

db2set DB2CODEPAGE=1386;db2 terminate;

數據庫的建立、修改、刪除

中級

用實例用戶在名爲NEWINST的實例下建立一個NEWDB的數據庫,字符集爲GBK,之後再刪除該數據庫

su - newinst;db2 create db newdb using codeset GBK territory CN;db2 drop db newdb;

CREATE TABLESPACE命令的使用

中級

建立一個名爲NEWTBS,頁面大小爲4K的,SMS的表空間(建在/home/newinst/tbs/newtbs目錄下)

create regular tablespace newtbs pagesize 4096 managed by system  using('/home/newinst/tbs/newtbs')

數據庫表的建立、修改、刪除

基礎

在表空間NEWTBS上建立一個名爲NEWTABLEnovalue)的表,no爲主鍵,noint型,valuevarchar

create table newtable(no int not null,value varchar(5), primary key(no) ) in newtbs

視圖的建立、表關聯

基礎

NEWTABLEnovalue)和NEWTABLE2novalue)上建立視圖,該視圖用於顯示NEWTABLENEWTABLE2表中no字段相等的記錄

create view newview as ( select a.no,a.value from newtable a,newtable2 b where a.no=b.no )

檢查LOCKTIMEOUT的值

中級

查看newdb數據庫的LOCKTIMEOUT參數值

db2 connect to newdb;db2 get db cfg|grep LOCKTIMEOUT;

修改LOCKTIMEOUT 的值

中級

修改LOCKTIMEOUT 的值爲15

db2 update db cfg for newdb using LOCKTIMEOUT 15

查看數據庫的BUFFERPOOLS

中級

查看數據庫newdb有哪些BUFFERPOOLS

db2 connect to newdb;db2 "select * from syscat.bufferpools"

數據記錄的增、刪、改、查等

基礎

對錶NEWTABLENEWTABLE2舉例進行SELECT命令的使用,INSERT命令的使用,DROP命令的使用,UPDATE命令的使用,JOIN命令的使用,HAVING命令的使用,GROUP BY令的使用

索引的建立、查看、刪除

基礎

在表NEWTABLEno列上建立唯一索引,並將value列做爲該唯一索引的include列;建立後查看該索引,之後刪除該索引

create unique index newindx on newtable(no) include (value);describe indexes for table newtable show detail;drop index newindx

啓停數據庫實例

中級

newinst用戶啓動名爲NEWINST的數據庫實例,強行停止名爲NEWINST的數據庫實例

su - newinst; db2start;db2stop force;

查看數據庫配置文件

中級

查看newdb數據庫的數據庫配置文件

db2 connect to newdb;db2 get db cfg

使用CATALOG命令配置數據庫的連接

中級

在另一臺DB2 CLIENT端通過tcpip的方式連接182.247.70.88機器上NEWINST實例下的NEWDB數據庫。NEWINST實例的SVCENAME參數爲50000

db2 catalog tcpip node N88 remote 182.247.70.88 server 50000;db2 catalog db newdb as newdb at node N88;

DB2 LIST的使用

中級

查看數據庫的所有連接

db2 list applications;

DB2 FORCE的使用

中級

切斷所有數據庫應用連接

db2 force applications all; db2 terminate;

DB2快照

中級

打開快照監視器的bufferpoollock開關,並拍newdbdatabase快照。

db2 update monitor switches using bufferpool on lock on;db2 get snapshot for database on newdb;

計算本開發環境中BUFFERPOOL的命中率

高級

假設數據庫快照數據如下:Buffer pool data logical reads             = 48
Buffer pool data physical reads            = 16
Buffer pool index logical reads            = 79
Buffer pool index physical reads           = 47
,請問該環境中BUFFERPOOL的命中率是多少?

1-(1647/(48+79))*100%=50.39%

對本系統數據庫表的熟悉

基礎

從本系統的基本客戶信息表中按照客戶號找到客戶名

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章