3.3 安装 Driver for JDBC

3.3.1 安装驱动程序

可以在安装 Metadirectory 引擎的同时安装 Driver for JDBC(以及其它 Identity Manager 驱动程序)。 请参见《Identity Manager 3.0 安装指南》

也可以在安装 Metadirectory 引擎之后单独安装驱动程序。

在 Windows 上安装

  1. 从 Identity Manager 3 下载映像或 CD 运行安装程序 (\nt\install.exe)。

    可以从 Novell 下载获取下载文件。

  2. 在《欢迎》对话框中单击《下一步》,然后接受许可协议。

  3. 查看第一个《Identity Manager 概述》对话框中的信息,然后单击《下一步》

    该对话框提供有关下列项目的信息:

    • Metadirectory 服务器
    • 已连接服务器系统
  4. 查看第二个《Identity Manager 概述》对话框中的信息,然后单击《下一步》

    该对话框提供有关下列项目的信息:

    • 基于万维网的管理服务器
    • Identity Manager 实用程序
  5. 如果是本地安装,请只选择《Metadirectory 服务器》,然后单击《下一步》 >

    《Metadirectory 服务器》复选框

    如果是远程安装(远程装载程序),请选择《已连接系统》,并参考《Novell Identity Manager 3.0 管理指南》中的《设置远程装载程序》和《设置已连接系统》。

    如果安装远程装载程序,策略(以及策略参照的二进制程序)将在本地运行,但是驱动程序 Shim 二进制程序将远程运行。 如果安装 Metadirectory 服务器,则所有二进制程序和策略都将在本地运行。

  6. 在《Select Drivers for Engine Install》(选择用于安装引擎的驱动程序)对话框中,只选择 JDBC,然后单击《下一步》

    《定界文本》复选框
  7. 在《Identity Manager Upgrade Warning》(Identity Manager 升级警告)对话框中,单击《确定》

  8. 在《摘要》对话框中查看选定的选项,然后单击《完成》

  9. 在《安装完毕》对话框中单击《关闭》

安装后,按 导入样本配置文件中的说明配置驱动程序。

在 NetWare 上安装

  1. 在 NetWare® 服务器上插入 Identity Manager CD,并将该 CD 作为卷装入。

    如果没有 CD,请下载 Identity_Manager_3_NW_Win.iso 并创建一个 CD。 可以从 Novell 下载获取下载文件。

    要装入 CD,请输入 m cdrom

  2. (视具体情况而定)如果未装载图形实用程序,请输入 startx 进行装载。

  3. 在图形实用程序中单击 Novell 图标,然后单击《安装》

  4. 在《Installed Products》(安装的产品)对话框中单击《添加》

  5. 在《Source Path》(源路径)对话框中,浏览并选择 product.ni 文件。

    《源路径》对话框
    1. 浏览并展开以前装入的 CD 卷 ( IDM_3_0_NW_WIN )。

    2. 展开 nw 目录,选择 product.ni,然后单击《确定》两次。

  6. 在《Welcome to the Novell Identity Manager 3.0 Installation》(欢迎使用 Novell Identity Manager 3.0 安装)对话框中单击《下一步》,然后接受许可协议

  7. 查看两个《概述》对话框,然后单击《下一步》

  8. 在《Identity Manager 安装》对话框中,只选择《Metadirectory 服务器》

    《Metadirectory 服务器》选项

    取消选择下列选项:

    • Identity Manager 万维网组件
    • 实用程序
  9. 单击《下一步》。

  10. 在《选择用于安装引擎的驱动程序》对话框中,只选择 JDBC

    《JDBC》选项

    取消选择下列选项:

    • Metadirectory 引擎
    • All drivers except Delimited Text(除定界文本以外的所有驱动程序)
  11. 单击《下一步》。

  12. 在《Identity Manager 升级警告》对话框中单击《确定》

    该对话框将通知您在 90 天内激活驱动程序的许可证。

  13. 在《摘要》页中查看选定的选项,然后单击《完成》

  14. 单击《关闭》

安装后执行下列操作:

在 Linux 或 Solaris 上安装

默认情况下,安装 Metadirectory 引擎后,即会安装 Identity Manager Driver for JDBC。 如果当时未安装该驱动程序,本节可以帮助您进行安装。

