天天看點

IBM DB2 日常維護彙總

××××××××××××××××××××××××××××××××××××××××××××

IBM DB2 日常維護彙總

1.DB2 産品的級别有那些 ?

  企業版的 NTERPRISEEDITION

  工作組版 WORKGROUPEDITION

  企業擴充版 ENTERPRISEEXTENDEDEDITION

  個人版的 PERSONALEDITION

  衛星版的 SATELLITEEDITION

  微型版的 EVERYPLACE

  

   2. 可以連接配接到 DB2 資料庫的産品有哪些 ?

   DB2 用戶端

   DB2CONNECT

   DB2DATAPROPAGATOR

   DB2NET.DATA

   DB2DATAJOINER

   DB2RELATIONALCONNECT

   WEBSPHERE 應用伺服器

  等

  

   3.DB2 支援的通訊協定有哪些 ?

   TCP/IP

   NETBIOS

   APPG

   IPX/SPX

   NAMEPIPE

  等

  

   4.DB2 用戶端産品有哪些 ?

   DB2 運作時間用戶端 DB2RUNTIMECLIENT

   DB2 管理用戶端 DB2ADMINISTRATIONCLIENT

   DB2 應用程式開發用戶端 DB2APPLICATIONDEVELOPMENTCLIENT

   DB2 瘦用戶端 DB2THINCLIENT

  

   5. 一個資料庫是否可以安裝在多個資料庫伺服器上 ?

  可以

  

   6. 從哪個版本後存儲過程可以用 SQL 語句來建立 ?

   7.1 版後

  

   7.DB2 提供哪些關系擴充器 ?

  文本擴充器 TEXTEXTENDER

  圖象擴充器 IMAGEEXTENDER

  音頻擴充器 AUDIOEXTENDER

  視訊擴充器 VIDEOEXTENDER

  空間資料擴充器 SPATIALEXTENDER

   XML 擴充器 XML EXTENDER

  網絡搜尋擴充器 NET.SEARCHEXTENDER

  

   8.WINDOWS 和 OS/2 環境下的 DB2 安裝目錄結構 ?

  用 SETUP.EXE 來安裝

  

   SQLLIB 安裝的根目錄 , 包括 README 檔案

   SQLLIBADSM 包含 ADSTAR 分布式存儲管理器檔案

   SQLLIBBIN 包含 DB2 工具的可執行檔案

   SQLLIBBND 包含 DB2 工具的綁定檔案

   SQLLIBCC 包含運作控制中心所需的檔案

   SQLLIBCFG 包含預設的系統配置檔案

   SQLLIBCONV 包含代碼頁轉換表檔案

   SQLLIBDB2 預設的執行個體目錄

   SQLLIBDB2DAS00 預設的 DB2 管理伺服器目錄

   SQLLIBDOC 包含 DB2 聯機手冊

   SQLLIBFUNCTION 預設的使用者自定義函數目錄

   SQLLIBFUNCTIONUNFENCED 預設的非隔離使用者自定義函授目錄

   SQLLIBHELP 聯機幫助檔案

   SQLLIBJAVADB2 所需的 JAVA 類庫

   JAVA12 包含 JDK1.2 的支援程式

   SQLLIBMISC 包含 HTML 搜尋伺服器檔案

   SQLLIBMSGPRIME 包含資訊檔案

   SQLLIBQP 包含 QUERYPATROLLER 的用戶端檔案

   SQLLIBSAMPLES 包含樣例程式和樣例腳本

   SQLLIBSPMLOG 包含 DB2 同步點管理器日志檔案

   SQLLIBTHNSETUP 包含瘦用戶端安裝檔案

    9.UNIX 和 LINUX 環境下的 DB2 安裝目錄結構 ?

  用 DB2SETUP.EXE 來安裝

  安裝的根目錄下還将建立以下目錄 :

  

   README 安裝的根目錄 , 包括 README 檔案

   ADM 包含系統管理工具檔案

   ADSM 包含 ADSTAR 分布式存儲管理器檔案

   BIN 包含 DB2 工具的二進制可執行檔案

   BND 包含 DB2 工具的綁定檔案

   CC 包含運作控制中心所需的檔案

   CFG 包含預設的系統配置檔案

   CONV 包含代碼頁轉換表檔案

   DOC 包含 DB2 聯機手冊

   FUNCTION 預設的使用者自定義函數目錄

   FUNCTIONUNFENCED 預設的非隔離使用者自定義函授目錄

   INSTALL 包含安裝程式

   INSTANCE 包含執行個體腳本

   JAVADB2 所需的 JAVA 類庫

   LIBDB2 庫檔案

   MAP 包含 DB2CONNECT 使用的映射檔案

   MISC 包含 HTML 搜尋伺服器檔案

   SAMPLES 包含樣例程式和樣例腳本

   MSG 包含 DB2 資訊檔案

