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
待續...
没有相关教程
|