DB2常用傻瓜問題1000問(之三) (轉)

gugu99發表於2007-08-17
DB2常用傻瓜問題1000問(之三) (轉)[@more@]   2常用傻瓜問題1000問(之三)

作者:  CCBZZP

  大家在應用的時候可能會遇到一些看似簡單的問題,特別對新手來說,我在此簡單的
總結一下,釋出給大家,希望對大家能有所幫助,同時也歡迎大家一起探討,共同發展,共同進步!
以下主要以DB2 7.X為基礎的. 以下的字元為小寫.

  本文對DB2高手來說是不用看的.

 

  所有字元為小寫.

 

 

91. 如何建立DB2的概要表?
  DB2的概要表功能類似於的實體化檢視!
  語法為:
  CREATE SUMMARY TABLE TABLE_NAME AS (FULL) ...
  例如:
  定義一個可以重新整理的概要表:
  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 NTITY 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,W等

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. 和上建立管道事件監控器(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 '.TMPEVPIPE1'

  第二步: 建立命名管道
  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:
  可以使用DINNECTNAMEDPIPE()函式.

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

114. DB2的語句的類別?
  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--&gtSQL REFERENCE--&gtFUNCTIONS內

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的埠號?
  WINNTSYSTEM32SETCSERVICES

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



  待續...

 

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-962997/,如需轉載,請註明出處,否則將追究法律責任。

相關文章