10.AIX 下用哪個指令來安裝 DB2?

   INSTALLP 指令

  

   11. 同一作業系統下可以安裝多個 DB2 資料庫 ?

  可以的

  

   12. 如何停止執行個體 ?

   DB2STOP

  

   13. 如何啟動執行個體 ?

   DB2START

  

   14. 如何修改注冊項的值 ?

   DB2SET 可以修改

  如 :

  設定目前執行個體的一個參數

   DB2SETPARAMETER=VALUE

  

  設定一個全局級的參數

   DB2SETPARAMETER=VALUE-G( 小寫 )

  

  檢視能在配置檔案系統資料庫中設定的所有變量的清單

   DB2SET-LR( 小寫 )

  

   15. 如何在 CLP 執行作業系統的指令 ?

  在指令前加 "!" 作為字首

   DB2=>!DIRC:

  

   16. 在 CLP 中指令過長怎麼辦 ?

  用 "" 作為續行符号

  

   17. 如何獲得 DB2 的指令的文法相關資訊 ?

   DB2? 顯示所有 DB2 指令

   DB2?COMMAND 顯示指令資訊

   DB2?SQLnnnn 顯示這個 SQLCODE 的解釋資訊

   DB2?DB2nnnn 顯示這個 DB2 錯誤的解釋資訊

  

   18. 如何檢視目前 CLP 的設定 ?

   DB2=>LISTCOMANDOPTIONS

  

   19. 如何更新目前 CLP 會話的特定項設定 ?

   DB2UPDATECOMMANDOPTIONSUSINGOPTIONS...

  

   20.COMMANDWINDOWS 可以通過哪個指令調用 ?

   DB2CMD 指令

  

   21. 管理伺服器的預設名為 ?

   UNIX 下為 DB2AS

   WINDOWS 下為 DB2DAS00

   22. 常用管理 DB2 伺服器執行個體的指令 ?

   DB2ADMINSTART 啟動 DB2 管理伺服器執行個體

   DB2ADMINSTOP 停止 DB2 管理伺服器執行個體

   DASICRTUNIX 下建立 DB2 管理伺服器執行個體

   DASIDROPUNIX 下删除 DB2 管理伺服器執行個體

   DB2ADMINCREATEWINDOWSOROS/2 下建立 DB2 管理伺服器執行個體

   DB2ADMINDROPWINDOWSOROS/2 下删除 DB2 管理伺服器執行個體

   DB2GETADMINCFG 顯示 DB2 管理伺服器的配置參數

   DB2UPDATEADMINCFG 修改 DB2 管理伺服器的配置參數

   DB2RESETADMINCFG 将 DB2 管理伺服器的配置參數設為預設值

  

   23.DB2 目錄分為哪幾種 ?

  系統資料庫目錄

  本地資料庫目錄

  節點目錄

   DCS 目錄

  管理節點目錄

  

   24. 如何檢視系統資料庫目錄 ?

   LISTDBDIRECTORY

  

   25. 如何檢視資料庫伺服器目錄 ?

   LISTNODEDIRECTORY

