技术开发 频道

关于DB2的常见问答

    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()函数.

0
相关文章