e股脑电脑教程网
  • 首 页
  • 操作系统
  • 应用软件
  • 下载工具
  • 影音视频
  • 办公软件
  • 媒体制作
  • 网站建设
  • 平面设计
  • 数据库
  • 程序开发
  • 视频教程
编辑推荐: | 文章搜索:
您现在的位置: e股脑 >> 数据库 >> DB2教程 >> DB2 基础知识: DB2 UDB SQL 管理例程简介 >> 教程正文
 
教程搜索
 
 
相关教程
  • 数据挖掘器: 警告 — 及时采取行动
  • UNIX、Linux 和 Windows 的生动简介
  • “总览图”: IBM DB2 通用数据库和信息
  • DB2 大事记
  • 数据管理部门副总裁兼 CTO:Don Hader
  • IBM 联邦数据库技术
  • 唐纳德.海德勒(Donald J. Haderle)
  • 数据库未来展望
  • 哪一个分布式 DB2 UDB V8 版本适合您?
  • 从数据管理到信息集成: 自然的演变
  • 联邦 - 数据库互操作性(第 1 部分)
  • 成功是必然的(中)
  • 成功是必然的(上)
  • 成功是必然的(下)
  • DB2 信息集成: 总览图
  • IBM 杰出工程师兼信息集成主管 Nelson
 
 

图文教程


  • Windows抢了谁的饭碗 非主流操作系统To

  • 地球还是火星 平常心看“非主流”

  • 综合运用Office 2007批量制作奖状

  • 没有系统盘如何才能修复受损系统?

  • 巧妙运用Excel中边界的附加功能!
 
 
赞 助 商
 
 
DB2 基础知识: DB2 UDB SQL 管理例程简介
  • 来源:e股脑
  • 点击次数:
  • 更新时间:2007-8-9

级别: 初级

Roman B. Melnyk

DB2 信息开发, IBM Canada Ltd.

2005 年 5 月 05 日

IBM DB2 Universal Database SQL 管理例程描述了一个通过 SQL 连接到 DB2 管理函数的易于使用的应用程序编程接口(API)。文中的一些工作实例将向您展示如何使用其中部分例程,这些例程可以从 DB2 命令行、命令脚本或包含嵌入式 SQL 的应用程序进行调用。

IBM® DB2® Universal DatabaseTM(DB2 UDB)SQL 管理例程包含一个内置表函数、过程和标量函数集合,其工作就是执行各种各样的 DB2 管理任务。这些任务包括执行某一项操作(例如,重组表)、检索报表(例如,返回包含系统快照数据的结果集)或返回应用程序中使用的某一个值(例如,返回当前连接的应用程序 ID)。

SQL 管理例程使通过基于 SQL 的应用程序发出管理命令成为可能,而且无需通过 CLP 进行解释。一些例程不接收任何参数,而另一些则拥有一个或多个输入参数或输出参数。表函数以可查询表的形式返回结果集。

SQL 管理例程的一个样例

表 1 总结了一些更常用的 SQL 管理例程,描述了每一个有名字的例程,并提供了展示其用法的例子。有关所有受支持例程的完整信息,请参阅 DB2 Information Center。

表 1. SQL 管理例程

例程名称 例程类型 描述 例子 ADMIN_CMD 过程 使用 SQL CALL 语句执行 DB2 命令行处理器(CLP)管理命令。目前,该过程支持下列命令:DESCRIBE、EXPORT、PRUNE HISTORY/LOGFILE、REORG INDEXES/TABLE、RUNSTATS 和 UPDATE DATABASE CONFIGURATION。有关通过 CLP 执行的命令的形式与通过 ADMIN_CMD 过程执行的命令的形式之间的语法区别,请参阅 ADMIN_CMD procedure。关于 DB2 命令行处理器的更多信息,请参阅 DB2 基础: DB2 UDB 命令行处理器入门

  • call sysproc.admin_cmd('describe select * from staff')
  • call sysproc.admin_cmd('export to /home/melnyk/output/sales.del of del messages /home/melnyk/output/export.msg select * from sales')
  • call sysproc.admin_cmd('prune history 20050502')
  • call sysproc.admin_cmd('reorg table sales allow no access')
  • call sysproc.admin_cmd('runstats on table melnyk.employee')
  • call sysproc.admin_cmd('update db cfg using logretain recovery userexit yes')