26.DB2 執行個體的伺服器的預設端口是 ?

   50000

  伺服器名稱為 DB2CDB2

  

   27.DB2UDB 伺服器端的認證類型有 ?

   SERVER

   SERVER_ENCRYPT

   CLIENT

   DCE

   DCE_SERVER_ENCRYPT

   KERBEROS

   KRB_SERVER_ENCRYPT

  

   28.DB2 用戶端的認證類型有 ?

   SERVER

   SERVER_ENCRYPT

   DCS

   DCS_ENCRYPT

   CLIENT

   DCE

  

   29.DB2 中有哪幾種類型的權限 ?

   SYSADM 系統管理權限

   SYSCTRL 系統控制權限

   SYSMAINT 系統維護權限

   DBADM 資料庫管理權限

   LOAD 對表進行 LOAD 操作的權限

  

   30. 不能通過 GRANT 授權的權限有哪種 ?

   SYSAM

   SYSCTRL

   SYSMAINT

  要更該述權限必須修改資料庫管理器配置參數

  

   31. 表的類型有哪些 ?

  永久表 ( 基表 )

  臨時表 ( 說明表 )

  臨時表 ( 派生表 )

  

   32. 如何知道一個使用者有多少表 ?

   SELECT*FROMSYSIBM.SYSTABLESWHERECREATOR='USER'

  

   33. 如何知道使用者下的函數 ?

   select*fromIWH.USERFUNCTION

   select*fromsysibm.SYSFUNCTIONS

   34. 如何知道使用者下的 VIEW 數 ?

   select*fromsysibm.sysviewsWHERECREATOR='USER'

  

   35. 如何知道目前 DB2 的版本 ?

   select*fromsysibm.sysvERSIONS

  

   36. 如何知道使用者下的 TRIGGER 數 ?

   select*fromsysibm.SYSTRIGGERSWHERESCHEMA='USER'

  

   37. 如何知道 TABLESPACE 的狀況 ?

   select*fromsysibm.SYSTABLESPACES

  

   38. 如何知道 SEQUENCE 的狀況 ?

   select*fromsysibm.SYSSEQUENCES

  

   39. 如何知道 SCHEMA 的狀況 ?

   select*fromsysibm.SYSSCHEMATA

  

   40. 如何知道 INDEX 的狀況 ?

   select*fromsysibm.SYSINDEXES

  

   41. 如何知道表的字段的狀況 ?

   select*fromsysibm.SYSCOLUMNSWHERETBNAME='AAAA'

  

   42. 如何知道 DB2 的資料類型 ?

   select*fromsysibm.SYSDATATYPES

  

   43. 如何知道 BUFFERPOOLS 狀況 ?

   select*fromsysibm.SYSBUFFERPOOLS

  

   44.DB2 表的字段的修改限制 ?

  隻能修改 VARCHAR2 類型的并且隻能增加不能減少 .

  

   45. 如何檢視表的結構 ?

   DESCRIBLETABLETABLE_NAME

   OR

   DESCRIBLESELECT*FROMSCHEMA.TABLE_NAME