在执行安装程序的过程中,可通过输入 previous 返回到上一个区域(屏幕)。

  1. 在终端会话中以根用户的身份登录。

  2. 插入 Identity Manager CD 并装入该 CD。

    如果没有 CD,请下载 Identity_Manager_3_Linux.iso 并创建一个 CD。 可以从 Novell 下载获取下载文件。

    通常会自动装入 CD。 下表列出了手动装入 CD 的示例:

    平台

    键入内容

    AIX

    mount /mnt/cdrom,然后按 Enter 键

    Red Hat*

    mount /mnt/cdrom,然后按 Enter 键

    Solaris

    mount /cdrom,然后按 Enter 键

    SUSE®

    mount /media/cdrom,然后按 Enter 键

  3. 更改安装目录。

    平台

    路径

    AIX

    /mnt/cdrom/setup/

    Red Hat

    /mnt/cdrom//setup/

    Solaris

    /cdrom//idm_3/setup/

    SUSE

    /media/cdrom//setup/

  4. 输入 ./dirxml_linux.bin 运行安装程序。

  5. 在《介绍》区域中按 Enter 键。

  6. 接受许可协议。

    一直按 Enter 键,直到出现《DO YOU ACCEPT THE TERMS OF THIS LICENSE AGREEMENT》(您是否接受本许可协议的条款),键入 y,然后按 Enter 键。

    接受许可协议的提示
  7. 在《Choose Install Set》(选择安装集)区域中,选择《自定义》选项。

    键入 4,然后按 Enter 键。

    选择《自定义》选项的提示
  8. 在《Choose Product Features》(选择产品功能)区域中,取消选择除 JDBC 以外的所有功能,然后按 Enter 键。

    要取消选择一个功能,请键入该功能的编号。 在取消选择的其它功能之间键入逗号。

    《选择产品功能》区域中的选项
  9. 查看《Pre-Installation Summary》(预安装摘要)区域中的选项。

    《预安装摘要》区域

    要返回到前一个区域,请键入 previous,然后按 Enter 键。

    要继续,请按 Enter 键。

  10. 安装完成后,按 Enter 键退出安装。

安装后配置驱动程序。请参见Section 4.0, 配置 Identity Manager Driver for JDBC

3.3.2 导入样本配置文件

要设置 Identity Manager Driver for JDBC,请导入驱动程序配置文件,并配置数据库。 数据库配置包括执行 SQL 底稿。 建议执行数据库 SQL 底稿,并且在启动驱动程序之前测试这些底稿。

产品附带的配置只是一个样本。 建议在尝试自定义配置之前,将产品附带的配置安装到测试环境中。

导入样本驱动程序配置文件:iManager

JDBCv2.xml 配置文件可创建和配置使样本驱动程序正常运行所需的 Identity Manager 对象。 该配置文件还包括可以自定义的样本策略。

  1. 在 iManager 中选择《Identity Manager 实用程序》>《新驱动程序》 >

  2. 选择一个驱动程序集,然后单击《下一步》

    如果将此驱动程序放在新的驱动程序集中,请指定驱动程序集的名称、环境和关联的服务器。

  3. 选择《从服务器中导入驱动程序配置(.XML 文件)》

    设置 iManager 时在万维网服务器上安装了驱动程序配置文件。

  4. 从下拉列表中选择 JDBCv2.xml 选项,然后单击《下一步》

  5. 提示输入驱动程序的名称时,请指定驱动程序的名称(例如 JDBC 2),然后单击《下一步》

  6. 选择目标数据库,再选择驱动程序是本地的还是远程的,然后单击《下一步》

  7. 选择一种同步模式,再选择第三方 JDBC 实现,然后单击《下一步》

  8. 选择数据流(例如《双向》),指定数据库主机 IP 地址,输入端口号,然后单击《下一步》

  9. 指定用户树枝 DN、组树枝 DN 以及发布方式,然后单击《下一步》

  10. (可选)单击《定义安全性等效》

    1. 单击《添加》,然后选择具有 Admin 权限(或者希望驱动程序具有的其它任何权限)的对象。

    2. 单击《应用》,然后单击《确定》

  11. (可选)要从复本中排除对象,请单击《排除管理职能》

    1. 单击《添加》,然后选择任何要排除的用户(例如 Admin 用户)。

    2. 单击《应用》,然后单击《确定》

  12. 要查看导入摘要,请单击《下一步》

  13. 校验配置是否正确,然后单击《完成概述》