ADMIN_LIST_HIST 表函数 从与当前连接数据库分区相关的历史文件中返回信息 select eid, operation, start_time from table(sysproc.admin_list_hist()) as listhistory APPLICATION_ID 标量函数 返回当前连接的应用程序 ID。该结果的数据类型是 VARCHAR(128) select application_id() as appl_id from sysibm.sysdummy1 ENV_GET_INST_INFO 表函数 返回当前实例的有关信息 select inst_name, is_inst_partitionable, num_dbpartitions, inst_ptr_size from table(sysproc.env_get_inst_info()) as instanceinfo ENV_GET_PROD_INFO 表函数 返回与所安装 DB2 产品有关的信息 select installed_prod, prod_release from table(sysproc.env_get_prod_info()) as productinfo ENV_GET_SYS_INFO 表函数 返回系统的有关信息 select os_name, host_name, total_memory from table(sysproc.env_get_sys_info()) as systeminfo GET_DBM_CONFIG 表函数 在一个有两行记录的表中返回数据库管理器的配置信息,每列代表一个参数。第一列是 DBMCONFIG_TYPE;此列中值为 0 的那一行包含保存在磁盘上的参数值,而此列中值为 1 的那一行包含存储在内存中的当前参数值 select dbmconfig_type, numdb, diaglevel from table(sysfun.get_dbm_config()) as dbmcfg GET_DBSIZE_INFO 过程 以字节为单位计算并返回数据库的大小和最大大小 call sysproc.get_dbsize_info(?,?,?,0) HEALTH_CONT_HI, HEALTH_CONT_HI_HIS, HEALTH_CONT_INFO, HEALTH_DB_HI, HEALTH_DB_HIC, HEALTH_DB_HIC_HIS, HEALTH_DB_HI_HIS, HEALTH_DB_INFO, HEALTH_DBM_HI, HEALTH_DBM_HI_HIS, HEALTH_DBM_INFO, HEALTH_TBS_HI, HEALTH_TBS_HI_HIS, HEALTH_TBS_INFO 表函数 这些例程返回来自正常快照的信息。并根据这些例程来返回关于容器、数据库、数据库管理器或表空间的信息。一些例程返回健康指示器(health indicator)信息,而另一些例程则返回健康指示器(health indicator)历史信息。所有正常例程都有一个 INTEGER 类型的输入参数,用于指定一个有效的分区编号;您可以用值 -1 表示当前分区,或者用 -2 表示所有分区。如果指定空(null)值,则隐式地将该值设置为 -1。大多数正常例程(但不包括返回数据库管理器信息的那些例程)都有一个 VARCHAR(255) 类型的输入参数,用于指定当前连接数据库的同一实例中的有效数据库名;您可以指定空值,以便从当前连接的数据库请求信息 select snapshot_timestamp, substr(container_name,1,24) as container_name, hi_id, hi_value, hi_timestamp, hi_alert_state from table(sysproc.health_cont_hi('sample',-1)) as health_cont_hi REBIND_ROUTINE_PACKAGE 过程 重新绑定与 SQL 过程相关联的包 call sysproc.rebind_routine_package('P ','melnyk.update_inventory','ANY') REG_LIST_VARIABLES 表函数 返回调用该函数的数据库分区目前正在使用的 DB2 注册表设置 select substr(reg_var_name,1,24) as reg_var_name, substr(reg_var_value,1,12) as reg_var_value, level from table(sysproc.reg_list_variables()) as registryinfo REORGCHK_IX_STATS 过程 返回一个结果集,其中包含指示是否需要重组一个或多个索引的统计信息 call sysproc.reorgchk_ix_stats('s','melnyk') REORGCHK_TB_STATS 过程 返回一个结果集,其中包含指示是否需要重组一个或多个表的统计信息 call sysproc.reorgchk_tb_stats('t','melnyk.employee') SNAP_GET_CONTAINER, SNAP_GET_DB, SNAP_GET_DYN_SQL, SNAP_GET_STO_PATHS, SNAP_GET_TAB, SNAP_GET_TBSP, SNAP_GET_TBSP_PART 表函数 这些例程返回分别来自 tablespace_container 逻辑数据组、数据库和 detail_log 逻辑数据组、dynsql 逻辑数据组、storage_paths 逻辑数据组、表逻辑数据组、表空间逻辑数据组和 tablespace_nodeinfo 逻辑数据组的快照信息。关于逻辑数据组的更多信息,请参阅 至逻辑数据组的快照监控器接口映射。所有快照例程都有一个 INTEGER 类型的输入参数,用于指定有效的分区编号;您可以指定值 -1 来表示当前分区,或者指定-2(多数情况下)表示所有分区。如果指定空(null)值,则隐式地将该值设置为 -1。所有 SNAP_* 例程都有一个 VARCHAR(255) 类型的输入参数,用于指定当前连接数据库的同一实例中的有效数据库名;您可以指定空值,从当前连接的数据库请求信息 select snapshot_timestamp, substr(tabschema,1,16) as tabschema, substr(tabname,1,16) as tabname, tab_type, data_object_pages, rows_written, dbpartitionnum from table(sysproc.snap_get_tab('sample',-1)) as tabinfo SNAPSHOT_AGENT, SNAPSHOT_APPL, SNAPSHOT_APPL_INFO, SNAPSHOT_BP, SNAPSHOT_CONTAINER, SNAPSHOT_DATABASE, SNAPSHOT_DBM, SNAPSHOT_DYN_SQL, SNAPSHOT_FCM, SNAPSHOT_FCMNODE, SNAPSHOT_LOCK, SNAPSHOT_LOCKWAIT, SNAPSHOT_QUIESCERS, SNA

1 2 3 下一页
  • 上一篇教程: 将DB2 Information Integrator用于J2EE开发
  • 下一篇教程: DB2 Universal Database 与 Oracle 的数据移动
  •  

    关于本站 | 广告联系 | 版权声明 | 使用帮助

    Copyright © 2004-2008 www.egunao.com All rights reserved.