46. 如何快速清除一個大表 ?

   ALTERTABLETABLE_NAMEACTIVENOTLOGGEDINITALLYWITHEMPTYTABLE

    ALTER TABLETABLE_NAME ACTIVE NOT LOGGED INITALLY  WITH EMPTYTABLE

     兩個 commit 之間的 delete  動作是不記日志的  

    commit

    alter table ab activate not logged intially

    delete ab where id >1000

    commit

     (建立的表 ab 不記錄日志: create table ab (id int) not logged initially )

  

   47. 如何檢視資料庫的包 ?

   select*fromsysCAT.PACKAGES

  

   48. 如何檢視資料庫的存儲過程 ?

   SELECT*FROMSYSCAT.PROCEDURES

  

   49. 如何檢視表的限制 ?

   SELECT*FROMSYSCAT.CHECKSWHERETABNAME='AAAA'

  

   50. 如何檢視表的引用完整限制 ?

   SELECT*FROMSYSCAT.REFERENCESWHERETABNAME='AAAA'

   51. 安裝 DB2 預設的事例名稱是 ?

  在 WINDOWS 或 OS/2 中預設的是 DB2

  在 LINUX 或 UNIX 環境下預設的是 DB2INST1

  

   52. 安裝後的預設帳戶是 ?

  在 WINDOWS 或 OS/2 中預設的是 DB2ADMIN

  在 LINUX 或 UNIX 環境下預設的是 DB2AS

   53. 事例的類型有哪些 ?

   CLIENT( 客戶 )

   STANDALONE( 獨立的 )

   SATELLITE( 衛星 )

   EEDB2

   EEE

  

   54. 如何建立事例 ?

   DB2ICRTINSTNAME<...PARAMETERS>

  

   55. 如何列出系統上的所有可用事例 ?

   DB2ILIST

  

   56. 如何知道目前對話用的是哪個事例 ?

   GETINSTANCE

  

   57. 如何更新事例的配置 ?

   DB2IUPDT

  

   58. 如何删除事例 ?

   DB2IDROPINSTANCE_NAME

  具體步驟如下 :

  停止事例上所有應用程式

  在所有打開的指令行上執行 DB2TERMINATE

  運作 DB2STOP

  備份 DB2INSTPROF 注冊變量指出的事例目錄

  退出事例所有登陸者

  使用 DB2IDROP

  也可以删除 ID

  

   59. 如何列出本地系統上有許可資訊的所有産品 ?

   DB2LICM-L

  

   60. 如何增加一産品許可 ?

   DB2LICM-AFILENAME

  

   61. 如何删除一個産品的許可 ?

   DB2LICM-RPRODUCTPASSWORD

  

   62. 如何更新已購買的許可數量 ?

   DB2LICM-U

  

   63. 如何強制隻使用已經購買的數量 ?

   DB2LICM-EHARD

64. 如何更新系統上所使用的許可政策類型 ?

   DB2LICM-PREGISTEREDCONCURRENT

  

   65. 如何更新系統上的處理器的數量 ?

   DB2LICM-N

  

   66. 如何查詢許可檔案記錄的版本資訊 ?

   DB2LICM-V

  

   67. 如何查詢 DB2LICM 的幫助資訊 ?

   DB2LICM-H

  

   68. 一個資料庫至少包括哪些表空間 ?

  一個目錄表空間

  一個或多個使用者表空間

  一個或多個臨時表空間

  

   69. 根據資料與存儲空間之間移動的控制方式不同 , 分哪兩種表空間 ?

  系統管理的空間 (SMS)

  資料庫管理的空間 (DMS)

  

   70. 如何列出系統資料庫目錄的内容 ?

   LISTDATABASEDIRECTORY

  

   71.CREATEDATABASE 是 SQL 指令嗎 ?

  不是 , 是系統指令

  

   72. 如何檢視資料庫 ABC 的配置檔案的内容 ?

   GETDATABASECONFIGURATIONFORABC

  

   73. 如何将資料庫 ABC 的參數設定為預設數值 ?

   RESETDATABASECONFIGURATIONFORABC

  

   74. 如何修改資料庫 ABC 配置參數數值 ?

   UPDATEDATABASECONFIGURATIONFORABC

   USING

  

   75. 如何重新啟動資料庫 ?

   RESTARTDATABASEDATABASE_NAME

  

   76. 如何激活資料庫 ?

   ACTIVATEDATABASEDATABASE_NAME

  

   77. 如何停止資料庫 ?

   DEACTIVATEDATABASEDATABASE_NAME

   78. 如何删除資料庫 ?

   DROPDATABASEDATABASE_NAME

  

   79. 如何建立模式 ?

   CREATESCHEMASCHEMA_NAME

  

   80. 如何設定模式 ?

   SETSCHEMA=SCHEMA_NAME

  

   81. 表的類型有哪些 ?

  基本表

    結果表

  概要表

  類型表

  子類型

  子表

  聲明的臨時表

  系統臨時表

   82. 如何定義序列 ?

   CREATESEQUENCEORDERSEQSTARTWITH1INCREMENTBY1NOMAXVALUENOCYCLECACHE24

   83. 如何将表置于檢查挂起狀态 ?

   SETINTEGRITYTABLE_NAMEOFF

  

   84. 如何獲得表的排斥鎖 ?

   LOCKTABLETABLE_NAMEINEXCLUSIVEMODE

  

   85. 如何把表調整為沒有檢查資料的線上狀态 ?

   SETINTEGRITYFORTABLE_NAMEALLIMMEDIATEUNCHECKED

   86. 如何解除表的鎖定 ?

   COMMIT

  

   87. 如何關閉表的日志 ?

   ALTERTABLETABLE_NAMEACTIVENOTLOGGEDINIALLY

  

   88. 如何删除表 ?

   DROPSCHEMA.TABLE_NAME

    

   89. 如何重命名表 ?

   RENAMETABLE_OLDTOTABLE_NEW

  

   90. 如何取目前時間 ?

   SELECTCURRENTTIMESTAMPFROMSYSIBM.SYSDUMMY1

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) 的檔案格式有 ?

  有

