程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> DB2常見問題1000問(之三)

DB2常見問題1000問(之三)

編輯:DB2教程
  在DB2的日常使用中可能會遇到一些看似簡單的問題,特別對新手來說,我在此簡單的
總結一下,發布給大家,希望對大家能有所幫助,同時也歡迎大家一起探討,共同發展,共同進步!
以下主要以DB27.X為基礎的.以下的字符為小寫.

  本文對DB2高手來說是不用看的.
  
  所有字符為小寫.
  
  91.如何創建DB2的概要表?
  DB2的概要表功能類似於Oracle(大型網站數據庫平台)的實體化視圖!
  語法為:
  CREATESUMMARYTABLETABLE_NAMEAS(FULLSELECT)...
  例如:
  定義一個可以刷新的概要表:
  CREATESUMMARYTABLETABLE_NAMEAS(SELECT*FROMTABLE_NAME1WHERECOL1='AAA')
  DATAINITIALLYDEFERREDREFRESHDEFERRED
  其中DATAINITIALLYDEFERRED規定不能將數據作為CREATETABLE語句的一部分插入表中.
  REFRESHDEFERRED規定表中的數據可以在任何使用了REFRESHTABLE語句的時候獲得刷新!
  
  92.如何刷新概要表?
  REFRESHTABLESUM_TABLE
  其中SUM_TABLE為概要表.
  
  93.如何修改概要表?
  ALTERTABLESUM_TABLE...
  
  94.如何創建臨時表?
  語法:
  DECLAREGLOBALTEMPORARYTABLETABLE_NAME
  AS(FULLSELECT)DEFINITIONONLY
  EXCLUDINGIDENTITYCOLUMNATTRIBUTES
  ONCOMMITDELETEROWS
  NOTLOGGED
  第一行規定臨時表的名稱.
  第二行規定臨時表的列的定義.
  第三行規定不是從源結果表定義中復制的恆等列.
  第四行規定如果沒有打開WITHGOLD光標,將會刪除表的所有行.
  第五行規定不對表的改變進行記錄.
  例如:
  DECLAREGLOBALTEMPORARYTABLEDEC_BSEMPMS
  AS(SELECT*FROMBSEMPMS)DEFINITIONONLY
  EXCLUDINGIDENTITYCOLUMNATTRIBUTES
  ONCOMMITDELETEROWS
  NOTLOGGED
  
  95.視圖的管理?
  如何創建視圖:
  CREATEVIEWVIEW_NAMEASSELECT*FROMTABLE_NAMEWHERE...
  刪除視圖:
  DROPVIEWVIEW_NAME
  
  96.如何知道視圖定義的內容?
  SELECT*FROMSYSCAT.VIEWS中的TEXT列中.
  
  97.如何創建別名?
  CREATEALIASALIAS_NAMEFORPRO_NAME
  後面的PRO_NAME可以是TABLE,VIEW,ALIAS,NICKNAME等.
  
  98.如何創建序列?
  例如:
  CREATESEQUENCESEQUENCE_NAME
  STARTWITHSTART_NUMBER
  INCREMENTBYVALUE1
  NOMAXVALUE
  NOCYCLE
  CACHEMAXIMUMNUMBEROFSEQUENCEVALUES
  第一行規定序列的名稱.
  第二行規定序列的開始數值.
  第三行規定每次新增的幅度.
  第四行規定沒有最大數值限制.
  第五行規定最大數值限制.

  


  99.如何更改序列?
  ALTERSEQUENCESEQUENCE_NAME...
  可以修改的參數
  STARTWITH的START_NUMBER
  INCREMENT的VALUE1
  NOMAXVALUE的數值
  NOCYCLE屬性
  MAXIMUMNUMBEROFSEQUENCEVALUES最大數值
  
  100.如何刪除序列?
  DROPSEQUENCESEQUENCE_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數據庫監控的兩個組成部分?
  快照監控(SNAPSHOTMONITOR)可返回特定時間點的數據庫活動的快照.
  事件監控(EVENTMONITOR)記錄事件發生的數據.
  
  106.系統監控的數據元素類型?
  計數器(COUNTER)記錄活動發生的次數.
  測量(GAUGE)測量條目的當前值.
  水線(WATERMARK)從監控來元素達到的最大或最小數值.
  信息(INFORMATION)監控活動的參照類型細節.
  時間點(TIMESTAMP)活動發生的日期時間.
  時間(TIME)返回一個活動花費的時間.
  
  107.如何知道監控堆所需的頁的數量?
  (NUMBEROFMONITORINGAPPLICATIONS+1)*(NUMBEROFDATABASES*(800+(NUMBEROFTABLES
  
  AccessED*20)+((NUMBEROFAPPLICATIONSCONNECTED+1)*(200+(NUMBEROFTABLE
  
  SPACES*100)))))/4096
  其大小受參數MON_HEAD_SZ控制.
  
  108.如何建立事件監控器?
  CREATEEVENTMONITORTABLEMONFORTABLESWRITETOFILE'D:\TEMP'
  
  109.如何激活事件監控器?
  SETEVENTMONITORTABLEMONSTATE1
  
  110.如何停止事件監控器?
  SETEVENTMONITORTABLEMONSTATE0
  
  111.如何查詢監控器的狀態?
  SELECTEVMONNAME,EVENT_MON_STATE(EVMONNAME)FROMSYSCAT.EVENTMONITORS

  112.如何刪除事件監控器?
  DROPEVENTMONITORTABLEMON
  
  113.UNIX和Windows上創建管道事件監控器(PIPE意EVNT見MONITOR)的不同?
  第一步:定義事件監控器
  UNIX:
  CONNECTTOSAMPLE
  CREATEEVENTMONITORSTMB2FORSTATEMENTSWRITETOPIPE'/TMP/EVPIPE1'
  Windows:
  CONNECTTOSAMPLE
  CREATEEVENTMONITORSTMB2FORSTATEMENTSWRITETOPIPE'\\.\TMP\EVPIPE1'
  
  第二步:建立命名管道
  UNIX:
  可以使用MKFIFO()函數或者MKFIFO命令.
  Windows:
  可以使用CREATENAMEDPIPE()函數,管道名稱與CREATEEVENTMONITOR規定名稱相同.
  
  第三步:打開命名管道
  UNIX:
  使用OPEN()函數.
  Windows:
  使用CONNECTNAMEDPIPE()函數.
  也可以用DB2EVMON命令,如:
  DB2EVMON-DBSAMPLE-EVMSTMB2
  
  第四步:激活命名管道事件監控器
  除非自動激活命名管道事件監控器,否則
  SETEVENTMONITORSTMB2STATE1

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

  第六步:停止事件監控器
  SETEVENTMONITORSTMB2STATE0
  
  第七步:關閉命名管道
  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-->SQLREFERENCE-->FUNCTIONS內

  120.如何執行DB2的腳本文件?
  DB2-VTFFILENAME
  
  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如何執行存儲過程?
  可以DB2CALLPROCEDURE_NAME
  
  130.如何進入DB2的DOS命令方式?
  DB2CMD
  
  131.如何得到DB2的進程號?
  DB2LISTAPPLICATIONS
  
  132.如何殺DB2的進程?
  FORCEAPPLICATION(ID)
  
  133.A用戶安裝DB2後,如何用B用戶啟動DATABASE?
  在B用戶下的.PROFILE中加上
  ./HOME/DB2INST/SQLLIB/DB2PROFILE
  
  134.DB2中類似Oracle(大型網站數據庫平台)的快照是?
  SUMMARYTABLE
        
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved