IBM 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的

请扫描二维码添加站长微信