IBM DB2 日常維護彙總

EL,ASC,IXF,WSF 等

   102.DB2 支援導出 (EXPORT) 的檔案格式有 ?

  有

IBM DB2 日常維護彙總

EL,IXF,WSF 等 .

  不支援 ASC 格式 .

  

   103.DB2 支援載入 (LOAD) 的檔案格式有 ?

  有

IBM DB2 日常維護彙總

EL,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'/.TMPEVPIPE1'

  第二步 : 建立命名管道

   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 的端口号 ?

   WINNTSYSTEM32DRIVERSETCSERVICES

  

   129.DB2 如何執行存儲過程 ?

  可以 DB2CALLPROCEDURE_NAME

  

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

   DB2CMD

  

   131. 如何得到 DB2 的程序号 ?

   DB2LISTAPPLICATIONS

  

   132. 如何殺 DB2 的程序 ?

   FORCEAPPLICATION(ID) DB2 函數

   135.AVG()

  傳回一組數值的平均值 .

   SELECTAVG(SALARY)FROMBSEMPMS;

  

   136.CORR(),CORRELATION()

  傳回一對數值的關系系數 .

   SELECTCORRELATION(SALARY,BONUS)FROMBSEMPMS;

  

   137.COUNT()

  傳回一組行或值的個數 .

   SELECTCOUNT(*)FROMBSEMPMS;

  

   138.COVAR(),COVARIANCE()

  傳回一對數值的協方差 .

   SELECTCOVAR(SALARY,BONUS)FROMBSEMPMS;

  

   139.MAX()

  傳回一組數值中的最大值 .

   SELECTMAX(SALARY)FROMBSEMPMS;

   140.MIN()

  傳回一組數值中的最小值 .

   SELECTMIN(SALARY)FROMBSEMPMS;

  

   141.STDDEV()

  傳回一組數值的标準偏差 .

   SELECTSTDDEV(SALARY)FROMBSEMPMS;

  

   142.SUM()

  傳回一組資料的和 .

   SELECTSUM(SALARY)FROMBSEMPMS;

  

   143.VAR(),VARIANCE()

  傳回一組數值的方差 .

   SELECTVARIANCE(SALARY)FROMBSEMPMS;

  

   144.ABS(),ABSVAL()

  傳回參數的絕對值 .

   SELECTABS(-3.4)FROMBSEMPMS;

  

   145.ACOS()

  傳回參數的反餘弦值 .

   SELECTACOS(0.9)FROMBSEMPMS;

  

   146.ASCII()

  傳回整數參數最左邊的字元的 ASCII 碼 .

   SELECTASCII('R')FROMBSEMPMS;

  

   147.ASIN()

  傳回用弧度表示的角度的參數的反正弦函數 .

   SELECTASIN(0.9)FROMBSEMPMS;

  

   148.ATAN()

  傳回參數的反正切值 , 該參數用弧度表示的角度的參數 .

   SELECTATAN(0.9)FROMBSEMPMS;

  

   149.ATAN2()

  傳回用弧度表示的角度的 X 和 Y 坐标的反正切值 .

   SELECTATAN2(0.5,0.9)FROMBSEMPMS;

  

   150.BIGINT()

  傳回整型常量中的數字或字元串的 64 位整數表示 .

   SELECTBIGINT(EMP_NO)FROMBSEMPMS;

  

   151.CEILING()ORCEIL()

  傳回比參數大或等于參數的最小的整數值 .

   SELECTCEILING(3.56)FROMBSEMPMS;

   SELECTCEIL(4.67)FROMBSEMPMS;

  

   152.CHAR()

  傳回日期時間型 , 字元串 , 整數 , 十進制或雙精度浮點數的字元串表示 .

   SELECTCHAR(SALARY,',')FROMBSEMPMS;

  

   153.CHR()

  傳回具有由參數指定的 ASCII 碼的字元 .

   SELECTCHAR(167)FROMBSEMPMS;

  

   133.A 使用者安裝 DB2 後 , 如何用 B 使用者啟動 DATABASE?

  在 B 使用者下的 .PROFILE 中加上

   ./HOME/DB2INST/SQLLIB/DB2PROFILE

  

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

   SUMMARYTABLE

