DB2常用傻瓜问题1000问(之三)

类别:数据库 点击:0 评论:0 推荐:
                  DB2常用傻瓜问题1000问(之三)

作者:  CCBZZP

    大家在应用DB2的时候可能会遇到一些看似简单的问题,特别对新手来说,我在此简单的
总结一下,发布给大家,希望对大家能有所帮助,同时也欢迎大家一起探讨,共同发展,共同进步!
以下主要以DB2 7.X为基础的. 以下的字符为小写.

    本文对DB2高手来说是不用看的.

 

    所有字符為小寫.

 

 

91. 如何創建DB2的概要表?
  DB2的概要表功能類似于ORACLE的實体化視圖!
  語法為:
  CREATE SUMMARY TABLE TABLE_NAME AS (FULLSELECT) ...
  例如:
  定義一個可以刷新的概要表:
  CREATE SUMMARY TABLE TABLE_NAME AS (SELECT * FROM TABLE_NAME1 WHERE COL1='AAA')
  DATA INITIALLY DEFERRED  REFRESH DEFERRED
  其中DATA INITIALLY DEFERRED規定不能將數据作為CREATE TABLE語句的一部分插入表中.
  REFRESH DEFERRED規定表中的數据可以在任何使用了REFRESH TABLE語句的時候獲得刷新!

92. 如何刷新概要表?
  REFRESH TABLE SUM_TABLE
  其中SUM_TABLE為概要表.

93. 如何修改概要表?
  ALTER TABLE SUM_TABLE ...

94. 如何創建臨時表?
  語法:
  DECLARE GLOBAL TEMPORARY TABLE TABLE_NAME
  AS (FULLSELECT) DEFINITION ONLY
  EXCLUDING IDENTITY COLUMN ATTRIBUTES
  ON COMMIT DELETE ROWS
  NOT LOGGED
  第一行規定臨時表的名稱.
  第二行規定臨時表的列的定義.
  第三行規定不是從源結果表定義中復制的恒等列.
  第四行規定如果沒有打開WITH GOLD光標,將會刪除表的所有行.
  第五行規定不對表的改變進行記錄.
  例如:
  DECLARE GLOBAL TEMPORARY TABLE DEC_BSEMPMS
  AS (SELECT * FROM BSEMPMS) DEFINITION ONLY
  EXCLUDING IDENTITY COLUMN ATTRIBUTES
  ON COMMIT DELETE ROWS
  NOT LOGGED

95. 視圖的管理?
  如何創建視圖:
  CREATE VIEW VIEW_NAME AS SELECT * FROM TABLE_NAME WHERE ...
  刪除視圖:
  DROP VIEW VIEW_NAME

96. 如何知道視圖定義的內容?
  SELECT * FROM SYSCAT.VIEWS中的TEXT列中.

97. 如何創建別名?
  CREATE ALIAS ALIAS_NAME FOR PRO_NAME
  后面的PRO_NAME可以是TABLE,VIEW,ALIAS,NICKNAME等.

98. 如何創建序列?
  例如:
  CREATE SEQUENCE SEQUENCE_NAME
  START WITH START_NUMBER
  INCREMENT BY VALUE1
  NOMAXVALUE
  NOCYCLE
  CACHE MAXIMUM NUMBER OF SEQUENCE VALUES
  第一行規定序列的名稱.
  第二行規定序列的開始數值.
  第三行規定每次新增的幅度.
  第四行規定沒有最大數值限制.
  第五行規定最大數值限制.

99. 如何更改序列?
  ALTER SEQUENCE SEQUENCE_NAME ...
  可以修改的參數
  START WITH 的 START_NUMBER
  INCREMENT 的 VALUE1
  NOMAXVALUE的數值
  NOCYCLE屬性
  MAXIMUM NUMBER OF SEQUENCE VALUES 最大數值

100. 如何刪除序列?
  DROP SEQUENCE SEQUENCE_NAME

101. DB2支持導入(IMPORT)的文件格式有?
   有: DEL,ASC,IXF,WSF等

102. DB2支持導出(EXPORT)的文件格式有?
   有: DEL,IXF,WSF等.
   不支持ASC格式.

103. DB2支持載入(LOAD)的文件格式有?
   有: DEL,ASC,IXF等.
   不支持WSF格式.

104. DB2支持DB2MOVE的文件格式有?
   有: IXF等.
   不支持ASC,DEL,WSF格式.

105. DB2數据庫監控的兩個組成部分?
   快照監控(SNAPSHOT MONITOR)可返回特定時間點的數据庫活動的快照.
   事件監控(EVENT MONITOR)記錄事件發生的數据.
  
106. 系統監控的數据元素類型?
   計數器(COUNTER)記錄活動發生的次數.
   測量(GAUGE)測量條目的當前值.
   水線(WATER MARK)從監控來元素達到的最大或最小數值.
   信息(INFORMATION)監控活動的參照類型細節.
   時間點(TIMESTAMP)活動發生的日期時間.
   時間(TIME)返回一個活動花費的時間.
  