安装过程创建了必需的 Identity Manager 驱动程序对象。 如果在导入时没有定义安全性等效,或没有排除管理用户,则可以通过修改驱动程序对象的属性来完成这些任务。

配置文件约定

  • 数据库用户名是用户的姓氏结合相应的数字主键值。 例如,John Doe 的用户名可能是 Doe1。
  • 初始口令是用户的姓氏。 例如,John Doe 的口令将是 Doe。 Sybase 口令的长度必须至少为 6 个字符。如果短于 6 个字符,则使用字符《p》对姓进行填充 例如,John Doe 的口令将是 Doeppp。 可以在《订购者命令转换》策略中调整填充字符。

导入驱动程序配置文件: Designer

可以使用 Designer for Identity Manager 导入 JDBC 的基本驱动程序配置文件。 该基本文件可以创建和配置使驱动程序正常运行所需的对象和策略。

以下过程说明一种导入样本配置文件的方法:

  1. 在 Designer 中打开一个项目。

  2. 在建模程序中右击驱动程序集对象,然后选择《Add Connected Application》(添加连接的应用程序)

  3. 从下拉列表中选择 JBDC.xml,然后单击《运行》

  4. 在《执行提示验证》窗口中单击《是》

  5. 通过填写字段配置驱动程序。

    指定环境特定的信息。 有关设置的信息,请参见配置参数

  6. 指定参数后,单击《确定》导入驱动程序。

  7. 自定义和测试驱动程序。

  8. 将驱动程序部署到 Identity Vault 中。

    请参见《Designer for Identity Manager 3:管理指南》中的《将项目部署到 Identity Vault》。

3.3.3 设置远程装载程序

可以根据需要使用远程装载程序。 除非希望 JDBC 驱动程序在已连接系统中运行,否则不需要远程装载程序。

  1. 如果尚未安装远程装载程序,请予以安装。

    请参见《Novell Identity Manager 3.0 管理指南》中的《设置已连接系统》。

  2. 将相应的第三方 JDBC 驱动程序 jar 文件复制到远程装载程序服务器。

    1. 有关第三方 JDBC 驱动程序文件名及其获取位置的信息,请参考支持的第三方 JDBC 驱动程序

    2. 有关文件安装路径的信息,请参考放置 Jar 文件

  3. 配置远程驱动程序。

    在《远程驱动程序配置》参数中,将 Driver 参数设置为

    com.novell.nds.dirxml.driver.jdbc.JDBCDriverShim。
    
  4. 配置其它远程装载程序参数。 请参见《Novell Identity Manager 3.0 管理指南》中的《设置已连接系统》。

3.3.4 安装和配置数据库对象

安装和配置将与样本驱动程序配置同步的数据库对象(例如表、触发器和索引)。 如果不配置这些数据库对象,样本配置文件将不能运行。

SQL 底稿约定

SQL 底稿位于 install-dir\jdbc\sql\abbreviated-database-name 目录中。

无论数据库如何,所有 SQL 底稿均使用相同的约定。

DB2 标识符的最大大小为 18 个字符。 这个最小公分母长度定义了所有 SQL 底稿中的数据库标识符长度的上限。 由于该长度受到限制,因此将使用缩写。 下表汇总了标识符的缩写及其含义:

Table 3-3 标识符缩写及含义

缩写

解释

proc_1

储存过程/函数

idx_

索引

trg_

触发器

_i

开启插入触发器

_u

开启更新触发器

_d

开启删除触发器

chk_

检查约束

pk_

查看主键约束

fk_

查看外键约束

mv_

查看多值列

sv_

查看单值列(隐式默认值)

1 更常见的缩写为 sp_。 该前缀为 Microsoft* SQL Server 上的系统储存过程保留。 同时,在评估任何限定符(例如数据库或拥有者)之前,该前缀将首先在主数据库中强制查找过程。 为最大限度地提高过程查找的效率,系统有意避免使用该前缀。

下表指明索引、触发器、储存过程、函数和约束的标识符命名约定:

Table 3-4 标识符命名约定

数据库对象

命名约定

示例

储存过程/函数

proc_procedure-or-function-name

proc_idu

索引

idx_unqualified-table-name_sequence-number

idx_indirectlog_1

触发器

tgr_unqualified-table-name_triggering-statement-type_sequence-number

tgr_usr_i_1

主键约束

