发新话题
打印

IBM DB2 日常维护汇总(六)

IBM DB2 日常维护汇总(六)


91.如何创建DB2的概要表?
% M! q+ p% U2 B: z% T! g! O' _1 |- U  DB2的概要表功能类似于ORACLE的实体化视图!
2 c% B! ^% h8 q# s  语法为:
, b+ c/ V( g4 V9 a; c1 F  CREATESUMMARYTABLETABLE_NAMEAS(FULLSELECT)... / \& {8 d5 Q& h- H) `) B
  例如:
  a5 L2 D% V3 v1 {' @1 Z, w  定义一个可以刷新的概要表:
0 `/ k' y. {6 z/ [& @) W, f  CREATESUMMARYTABLETABLE_NAMEAS(SELECT*FROMTABLE_NAME1WHERECOL1='AAA') + m( w  v  D) I" [# b% i
  DATAINITIALLYDEFERREDREFRESHDEFERRED & p5 f6 ]5 |# e
  其中DATAINITIALLYDEFERRED规定不能将数据作为CREATETABLE语句的一部分插入表中.
+ \0 P$ z9 O$ N' u, {2 W  REFRESHDEFERRED规定表中的数据可以在任何使用了REFRESHTABLE语句的时候获得刷新! $ T& s& Q$ W& b# }
     E# n+ v/ p/ w8 S0 D: ^4 _+ }
  92.如何刷新概要表?
4 \/ z& T  B4 V" S, I1 s$ {  REFRESHTABLESUM_TABLE 5 `$ I$ \/ e. j. U2 D% h7 r% D* l
  其中SUM_TABLE为概要表. # Y/ {% x, |1 V8 @1 c
  
