IBM DB2 日常维护汇总(六)(ibm.data.db2)满满干货

随心笔谈2年前发布 admin
203 0 0

文章摘要

这篇文章详细介绍了IBM DB2的日常维护操作,涵盖了以下主要内容: 1. **概要表(SUMMARY TABLE)** - 创建概要表的语法:`CREATE SUMMARY TABLE TABLE_NAME AS (SELECT*)`。 - 示例:`CREATE SUMMARY TABLE TABLE_NAME AS (SELECT* FROM TABLE_NAME WHERE COL='AAA')`。 - `DATAINITIALLYDEFERRED`和`REFRESHDEFERRED`用于控制数据刷新。 2. **刷新概要表** 使用`REFRESHTABLE`命令刷新概要表数据。 3. **修改概要表** 使用`ALTER TABLE`语句对概要表进行修改。 4. **临时表(TEMPORARY TABLE)** - 定义临时表的语法:`DECLARE GLOBAL TEMPORARY TABLE TABLE_NAME AS (SELECT*)`。 - 示例:`DECLARE GLOBAL TEMPORARY TABLE DEC_BSEMPMS AS (SELECT* FROM BSEMPMS) ...`。 5. **视图(VIEW)** - 创建视图的语法:`CREATE VIEW VIEW_NAME AS (SELECT*)`。 - 删除视图的命令:`DROP VIEW`。 6. **快照监控(SNAPSHOT MONITOR)和事件监控(EVENT MONITOR)** - `SNAPSHOT MONITOR`用于捕获特定时间点的数据库活动。 - `EVENT MONITOR`用于记录数据库操作事件。 7. **系统监控元素** 包括计数器(COUNTER)、测量(GUAGE)、水线(WATERMARK)等,用于监控数据库活动。 8. **监控堆所需的页数计算** 使用公式计算堆所需的页数。 9. **事件监控器的管理** - 创建事件监控器:`CREATE EVENT MONITOR TABLE ...`。 - 激活事件监控器:`SET MONITOR MONETABLE`。 10. **管道事件监控器(PIPELINE EVENT MONITOR)** - 创建管道事件监控器: - UNIX:`CREATE EVENT MONITOR ... FOR STATEMENTSWRITETOPIPE`。 - Windows:`CREATE EVENT MONITOR ... FOR STATEMENTSWRITETOPIPE`。 - 激活和关闭管道事件监控器: - 设置状态:`SET MONITOR MONETABLE`。 - 使用命令:`DB2EVMON`。 11. **SQL语句分类** - 数据控制语言(DCL):用于权限控制。 - 数据定义语言(DDL):用于创建、修改、删除数据库对象。 - 数据 Manipulation Language(DML):用于插入、更新、删除数据。 12. **其他主题** - **布尔类型**:IBM DB2没有布尔类型。 - **内置函数查询**:通过`ADMINISTION > SQL REFERENCE > FUNCTIONS`访问。 - **执行脚本文件**:使用`DB2-VTF`命令。 - **ORACLE的ROWNUM()类似函数**:`ROW_NUMBER() OVER()`。 - **错误代码信息**:使用`DB2?SQLCODE`。 - **数据类型转换**: - VARCHAR到INTEGER:`CAST()`函数。 - INTEGER到VARCHAR:`CHAR()`函数。 - VARCHAR到DATE:`DATE()`函数。 - DATE到VARCHAR:`CHAR()`函数。 - **触发器修改**:无法直接修改触发器,需删除后重建。 - **获取端口号**:通过`WINNTSYSTEM32DRIVERSETCSERVICES`。 - **执行存储过程**:使用`DB2CALL PROCEDURE`。 - **进入DOS命令方式**:使用`DB2CMD`。 - **获取进程号**:使用`DB2LIST APPLICATIONS`。 - **终止进程**:使用`FORCE APPLICATION(ID)`。 - **用户间启动数据库**:在目标用户中添加`DB2PROFILE`配置。 - **类似ORACLE的快照**:`SUMMARY TABLE`。 这篇文章内容丰富,涵盖了从基础操作到高级维护技巧,非常适合需要了解IBM DB2日常维护的读者参考。


正在看的db2教程是: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(

[1] [2] 下一页

正在看的db2教程是:IBM DB2 日常维护汇总(六)。)函数.

  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中加上

  https://www.jb51.net/article/HOME/DB2INST/SQLLIB/DB2PROFILE

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

  SUMMARYTABLE

上一页  [1] [2] 

您可能感兴趣的文章:解决db2事务日志已满及日志磁盘空间已满问题办法详解DB2 常用命令小结比较SQL Server与Oracle、DB2DB2数据库的备份和恢复DB2优化(简易版)IBM DB2 日常维护汇总(一)DB2数据库的安装DB2常用傻瓜问题1000问(一)DB2数据同步方面的经验DB2常用傻瓜问题1000问(四)DB2个人版(Linux)安装DB2编程序技巧 (十)IBM DB2 日常维护汇总(二)DB2常用傻瓜问题1000问(二)DB2常用傻瓜问题1000问(五)DB2 UDB V8.1管理学习笔记(二)IBM DB2 日常维护汇总(三)DB2编程序技巧 (八)分析DB2活动日志满的原因及解决DB2日志满方法与避免方案

© 版权声明

相关文章