154.CONCAT()

  傳回兩個字元串的連接配接 .

   SELECTCONCAT(EMP_NO,EMP_NAM)FROMBSEMPMS;

  

   155.YEAR()

  傳回數值的年部分 .

   SELECTYEAR('2003/01/02')FROMBSEMPMS;

  

   156.VARCHAR()

  傳回字元串 , 日期型 , 圖形串的可變長度的字元串表示 .

   SELECTVARCHAR(EMP_NAM,50)FROMBSEMPMS;

  

   157.UCASE()ORUPPER()

  傳回字元串的大寫 .

   SELECTUCASE(EMP_NAM)FROMBSEMPMS;

   SELECTUPPER(EMP_NO)FROMBSEMPMS;

   158.TRUNCATE()ORTRUNC()

  從表達式小數點右邊的位置開始截斷并傳回該數值 .

   SELECTTRUNCATE(345.6789,2)FROMBSEMPMS;

  

   159.TIME()

  傳回一個數值中的時間 .

   SELECTTIME('2001-03-19.12.30.123456')FROMBSEMPMS;

  

   160.SUBSTR(EXP1,EXP2)

  傳回 EXP1 串自 EXP2 處開始的子串 .

   SELECTSUBSTR('CDNJFDJFJD',5)FROMBSEMPMS;

   SELECTSUBSTR('CDNJFDJFJD',5,2)FROMBSEMPMS;

  

   161.SQRT()

  傳回該參數的平方根 .

   SELECTSQRT(36)FROMBSEMPMS;

  

   162.SPACE()

  傳回由參數指定的長度 , 包含空格在内的字元串 .

   SELECTSPACE(10)FROMBSEMPMS;

  

   163.SECOND()

  傳回一個數值的秒部分 .

   SELECTSECOND('18:34:32')FROMBSEMPMS;

  

   164.RTRIM()

  删除字元串尾部的空格 .

   SELECTRTRIM('COMMENT')FROMBSEMPMS;

  

   165.ROUND(EXP1,EXP2)

  傳回 EXP1 小數點右邊的第 EXP2 位置處開始的四舍五入值 .

   SELECTROUND(2345.6789,2)FROMBSEMPMS;

  

   166.REPLACE(EXP1,EXP2,EXP3)

  用 EXP3 替代 EXP1 中所有的 EXP2

   SELECTCHAR(REPLACE('ROMANDD','NDD','CCB'),10)FROMBSEMPMS;