5 [. G& X% _0 ^# L# u  93.如何修改概要表? 9 a: H, j& r4 M8 `1 c- c1 e
  ALTERTABLESUM_TABLE... 7 G+ G: Y4 r( c6 X* @8 D
   * g1 m. j) b, U! a+ h9 _
  94.如何创建临时表?
  s, I0 x: `5 U. Z6 v  W% E  语法: 1 [/ ^8 o; d. d* P4 P* K
  DECLAREGLOBALTEMPORARYTABLETABLE_NAME % O  n# H/ D! f2 O4 J: L
  AS(FULLSELECT)DEFINITIONONLY ' ]. m3 h! x, g" {/ H! H) `
  EXCLUDINGIDENTITYCOLUMNATTRIBUTES 4 e+ b9 _2 K, A# V4 ^
  ONCOMMITDELETEROWS ( T- {! N8 q: [% e. Z1 h- S1 {7 l
  NOTLOGGED * b% D% N# i; ~: b! y, U
  第一行规定临时表的名称.
5 V- v- j" Q% J2 C, v  第二行规定临时表的列的定义.
; I; u4 t" x6 c7 _  第三行规定不是从源结果表定义中复制的恒等列. ! _3 d7 v5 D, M1 e; l- r: T
  第四行规定如果没有打开WITHGOLD光标,将会删除表的所有行.
: i1 Q8 g/ `/ Q! }' s8 E1 F" Y0 p  第五行规定不对表的改变进行记录. / S6 V$ o$ ]0 f7 ~' w) q/ X4 ^4 Z
  例如:
! w; x8 t1 s9 p/ a3 E5 t  DECLAREGLOBALTEMPORARYTABLEDEC_BSEMPMS " k" `  c( }4 k( v, c
  AS(SELECT*FROMBSEMPMS)DEFINITIONONLY
- H! o3 m3 G1 B" A; }1 G  EXCLUDINGIDENTITYCOLUMNATTRIBUTES 3 x  }; b! b, i3 ?
  ONCOMMITDELETEROWS
. _  Q& ^. J  z& v2 e  NOTLOGGED ; h5 q, F$ S1 n  R
  
# A- y( r8 ]1 {# z  95.视图的管理? 0 r+ f' I7 }( P* Y# V
  如何创建视图:
8 Y& w; J$ \6 o+ v9 u6 z  CREATEVIEWVIEW_NAMEASSELECT*FROMTABLE_NAMEWHERE... ( C' u* l( Y5 q
  删除视图:
* O* V  I; L) B7 r+ `* g) }  DROPVIEWVIEW_NAME
7 z6 o5 }* H2 m% g. G- k  
" @4 S0 B* ?. u- N, U+ J* n  96.如何知道视图定义的内容?
3 j5 |5 d% W; e  SELECT*FROMSYSCAT.VIEWS中的TEXT列中.
7 t% C, t" S( j7 u4 T& z+ d/ U  
( m4 [2 f% n+ F% H8 {  97.如何创建别名?
4 i9 x" b0 [2 t! x! ~7 Q/ }) X  CREATEALIASALIAS_NAMEFORPRO_NAME
6 }6 T! b& e# P+ q, D5 L& f  后面的PRO_NAME可以是TABLE,VIEW,ALIAS,NICKNAME等. 8 n4 o, t5 p5 M; M7 O( u2 v& G
  
2 S+ @  F5 S& a5 f- n' q  98.如何创建序列?
+ C. ~/ y- g& |- C5 _  例如: 2 d2 y& O& K9 P5 \& A5 P# S
  CREATESEQUENCESEQUENCE_NAME 4 _0 V6 k( J; E! d/ v5 v9 {
  STARTWITHSTART_NUMBER
  I1 Q8 n' N- l! D& Q& n* U5 i  INCREMENTBYVALUE1
7 e- A3 g; L. S' {3 g* n9 f+ j  NOMAXVALUE ( V" A0 {4 S, d6 R: A1 _8 D7 f8 |4 N
  NOCYCLE
, \! N( ^" C' G6 j# c  CACHEMAXIMUMNUMBEROFSEQUENCEVALUES * O$ A: X7 E9 q% M0 }% k# ?
  第一行规定序列的名称.
* N) }4 a3 {! h# I. i  第二行规定序列的开始数值. 8 ~: h; a" V5 t" B. K# h
  第三行规定每次新增的幅度. / i' P& S: U/ K7 x' F+ h% a# M
  第四行规定没有最大数值限制.
$ t4 S; P3 E) |6 ?, r  第五行规定最大数值限制. " V8 M* L) z) I( `6 N6 m6 J" }

( j; J6 n" i* r: g7 \  99.如何更改序列?
2 _" K. k* I/ {5 p2 J  ALTERSEQUENCESEQUENCE_NAME... " R( @) ]/ L; @
  可以修改的参数
. E& o8 L- h0 T3 k" i+ l  STARTWITH的START_NUMBER ' B: o8 A) Z* T2 a2 e. b; \3 k
  INCREMENT的VALUE1
( z# z5 r  P4 Y: O0 e6 c  NOMAXVALUE的数值
! U0 c4 y  l( e4 Y) @/ Y) N4 U  NOCYCLE属性 8 H- S5 R9 Q0 p/ j' _
  MAXIMUMNUMBEROFSEQUENCEVALUES最大数值
5 L% W: u; G( j. t9 f5 ]6 \. |  
; W6 f" q0 h$ P+ K$ C0 R$ U) t  100.如何删除序列? ( P+ v1 b1 p4 G# W& J
  DROPSEQUENCESEQUENCE_NAME . {: }$ l  C& G- }+ V
   ; ^. H* k$ p+ p
  101.DB2支持导入(IMPORT)的文件格式有? & O6 d3 @+ K9 V) y0 ^
  有EL,ASC,IXF,WSF等
) |, o) V9 G. S. {; E
  S( g1 n* K# n6 _' s; f) K  102.DB2支持导出(EXPORT)的文件格式有? . T& Y0 Y( m2 i( K/ I7 B
  有EL,IXF,WSF等. ' g( z4 k* l0 k: ], z0 a
  不支持ASC格式. + B9 E$ F0 Y. g: u8 L* v) l
   # d+ c% n( c7 [6 S) }  y4 }
  103.DB2支持载入(LOAD)的文件格式有?
9 h' d7 f! m8 I% _% v! m  有EL,ASC,IXF等.
7 w0 Y* B/ m6 u$ ]; V( e  不支持WSF格式.
" x3 w. |1 ^' L/ ?" w  
* j! L0 {# I( F0 O: u, x; ~  104.DB2支持DB2MOVE的文件格式有? " i; W- I9 Q3 D' V1 o
  有:IXF等.
/ n/ f  |) Q3 l! Q7 @0 Y) {7 D  不支持ASC,DEL,WSF格式.
& p) B5 K4 l5 h8 J$ V   & M0 ?  s2 B+ p8 K2 n$ r3 @
  105.DB2数据库监控的两个组成部分?
4 Y: T% e# O% z3 @" K) N3 E3 j  快照监控(SNAPSHOTMONITOR)可返回特定时间点的数据库活动的快照. ' M- G7 S- B4 d: g+ J/ d
  事件监控(EVENTMONITOR)记录事件发生的数据.
- `2 ^! i  V9 _7 B4 }) [" a  
! q# L# a9 S' ~  106.系统监控的数据元素类型?
4 l" U3 W) w2 d7 S5 J  计数器(COUNTER)记录活动发生的次数.
% x+ u6 u# O( {) h) Q: C% T6 [  测量(GAUGE)测量条目的当前值. 1 W4 {4 X) m  Z* o% T3 P( ^. Q
  水线(WATERMARK)从监控来元素达到的最大或最小数值.
% Z0 h4 N1 C/ d: M) L9 v8 L  信息(INFORMATION)监控活动的参照类型细节.
% L4 {% T: a; b  时间点(TIMESTAMP)活动发生的日期时间. & {" ~, g" `" ]4 J- M+ i! p) X
  时间(TIME)返回一个活动花费的时间.
; H: s3 d7 g- C7 ]3 F   * L$ s( H7 m6 x" m; ]0 ^. M
  107.如何知道监控堆所需的页的数量?
5 m* }! D) p: j( X7 ]  I! I8 X  (NUMBEROFMONITORINGAPPLICATIONS 1)*(NUMBEROFDATABASES*(800 (NUMBEROFTABLES $ w& A$ x" _; z
   ; _+ b' K7 g) t* v8 j- E: t
  ACCESSED*20) ((NUMBEROFAPPLICATIONSCONNECTED 1)*(200 (NUMBEROFTABLE
- B4 L# e9 a0 |! f! q' _  
) j$ g- {8 t# ^6 ~' o" S0 l8 n  SPACES*100)))))/4096 + s$ Z$ X$ j1 Z  h  J/ `0 w
  其大小受参数MON_HEAD_SZ控制.
3 s1 M5 N, ~' L# c7 r; k# p3 y   ) X" e/ t5 a, l: y
  108.如何建立事件监控器? ; \2 {2 K# n% ^  B4 G6 }
  CREATEEVENTMONITORTABLEMONFORTABLESWRITETOFILE'D:\TEMP' ! E) {- y" }* \6 [
   9 _/ L0 y( y& a2 e/ r
  109.如何激活事件监控器? * |1 t1 G0 L1 I3 D: W+ F8 b
  SETEVENTMONITORTABLEMONSTATE1 8 c/ [$ {8 s4 N- s$ M% W7 E( f
   . Z5 Q0 ?; v( P8 Q( e5 t
  110.如何停止事件监控器? ! E% p4 l. J( g7 |, W& P
  SETEVENTMONITORTABLEMONSTATE0
. g, K" G0 k; \1 N% J- W7 }! E  
. z8 N# H: z2 U* r/ ?  111.如何查询监控器的状态?
& C% @- b" i2 U' J: t# c  SELECTEVMONNAME,EVENT_MON_STATE(EVMONNAME)FROMSYSCAT.EVENTMONITORS
7 I$ c  B" a2 `
& P/ m: Q, T1 U; @2 k! _) r  112.如何删除事件监控器? ' L% t) R" B2 P3 _, n; f
  DROPEVENTMONITORTABLEMON & a1 ^2 T) X4 P: F0 J
  
/ U/ P$ X: [3 b- u" A3 q  113.UNIX和WINDOWS上创建管道事件监控器(PIPE意EVNT见MONITOR)的不同?
4 L  v" B3 A/ \: d- o  第一步:定义事件监控器
! @$ |6 d! S* r  UNIX:
0 @- I) u( W- P& ?7 x8 P& E  CONNECTTOSAMPLE - t7 j/ X# Z( w+ t2 B8 h# w0 ?
  CREATEEVENTMONITORSTMB2FORSTATEMENTSWRITETOPIPE'/TMP/EVPIPE1'
$ g5 ]9 Y: [9 z+ S  WINDOWS: , A4 M2 `: h% U  i" b
  CONNECTTOSAMPLE
/ R% g$ a8 I* D" H9 ~4 d4 O  CREATEEVENTMONITORSTMB2FORSTATEMENTSWRITETOPIPE'\\.\TMP\EVPIPE1' ) n' N& p3 F1 \& ~

% P; p% u8 C1 n; s; u  第二步:建立命名管道
( U6 E# I! ?8 D" y$ v  UNIX:
$ F3 W9 ]6 A8 p# z, e( ]  可以使用MKFIFO()函数或者MKFIFO命令.
$ c, y0 x0 t+ F- D* V7 S2 ~  WINDOWS: ) U3 g; W( h" x
  可以使用CREATENAMEDPIPE()函数,管道名称与CREATEEVENTMONITOR规定名称相同. + F% b: q3 }4 _
   ! S% Y5 e1 q6 M7 y
  第三步:打开命名管道 % Y& a  ~3 o$ }
  UNIX: 9 j' Z- g* @8 C  y8 g
  使用OPEN()函数. ; C- `3 c# d0 k0 M" P# j% j
  WINDOWS: 3 q2 H4 U9 s/ Q/ F# }* w0 C" i
  使用CONNECTNAMEDPIPE()函数.
; W4 g6 S2 o* K& _1 z/ s  也可以用DB2EVMON命令,如:
7 z' I% j; U  A& t  DB2EVMON-DBSAMPLE-EVMSTMB2
$ t7 x, e2 ^& `, S/ z0 n   + Q: Q" Q4 ]3 r& m# z9 I% N
  第四步:激活命名管道事件监控器 - I$ X4 m- X- }" @$ A
  除非自动激活命名管道事件监控器,否则   B3 E" r% K& q1 e
  SETEVENTMONITORSTMB2STATE1
# e% x- D& u3 x5 O' d! M0 ]
  y# a6 U9 J3 }  第五步:从命名管道读取数据 / [+ G5 ?" P/ X1 y( h
  UNIX: ! K+ [) x) o) U. i; G! F2 ?
  可以使用READ()函数.
; t! S. U2 D! s: T+ F# _, K" C  WINDOWS:
$ o1 H6 k+ x( N  可以使用READFILE()函数. ; q( o. k, w5 H6 l' H% n% t

  t% W& c) ]) J7 ~  第六步:停止事件监控器 & [# v, V: k% i: T
  SETEVENTMONITORSTMB2STATE0
' C4 t( @! l# I$ i0 G2 ?3 a   1 l4 D6 |1 [0 W. o1 E
  第七步:关闭命名管道 7 C. k0 C; U5 J, S0 D& k
  UNIX:
' D) V' w9 _0 y" j- n4 R: e, ?0 H) u3 E  可以使用CLOSE()函数. ; I2 N6 X6 z1 W4 b) ?  [* o- C
  WINDOWS:
% n2 L5 o5 F% i4 M3 V! f" O( W  可以使用DISCONNECTNAMEDPIPE()函数.
% z! O, Q5 G4 F   - H4 \% d, p7 Q* F1 A4 `$ n" _
  第八步:删除命名管道 1 C  b2 {; S: r1 C! E- j
  UNIX:
0 i1 ~( }" c, D+ B  可以使用UNLINK()函数. $ t+ a6 U, P* y' s
  WINDOWS:
8 A' {8 L) e" {' s1 ?  h- G* T$ D  可以使用CLOSEHANDLE()函数.
/ D: g- d8 g0 X: L   ! y% t$ t8 H  ^
  114.DB2的SQL语句的类别
( g; \6 g% E, C6 K: ]9 ^7 K  DCL:数据控制语言,提供对数据库对象的访问权限.
- U0 s4 e8 P9 u1 R7 K+ I# ]  DDL:数据定义语言,创建,修改,删除数据库对象的. $ n7 Q) C7 |( t" M
  DML:数据操纵语言,用来插入,更新,删除数据的.
$ K/ j( _4 ^' M/ F8 h* T- ]" _* Q1 X7 e; T7 s
  115.DCL的权限有哪些?
9 ]6 X( A; v, U3 C# l3 h/ v  CONTROL权限:如果用户创建一个对象,则改用户能完全访问该对象.
$ m+ `- l% Z  F& D, @  GRANT语句将权限授予给用户. 1 G: p# C1 {# k9 B2 c1 J5 `
  REVOKE语句撤销一个用户的权限.
- _9 P4 X- H$ {  o  J* p" I1 f" p, F) ]" {5 Q
  116.DDL有哪些?
2 e* }0 o2 [" H; b2 m4 ]" r  CREATE 8 L/ K& ^: O! N) G
  DECLARE ) o2 o3 _. F/ @7 O+ J
  ALTER
' q8 C- t# e" B0 P- ^    DROP , [1 S  ^6 r9 D7 F& t
  等
) P7 W2 Q6 _7 Y, e+ ?% R: R9 O" d+ x$ V5 q* t
  117.DML有哪些? $ p4 _/ P6 _7 {- q* u+ i; B4 C
  INSERT 7 r! G7 M6 O$ S! i$ I, w2 Z
  SELECT ) i4 Z4 ^9 k1 f2 `% h" Z$ J
  UPDATE
  k0 k5 h/ F6 p6 M% k* J  DELETE 7 z* C1 v0 F6 x: v
  等 0 _$ o% }: u7 A( T: R
  
; [6 o2 v% \& Z- p9 ?  118.DB2有没有布尔类型? , E) i3 e# y- d  f  P; j1 t
  没有
1 S7 H: v, L& {4 [   ; G8 c) y, ?2 a0 j+ S) _8 a
  119.如何查询DB2的内置函数? ( x% {; y6 K7 r  d3 h) z
  自带文档ADMINISTION--SQLREFERENCE--FUNCTIONS内
% Y! c' T/ q" g' D$ i
% C8 P+ h) B& s! [; V9 A  120.如何执行DB2的脚本文件?
) ?. A5 k; b- Q7 _/ [$ ~) _. Z  DB2-VTFFILENAME
# o& M& J! {. m5 \- r$ k  
7 N; k9 U% C& ^8 J0 D) {/ w  121.DB2中象ORACLE的ROWNUM()是? ; ?8 x" C, Q3 Z  m9 |
  ROW_NUMBER()OVER()
8 P. q( ?4 N( X8 n! c   ; N4 z  W9 v  k- F7 o
  122.DB2如何得到错误代码的说明?
* \# m: F% B0 k- u0 y2 {* M& t1 F  DB2?SQLCODE
; j1 o+ X' |4 z# J/ Z* g7 C2 |5 Z+ h& h# m1 Q( D0 u* c
  123.DB2中的VARCHAR转换为INTEGER的函数为?
" }6 ?$ h. @6 g3 Z: |' @2 l* n  CAST()
( k8 S9 a) D+ U( W7 F" B6 }: }   4 k' [* ?/ L! t9 }: \9 N
  124.DB2中的INTEGER转换为VARCHAR的函数为? . b# n& d& g9 V# ?
  CHAR() ' {4 ~3 C# k. f" t
   $ i. T3 ]( Y+ l& P9 ~& }4 n
  125.DB2中的VARCHAR转换为DATE的函数为?
5 K, Q. N1 C& |, d  DATE()
" X3 y1 |9 W6 b8 d  
& R8 _% n' D' z, t+ ?8 ~  126.DB2中的DATE转换为VARCHAR的函数为? 6 H7 e# V, m3 b) p7 k
  CHAR()
9 n# e0 x0 `0 l1 o   $ ^# Q2 S; w! o' h' r$ s% s: o9 |
  127.DB2中的TRIGGER能否修改?
; p9 n' O7 i$ c  不能,只能删除重建
+ i7 N- Q* Q1 g' A& `5 _  u- [& d* h   ( B6 I8 L3 K/ Z! |8 B* g
  128.WINDOWS下如何知道DB2的端口号? ' S/ [- @: g, ?" W" C* ?
  \WINNT\SYSTEM32\DRIVERS\ETC\SERVICES 5 V1 j* o; V, h
  
$ j) H7 [$ ?$ q" d! h; O! N4 L3 ?6 c  129.DB2如何执行存储过程?   o, R0 e' \0 e8 z+ C+ W1 b
  可以DB2CALLPROCEDURE_NAME
$ m" F* a. B/ y- K1 a   6 [4 P: c8 L: p3 L7 ^1 [! ^
  130.如何进入DB2的DOS命令方式? 2 E9 p4 B* I) D6 ?$ R6 X+ B
  DB2CMD
% N& @: u2 i0 @# L0 Q, N0 {  ^     R) h6 h3 E9 k5 N1 ]; z
  131.如何得到DB2的进程号?
4 b; X- W. ?9 [% t  DB2LISTAPPLICATIONS
! T# {, p; H1 \# L/ b! U, i  
/ n0 O: Q  h6 l  132.如何杀DB2的进程? ' a' k3 m' ]1 }7 f
  FORCEAPPLICATION(ID)
. K$ }/ V: l" p$ \' Y   9 O! K/ A, J( }: Z
  133.A用户安装DB2后,如何用B用户启动DATABASE?
% g" q$ U% p1 e, ?. @1 m  在B用户下的.PROFILE中加上
. x3 _! |/ x. w$ A  ./HOME/DB2INST/SQLLIB/DB2PROFILE 1 d# t/ z2 I! P! P1 A
  
4 a0 _7 `7 {8 L6 V. w  134.DB2中类似ORACLE的快照是?
: P3 Q/ S+ r$ W5 c  SUMMARYTABLE



点击图标进入精品网摘收藏 欢迎大家加入网络收藏夹

TOP

发新话题