Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103760211
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: DB2/Informix

2008-05-31 18:25:21

SQL 管理 API 函数

SQL 管理 API 是内置的 SQL 管理 API 函数,可通过 SQL 的 EXECUTE Ffunction 语句完成管理性任务,该语句可以模仿 Dynamic Server 的各种管理命令行实用工具。

ADMINTASK 内置函数只在每个 Dynamic Server 实例的 sysadmin 数据库中做了定义。这些函数只能由用户 Informix 调用。

使用相同参数列表调用 admin( )task( ) 函数的结果是相同的;只是返回的值不同:

  • task() UDR 返回描述返回状态的字符串
  • admin() UDR 返回一个整数返回状态,表示到 command_history 表的链接
    • 如果该值大于 0,则命令成功执行,并将一个新行插入到 command_history 表
    • 如果该值为 0,表示命令成功,但是 Dynamic Server 不会把新行插入到 command_history 表
    • 如果该值小于 0,表示命令失败,但是仍然将新行插入到 command_history 表中


数据类型 说明
cmd_number serial 每行的惟一 ID
cmd_exec_time datetime year-to-second 发出命令的时间
cmd_user varchar 执行命令的用户
cmd_hostname varchar 执行命令的主机的名称
cmd_executed varchar 执行的命令
cmd_ret_status integer 返回代码
cmd_ret_msg lvarchar 返回消息

当向 ADMINTASK 函数指定 size 参数时,可以使用下面的单位说明:



符号 对应的单位
B Bytes(= 2 的 0 次方)
KB Kilobytes(= 2 的 10 次方)
MB Megabytes(= 2 的 20 次方)
GB Gigabytes(= 2 的 30 次方)
TB Terabytes(= 2 的 40 次方)
PB Petabytes(= 2 的 50 次方)

命令 oncheck -ce 等效于以下 SQL 语句:

EXECUTE FUNCTION task('check extents');

函数 admin() 也可以实现相同的结果:

EXECUTE FUNCTION admin('check extents');

命令 onspaces -c -d dbspace2 -p /informix/chunks/dbs2.00 -o 0 -s 20000 等价于以下 SQL 语句:

EXECUTE FUNCTION task('create dbspace','dbspace2','/informix/chunks/dbs2.00','20MB');
    
    (expression)  Space 'dbspace2' added.

注:当使用函数 task() 时,返回值为描述状态的字符串)。

也可以使用函数 admin() 实现相同结果:

EXECUTE FUNCTION admin('create dbspace','dbspace2','/informix/chunks/dbs2.00','20MB');
    
    (expression)  114

注:返回值为 114,可在 command_history 表中找到)。



                    
    SELECT  * FROM command_history WHERE cmd_number = 114
    
    cmd_number      114
    cmd_exec_time   2007-05-10 20:13:22
    cmd_user        informix
    cmd_hostname    gavea.usfl.ibm.com
    cmd_executed    create dbspace
    cmd_ret_status  0
    cmd_ret_msg     Space 'dbspace2' added.
    
    1 row(s) retrieved.
阅读(2398) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~