CATALOG DATABASE 命令
CATALOG DATABASE 命令将数据库位置信息存储在 系统数据库目录中。 数据库可以位于本地工作站上,也可以位于远程数据库分区服务器上。 CATALOG DATABASE 命令还可用于重新编目未编目的数据库,或维护一个数据库的多个别名,而不考虑数据库位置。
作用域
在分区数据库环境中,将本地数据库编目到系统数据库目录时,必须从数据库所在服务器上的数据库分区发出此命令。
授权
- SYSADM
- SYSCTRL
需要的连接
无。 目录操作仅影响本地目录。
命令语法
命令参数
- DATABASE database-name
- 指定要编目的数据库的名称。
- AS alias
- 指定别名作为要编目的数据库的备用名称。 如果未指定别名,那么 数据库管理器 将使用 database-name 作为别名。
- ON path | drive
- 指定要编目的数据库所在的路径。 在 Windows 操作系统上,可以改为指定正在编目的数据库所在的驱动器的字母 (如果它是在驱动器上创建的,而不是在特定路径上创建的)。
- AT NODE nodename
- 指定要编目的数据库所在的数据库分区服务器的名称。 此名称应与节点目录中条目的名称相匹配。 如果指定的节点名在节点目录中不存在,那么将返回警告,但会在 系统数据库目录中对数据库进行编目。 如果需要与已编目数据库的连接,那么应在节点目录中对节点名进行编目。
- AUTHENTICATION
- 认证值针对远程数据库进行存储 (它显示在 LIST DATABASE DIRECTORY 命令的输出中) ,但不会针对本地数据库进行存储。
指定认证类型对提高性能有所帮助。
- SERVER
- 指定在包含目标数据库的数据库分区服务器上进行认证。
- CLIENT
- 指定在调用应用程序的数据库分区服务器上进行认证。
- SERVER_ENCRYPT
- 指定在包含目标数据库的数据库分区服务器上进行认证,并在源上对用户标识和密码进行加密。 将在目标上解密用户标识和密码,如在源上编目的认证类型所指定。
- KERBEROS
- 指定使用 Kerberos 安全性机制进行认证。
- TARGET PRINCIPAL principalname
- 目标服务器的标准 Kerberos
主体名称;即,DB2 实例所有者的标准 Kerberos 主体(格式为
name/instance@REALM)。 对于 Windows Server 2003 ,这是 Db2 服务器服务的登录帐户,格式为userid@DOMAIN,userid@xxx.xxx.xxx.com或domain\userid。
- GSSPLUGIN
- 指定使用基于外部 GSS API 的插件安全性机制进行认证。
- SERVER_ENCRYPT_AES
- 指定在包含目标数据库的数据库分区服务器上进行认证,并在源上使用高级加密标准 (AES) 加密算法对用户标识和密码进行加密,并在目标上进行解密。
- TOKEN
- 注: 此选项可从 Db2 V 11.5.4开始使用。指定使用令牌在包含目标数据库的数据库分区服务器上进行认证。 将标记类型指定为 CONNECT 语句的一部分。
- WITH "comment-string"
- 描述数据库或系统数据库目录中的数据库条目。 注释字符串的最大长度为 30 个字符。 不允许回车符或换行符。 注释文本必须用双引号括起。
示例
db2 catalog database sample on /databases/sample
with "Sample Database"
使用说明
创建数据库时, Db2 会自动对数据库进行编目。 它对 本地数据库目录 中的数据库条目以及 系统数据库目录中的另一个条目进行编目。 如果从远程客户机 (或从同一机器上的其他实例运行的客户机) 创建数据库,那么还会在客户机实例的 系统数据库目录 中创建一个条目。
如果未指定路径或数据库分区服务器名称,那么假定数据库是本地的。 在这种情况下,假定数据库的位置是 dftdbpath 数据库管理器 配置参数的值。
与 数据库管理器 实例位于同一数据库分区服务器上的数据库将作为 间接 条目进行编目。 其他数据库分区服务器上的数据库被编目为 远程 条目。
如果不存在 系统数据库目录 ,那么 CATALOG DATABASE 命令会自动创建该目录。 系统数据库目录 存储在包含正在使用的 数据库管理器 实例的路径上,并在数据库外部进行维护。
使用 LIST DATABASE DIRECTORY 命令列出 系统数据库目录 的内容。 要列出本地数据库目录的内容,请使用 LIST DATABASE DIRECTORY ON path,其中 path 是创建数据库的位置。
如果启用了目录高速缓存,那么会在内存中高速缓存数据库,节点和 DCS 目录文件。 要查看是否启用了目录高速缓存,请在 GET DATABASE MANAGER CONFIGURATION 命令的输出中检查 dir_cache 目录高速缓存支持配置参数的值。 应用程序的目录高速缓存是在其第一次目录查找期间创建的。 由于仅当应用程序修改任何目录文件时才会刷新高速缓存,因此在重新启动应用程序之前,其他应用程序所作的目录更改可能不会生效。
要刷新 CLP 的目录高速缓存,请使用 TERMINATE 命令。 要刷新数据库管理器的共享高速缓存,请停止 (db2stop) ,然后重新启动 (db2start) 数据库管理器。 要刷新另一个应用程序的目录高速缓存,请停止然后重新启动该应用程序。
在 pureScale 环境中,必须在 CATALOG DATABASE 命令之后运行 db2cluster -cm -add -database_mounts database-name 命令。