107. 如何知道監控堆所需的頁的數量?
   (NUMBER OF MONITORING APPLICATIONS+1)*(NUMBER OF DATABASES*(800+(NUMBER OF TABLES

ACCESSED*20)+((NUMBER OF APPLICATIONS CONNECTED+1)*(200+(NUMBER OF TABLE

SPACES*100)))))/4096
   其大小受參數MON_HEAD_SZ控制.  

108. 如何建立事件監控器?
   CREATE EVENT MONITOR TABLEMON FOR TABLES WRITE TO FILE 'D:\TEMP'

109. 如何激活事件監控器?
   SET EVENT MONITOR TABLEMON STATE 1

110. 如何停止事件監控器?
   SET EVENT MONITOR TABLEMON STATE 0

111. 如何查詢監控器的狀態?
   SELECT EVMONNAME,EVENT_MON_STATE(EVMONNAME) FROM SYSCAT.EVENTMONITORS

112. 如何刪除事件監控器?
   DROP EVENT MONITOR TABLEMON

113. UNIX和WINDOWS上創建管道事件監控器(PIPE意EVNT見MONITOR)的不同?
   第一步: 定義事件監控器
   UNIX:
   CONNECT TO SAMPLE
   CREATE EVENT MONITOR STMB2 FOR STATEMENTS WRITE TO PIPE '/TMP/EVPIPE1'
   WINDOWS:
   CONNECT TO SAMPLE
   CREATE EVENT MONITOR STMB2 FOR STATEMENTS WRITE TO PIPE '\\.\TMP\EVPIPE1'

   第二步: 建立命名管道
   UNIX:
   可以使用MKFIFO()函數或者MKFIFO命令.
   WINDOWS:
   可以使用CREATENAMEDPIPE()函數,管道名稱与CREATE EVENT MONITOR規定名稱相同.

   第三步: 打開命名管道
   UNIX:
   使用OPEN()函數.
   WINDOWS:
   使用CONNECT NAMEDPIPE()函數.
   也可以用DB2EVMON命令,如:
   DB2EVMON -DB SAMPLE -EVM STMB2

   第四步: 激活命名管道事件監控器
   除非自動激活命名管道事件監控器,否則
   SET EVENT MONITOR STMB2 STATE 1

   第五步: 從命名管道讀取數据
   UNIX:
   可以使用READ()函數.
   WINDOWS:
   可以使用READFILE()函數.

   第六步: 停止事件監控器
   SET EVENT MONITOR STMB2 STATE 0

   第七步: 關閉命名管道
   UNIX:
   可以使用CLOSE()函數.
   WINDOWS:
   可以使用DISCONNECTNAMEDPIPE()函數.

   第八步: 刪除命名管道
   UNIX:
   可以使用UNLINK()函數.
   WINDOWS:
   可以使用CLOSEHANDLE()函數.

114. DB2的SQL語句的類別?
   DCL: 數据控制語言,提供對數据庫對象的訪問權限.
   DDL: 數据定義語言,創建,修改,刪除數据庫對象的.
   DML: 數据操縱語言,用來插入,更新,刪除數据的.

115. DCL的權限有哪些?
   CONTROL權限: 如果用戶創建一個對象,則改用戶能完全訪問該對象.
   GRANT 語句將權限授予給用戶.
   REVOKE 語句撤銷一個用戶的權限.

116. DDL有哪些?
   CREATE
   DECLARE
   ALTER
   DROP
   等

117. DML有哪些?
   INSERT
   SELECT
   UPDATE
   DELETE
   等

118. DB2有沒有布爾類型?
   沒有

119. 如何查詢DB2的內置函數?
   自帶文檔ADMINISTION-->SQL REFERENCE-->FUNCTIONS內

120. 如何執行DB2的腳本文件?
   DB2 -VTF FILENAME

121. DB2中象ORACLE的ROWNUM()是?
   ROW_NUMBER() OVER()

122. DB2如何得到錯誤代碼的說明?
   DB2 ? SQLCODE

123. DB2中的VARCHAR轉換為INTEGER的函數為?
    CAST()

124. DB2中的INTEGER轉換為VARCHAR的函數為?
    CHAR()

125. DB2中的VARCHAR轉換為DATE的函數為?
    DATE()

126. DB2中的DATE轉換為VARCHAR的函數為?
    CHAR()

127. DB2中的TRIGGER能否修改?
    不能,只能刪除重建

128. WINDOWS下如何知道DB2的端口號?
    \WINNT\SYSTEM32\DRIVERS\ETC\SERVICES

129. DB2如何執行存儲過程?
    可以  DB2 CALL PROCEDURE_NAME

130. 如何進入DB2的DOS命令方式?
    DB2CMD

131. 如何得到DB2的進程號?
    DB2 LIST APPLICATIONS

132. 如何殺DB2的進程?
    FORCE APPLICATION(ID)

133. A用戶安裝DB2后,如何用B用戶啟動DATABASE?
    在B用戶下的.PROFILE中加上
    ./HOME/DB2INST/SQLLIB/DB2PROFILE

134. DB2中類似ORACLE的快照是?
     SUMMARY TABLE



   待續...

  

 

本文地址:http://com.8s8s.com/it/it21118.htm