分类: DB2/Informix
2008-05-31 18:25:21
SQL 管理 API 函数
SQL 管理 API 是内置的 SQL 管理 API 函数,可通过 SQL 的 EXECUTE Ffunction
语句完成管理性任务,该语句可以模仿 Dynamic Server 的各种管理命令行实用工具。
ADMIN
和 TASK
内置函数只在每个 Dynamic Server 实例的 sysadmin 数据库中做了定义。这些函数只能由用户 Informix 调用。
使用相同参数列表调用 admin( )
和 task( )
函数的结果是相同的;只是返回的值不同:
task()
UDR 返回描述返回状态的字符串
admin()
UDR 返回一个整数返回状态,表示到 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 | 返回消息 |
当向 ADMIN
或 TASK
函数指定 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. |