167.REPEAT(EXP1,EXP2)

  傳回 EXP1 重複 EXP2 次後的字元串 .

   SELECTCHAR(REPEAT('REPEAT',3),21)FROMBSEMPMS;

  

   168.REAL()

  傳回一個數值的單精度浮點數表示 .

   SELECTREAL(10)FROMBSEMPMS;

  

   169.RAND()

  傳回 0 和 1 之間的随機浮點數 .

   SELECTRAND()FROMBSEMPMS;

  

   170.POWER(EXP1,EXP2)

  傳回 EXP1 的 EXP2 次幂 .

   SELECTPOWER(2,5)FROMBSEMPMS;

  

   171.POSSTR(EXP1,EXP2)

  傳回 EXP2 在 EXP1 中的位置 .

   SELECT('ABCDEFGH','D')FROMBSEMPMS;

  

   172.NULLIF(EXP1,EXP2)

  如果 EXP1=EXP2, 則為 NULL, 否則為 EXP1

   173.NODENUMBER()

  傳回行的分區号 .

   SELECTNODENUMBER(EMP_NO)FROMBSEMPMS;

  

   174.MONTH()

  傳回一個數值的月部分 .

   SELECTMONTH('2003/10/20')FROMBSEMPMS;

  

   175.MOD(EXP1,EXP2)

  傳回 EXP1 除以 EXP2 的餘數 .

   SELECTMOD(20,8)FROMBSEMPMS;

  

   176.MINUTE()

  傳回一個數值的分鐘部分 .

   SELECTMINUTE('18:34:23')FROMBSEMPMS;

  

   177.LTRIM()

  删除字元串前面的空格 .

   SELECTLTRIM('CDDD')FROMBSEMPMS;

  

   178.HOUR()

  傳回一個數值的小時部分 .

   SELECTHOUR('18:34:23')FROMBSEMPMS;

  

   179.DOUBLE()

  如果參數是一個數字表達式 , 傳回與其相對應的浮點數 , 如果參數是字元串表達式 , 則傳回該數的字元串表達式 .

   SELECTDOUBLE('5678')FROMBSEMPMS;

  

   180.EXP()

  傳回參數的指數函數 .

   SELECTEXP(2)FROMBSEMPMS;

  

   181.FLOAT()

  傳回一個數的浮點表示 .

   SELECTFLOAT(789)FROMBSEMPMS;

  

     182.FLOOR()

  傳回小于或等于參數的最大整數 .

   SLECTFLOOR(88.93)FROMBSEMPMS;

  

   183.HEX()

  傳回一個表示為字元串的值的 16 進制表示 .

   SELECTHEX(16)FROMBSEMPMS; 

1. 檢視本地節點目錄

指令視窗中輸入:db2 list node directory

2. 編目一個TCP/IP節點

指令視窗:db2 catalog tcpip node remote server ostype

3. 取消節點編目

db2 uncatalog node

4. 檢視系統資料庫目錄

db2 list database directory

5. 檢視本地資料庫目錄

db2 list database directory on <盤符>

在本地資料庫目錄中有而系統資料庫目錄中沒有的資料庫不能通路,可以在控制中心中選中<資料庫>右鍵單擊選擇添加,然後輸入需要添加的資料庫名稱或者點選重新整理按鈕選擇資料庫,加入資料庫後即可以通路。

6. 編目資料庫

db2 catalog database as at node

7. 取消資料庫編目

db2 uncatalog database

8. 測試遠端資料庫的連接配接

db2 connect to user using

9. 設定預設模式

任何使用者均可通過設定Current Schema專用寄存器為特定的資料庫連接配接設定預設模式,初始預設值為目前會話使用者的權限ID。

set schema =

