IBM DB2 日常维护汇总(六)

发表于:2007-07-13来源:作者:点击数: 标签:
91.如何创建DB2的概要表? DB2的概要表功能类似于ORACLE的实体化视图! 语法为: CREATESUMMARYTABLETABLE_NAMEAS(FULLSELECT)... 例如: 定义一个可以刷新的概要表: CREATESUMMARYTABLETABLE_NAMEAS(SELECT*FROMTABLE_NAME1WHERECOL1='AAA') DATAINITIALLYDEFER
 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   

原文转自:http://www.ltesting.net