pk_unqualified-table-name_column-name

pk_usr_idu

外键约束

fk_unqualified-table-name_column-name

fk_usr_idu

检查约束

chk_unqualified-table-name_column-name

chk_usr_idu

其它约定:

  • 所有数据库标识符均使用小写。

    这是数据库之间最常用的大小写约定。

  • 字符串字段长度为 64 个字符。

    这种长度的字段可以保存大多数 eDirectory™ 特性值。 可以减少字段长度以提高储存效率。

  • 出于性能方面的考虑,只要有可能,主键列就使用本机标量数字类型(例如使用 BIGINT 而不使用 NUMERIC)。
  • 事件日志表中的 record_id 列具有每个数据库为避免溢出而允许的最大数字精度。
  • 身份列和顺序对象不对值进行超速缓存。 发生回滚时,某些数据库会丢弃超速缓存的值。 该操作可能会导致身份列或顺序值中出现较多的空缺。

安装 IBM DB2 通用数据库 (UDB)

IMPORTANT:对于 IBM* DB2,必须在运行提供的 SQL 底稿之前,手动创建操作系统用户帐户。

由于创建用户帐户的过程随操作系统的不同而异,因此以下第 1 步与特定的 OS 相关。 这些指导适用于 Windows NT 操作环境。 如果重新运行 SQL 底稿,则只需要重复第 2 步到第 5 步。

DB2 的目录环境为 install-dir\jdbc\sql\db2_udb\install

  1. 创建用户 idmindirectdirect 的用户帐户。

    在《User Manager for Domains》(域的用户管理器)中,使用 novell 作为口令

    对于此帐户,请记住取消选择《User Must Change Password at Next Login》(用户在下次登录时必须更改口令)

    还可以选择《Password Never Expires》(口令永不失效)

    NOTE:剩下的指导与 OS 无关。

  2. 调整 1_install.sql 安装底稿中的 idm_db2.jar 的文件路径。 idm_db2.jar 的文件路径应反映该文件在客户机上的位置。

  3. 从命令行处理器 (CLP) 执行 1_install.sql 底稿。

    例如: db2 -f 2_install_8.sql

    IMPORTANT:这些底稿只能在版本 7 的命令中心界面中执行。这些底稿使用 ‘\' 行继续字符。 更高版本的命令中心无法识别该字符。

  4. 对于版本 8 或更高版本,请执行 2_install_8.sql 底稿。

    例如:db2 -f 2_install_8.sql

安装 Informix 动态服务器 (IDS)

IMPORTANT:对于 Informix* 动态服务器,必须在运行提供的 SQL 底稿之前,手动创建操作系统用户帐户。

由于创建用户帐户的过程随操作系统的不同而异,因此以下第 1 步与特定的 OS 相关。 这些指导适用于 Windows NT 操作环境。 如果重新运行 SQL 底稿,则只应重复第 2 步到第 4 步。

Informix SQL 底稿的目录环境为 install-dir\jdbc\sql\informix_ids\install

  1. 在 Windows NT 中创建用户 idm 的用户帐户。

    在《域的用户管理器》中,使用 novell 作为口令

    对于此帐户,请记住取消选择《用户在下次登录时必须更改口令》

    还可以选择《口令永不失效》

    NOTE:剩下的指导与 OS 无关。

  2. 启动一个客户程序,例如 SQL 编辑器。

  3. informix 用户或其他具有 DBA(数据库管理员)特权的用户的身份登录服务器。

    默认情况下,informix 用户的口令为 informix

    NOTE:如果不以 informix 用户的身份执行底稿,请在执行之前更改底稿中对 informix 的所有参照。

  4. ansi(事务,与 ANSI 兼容)、log(事务,与 ANSI 不兼容)或 no_log(非事务,与 ANSI 不兼容)子目录中打开并执行 1_install.sql,这取决于要创建的数据库类型。

安装 Microsoft SQL Server

Microsoft SQL Server 底稿的目录环境为 install-dir\jdbc\sql\mssql\install

  1. 启动一个客户程序,例如查询分析器。

  2. sa 用户的身份登录数据库服务器。

    默认情况下,sa 用户没有口令。

  3. 执行安装底稿。

    对于版本 7,执行 1_install_7.sql

    对于版本 8 (2000),执行 1_install_2k.sql

    NOTE:查询分析器中的执行热键为 F5。