可以由使用者互動式的使用,也可在應用程式中使用,如果用Dynamicrules Bind選項綁定包,這個語句就沒有作用。此語句不在事務控制之下。

10. 代碼頁的設定

在建立資料庫時設定字元集

create database using codeset territory

例:

create database dbtest using codeset IBM-437 territory US

也可以設定整個資料庫的代碼頁,在win2000/NT/xp中,在我的電腦-->屬性-->進階-->環境變量中添加變量DB2CODEPAGE = ,例:DB2CODEPAGE = 437 或 DB2CODEPAGE = 1386。或者在IBM DB2指令視窗輸入 db2set DB2CODEPAGE=1386,設定後需要重新啟動DB2生效。

11. DB2低版本資料到高版本的遷移

先将低版本資料備份使用恢複功能導入高版本資料庫,然後在指令視窗輸入 db2 migrate database 。

12. 表名或模式中含有引号時通路表

指令視窗:db2 select * from "tabschema"."tabname"

指令行處理器:db2=> select * from "tabschema"."tabname"

13. 導出資料庫的表結構生成DDL檔案

指令視窗:db2look -d -e -c -o

14. 執行腳本檔案

指令視窗:db2 -tvf

15. 代碼頁的轉換

16. 擷取目前DB2的版本

select * from sysibm.sysversions

17. DB2表的字段的修改限制?

隻能修改VARCHAR2類型的并且隻能增加不能減少

alter table alter column set data type varchar(SIZE)

18. 如何檢視表的結構?

describe table

or

describe select * from .

19. 如何快速清除一個大表?

ALTER TABLE TABLE_NAME ACTIVE NOT LOGGED INITALLY WITH EMPTY TABLE

20. 如何檢視資料庫的存儲過程?

SELECT * FROM SYSCAT.POCEDURES

21. 如何檢視表的限制?

SELECT * FROM SYSCAT.CHECKS WHERE TABNAME =

22. 如何檢視表的引用完整限制?

SELECT * FROM SYSCAT.REFERENCES WHERE TABNAME =

23. 如何知道BUFFERPOOLS狀況?

select * from SYSCAT.BUFFERPOOLS

24. 如何在指令行下檢視修改執行個體和資料庫配置參數?

檢視執行個體配置參數: db2 get dbm cfg

修改執行個體配置參數: db2 update dbm cfg using 參數名 新值

檢視資料庫配置參數: db2 get db cfg for

修改資料庫配置參數: db2 update db cfg for using 參數名 新值

25. 如何修改緩沖區?

增加緩沖區: create bufferpool size [pagesize 4096] {[not] EXTENDED STORAGE}

修改緩沖區: alter bufferpool size {[not] EXTENDED STORAGE}

删除緩沖區: drop bufferpool

如果緩沖區大小設定為 -1 表示緩沖池的頁面數目由資料庫配置參數buffpage決定。

注意: 資料庫配置參數buffpage僅對緩沖區大小設定為 -1 的緩沖池起作用。

26. 多個字段時如何不通過使用select子句使用in/not in

select * from tabschema.tabname where (colA, colB, colC) [not] in (values (valueA1, valueB1, valueC1), (valueA2, valueB2, valueC2), ...(valueAn, valueBn, valueCn))

27. 檢視目前連接配接到資料庫的應用

db2 list application [show detail]

28. 如何确認DB2資料庫的一緻性

db2dart /DB

/DB表示檢查整個資料庫的一緻性

29. 測試SQL語句的性能

db2batch -d -f [-a userid/passwd] [-r ]

-r 選項表示将查詢結果輸出到一個檔案中。

30. 導出某個表的資料

export to

如:導出使用者表

export to c:user.ixf of ixf select * from user

31. 導入資料

import from

:導入使用者表。導入時可以直接建立新表。如果有該表存在也可以用INSERT 插入,或者用UPDATE更新

import from c:user.ixf of ixf [Create/Insert into / update] tablename