SNAP_WRITE_FILE 过程

SNAP_WRITE_FILE 过程将系统快照数据写入实例目录的 tmp 子目录中的文件。

重要信息: 不推荐使用 SNAP_WRITE_FILE 过程,在将来的发行版中可能会将其除去。 开始使用监视 SQL 接口。 如果仍需要将快照数据写入文件,请在此过程停用之前使用其他方法。

语法

Read syntax diagramSkip visual syntax diagramSNAP_WRITE_FILE(requestType ,dbname,member )

模式为 SYSPROC。

过程参数

requestType
类型为 VARCHAR (32) 的输入参数,用于指定有效的快照请求类型。 可能的请求类型是基于 sqlmon.h中定义的文本标识,并且是下列其中一项:
  • APPL_ALL
  • BUFFERPOOLS_ALL
  • DB2
  • DBASE_ALL
  • DBASE_LOCKS
  • DBASE_TABLES
  • DBASE_TABLESPACES
  • DYNAMIC_SQL
dbname
类型为 VARCHAR (128) 的输入参数,用于在调用此函数时指定与当前连接的数据库相同的实例中的有效数据库名称。 指定目录条目类型为 "Indirect" 或 "Home" 的数据库名称,如 LIST DATABASE DIRECTORY 命令所返回。 指定 NULL 或空字符串以从当前连接的数据库获取快照。
成员
类型为 INTEGER 的输入参数,用于指定有效成员号。 对当前成员指定 -1 ,或对所有活动成员的聚集指定 -2 。 活动成员是数据库可供应用程序连接和使用的成员。

如果指定空值,那么会隐式设置 -1

权限

需要下列其中一个权限才能执行该过程:
  • 对程序的 EXECUTE 特权
  • DATAACCESS 权限
要访问快照监视器数据,还需要下列其中一个权限:
  • SYSMON 权限
  • SYSCTRL 权限
  • SYSMAINT 权限
  • SYSADM 权限
注: 如果您没有 SYSMON , SYSCTRL , SYSMAINT 或 SYSADM 权限,那么可以通过将空值作为输入传递到快照函数来读取已保存的快照数据。

缺省 PUBLIC 特权

在非限制数据库中,自动创建过程时会将 EXECUTE 特权授予 PUBLIC。

示例

通过指定请求类型 "DB2" (对应于 SQLMA_DB2) 并缺省为当前连接的数据库和当前数据库分区,获取数据库管理器信息的快照。
CALL SYSPROC.SNAP_WRITE_FILE ('DB2', '', -1)

这将导致快照数据写入实例临时目录,即 UNIX 操作系统上的 sqllib/tmp/SQLMA_DB2.dat 和 Windows 操作系统上的 sqllib\DB2\tmp\SQLMA_DB2.dat

使用说明

如果提供了无法识别的输入参数,那么将返回以下错误:SQL2032N The "REQUEST_TYPE" parameter is not valid.