安装 MySQL

MySQL* SQL 底稿的目录环境为 install-dir\jdbc\sql\mysql\install

  1. 在 MySQL 客户程序(例如 mysql)中,以根用户或其它具有管理特权的用户的身份登录。

    例如,在命令行上执行

    mysql -u root -p

    默认情况下,root 用户没有口令。

  2. 执行安装底稿 1_install_innodb.sql1_install_myisam.sql,这取决于希望使用的表类型。

    例如: mysql> \. c:\1_install_innodb.sql

    HINT:不要使用分号来结束此语句。

安装 Oracle

Oracle SQL 底稿的目录环境为 install-dir\jdbc\sql\oracle\install

  1. 在 Oracle 客户程序(例如 SQL Plus)中,以 SYSTEM 用户的身份登录。

    默认情况下,SYSTEM 的口令为 MANAGER

    NOTE:如果不是以口令为 MANAGERSYSTEM 用户执行底稿,请在执行之前更改底稿中对 SYSTEM 的所有参照。

  2. 执行安装底稿 1_install.sql

    例如: SQL> @c:\1_install.sql

安装 PostgreSQL

PostgreSQL 底稿的目录环境为 install-dir\jdbc\sql\postgres\install。执行 Postgres 命令的目录环境为 postgres-install-dir/pgsql/bin

  1. 创建数据库 idm

    例如,在 UNIX* 命令行上,执行命令 createdb: ./createdb idm

  2. plpgsql 过程语言安装到数据库 idm

    例如,在 UNIX 命令行上,执行命令 createlang: ./createlang plpgsql idm

  3. 在 Postgres 客户程序(例如 psql)中,以用户 postgres 的身份登录 idm 数据库。

    例如,在 UNIX 命令行上,执行命令 psql: ./psql -d idm postgres

    默认情况下,Postgres 用户没有口令。

  4. 在 psql 内部执行底稿 1_install.sql

    例如: idm=# \i 1_install.sql

  5. 更新 pg_hba.conf 文件。

    例如,添加 idm 数据库用户的项。 必要时调整 IP-ADDRESS 和 IP-MASK:

    # TYPE  DATABASE    USER   IP-ADDRESS        IP-MASK           METHOD# allow driver user idm to connect to database idm host    idm         idm    255.255.255.255   255.255.255.0     password
    
  6. 重启动 Postgres 服务器,使 pg_hba.conf 文件发生的更改生效。

安装 Sybase Adaptive Server Enterprise (ASE)

IMPORTANT:确保在数据库服务器上安装了 JDBC 元数据支持。 通常,对于低于 12.5 的版本来说这才是一个问题。

Sybase SQL 底稿的目录环境为 install-dir\jdbc\sql\sybase_ase\install

  1. 在 Sybase 客户程序(例如 isql)中以 sa 用户的身份登录,然后执行 1_install.sql 安装底稿。

    例如,在命令行上执行: isql -U sa -P -i 1_install.sql

    默认情况下,sa 帐户没有口令。

3.3.5 测试

每种数据库的测试底稿位于下列目录中:

Table 3-5 数据库底稿的位置

数据库

SQL 测试底稿的位置

IBM DB2 通用数据库

install-dir\jdbc\sql\db2_udb\test

Informix 动态服务器

install-dir\jdbc\sql\informix_ids\log\test install-dir\jdbc\sql\informix_ids\no_log\test Informix ANSI 测试底稿位于 log\test 子目录中。

Microsoft SQL Server

install-dir\jdbc\sql\mssql\test

MySQL

install-dir\jdbc\sql\mysql\test

Oracle

install-dir\jdbc\sql\oracle\test

PostgreSQL

install-dir\jdbc\sql\postgres\test

Sybase Adaptive Server Enterprise

install-dir\jdbc\sql\sybase_ase\test

建议在启动样本驱动程序之前尝试使用测试底稿。

3.3.6 查错

  • 除非显式提交更改,否则《发布者》通道可能无法识别发布事件。 有关支持数据库的提交关键字,请参见Section 7.3.7, 提交关键字
  • 测试底稿应该由驱动程序的 idm 数据库用户帐户以外的用户执行。 如果以 idm 用户的身份执行这些底稿,那么,除非允许发布回送,否则驱动程序的《发布者》通道将忽略事件。 有关允许或不允许发布回送的其它信息,请参考Allow Loopback?