在 InfoSphere BigInsights Big SQL V3.0 中设置和使用联邦功能(2)
- UID
- 1066743
|
在 InfoSphere BigInsights Big SQL V3.0 中设置和使用联邦功能(2)
环境设置Big SQL V3.0 联邦在默认情况下处于未启用状态,因此不能立即使用它。您可以使用以下命令启用它。
1
| DB2 UPDATE DBM CFG USING FEDERATED YES
|
必须重新启动数据库,更改才会生效。
对于许多数据源,必须在 db2dj.ini 文件中设置一些变量。如果 db2dj.ini 存在,那么它应当位于 $HOME/sqllib/cfg 中。否则,可以使用任何编辑器创建它。执行更改后,重新加载配置文件并重新启动该实例。
实例配置文件为 $HOME/sqllib/db2profile 或 $HOME/sqllib/db2cshrc,具体情况取决于使用的是 Korn shell 还是 Bourne shell。要重新加载配置文件,可以发出以下命令,并将该文件替换为您的配置文件的名称:
1
| . $HOME/sqllib/db2profile
|
要重新启动 Big SQL V3.0 联邦服务器的实例,可以运行以下代码:
1
2
| $HOME/sqllib/libexec/bigsql-ctl stop
$HOME/sqllib/libexec/bigsql-ctl start
|
设置与 DB2 for Linux, UNIX, and Windows 的连接 要确定联邦服务器连接到哪个数据库,必须在联邦服务器系统数据库目录中为远程 DB2 数据库建立目录。
清单 1. 为远程服务器建立目录1
| DB2 CATALOG TCPIP NODE RMNODE REMOTE MYHOST SERVER 12345
|
RMNODE 是节点名称。
MYHOST 是远程机器的主机名。
12345 是远程 DB2 服务器运行的服务,通过在远程数据源上设置 svcename 变量来定义。
为该数据库编制目录,如下所示:
清单 2. 为该数据库编制目录1
| DB2 CATALOG DATABASE RDB2DATA AS DB2DATA AT NODE RMNODE
|
RDB2DATA 是远程节点上的数据库的名称。
DB2DATA 是本地目录中的数据库的名称。
RMNODE 是节点名称。
重新启动该实例,以便刷新本地目录。
设置与 Teradata 的连接- Teradata 客户端。
- 将以下命令添加到使用的 shell 的启动文件中(例如,如果使用了 Korn shell,那么启动文件为 .kshrc),以便导出环境变量 TERADATA_LIB_DIR。
1
| export TERADATA_LIB_DIR=/opt/teradata/client/lib64
|
/opt/teradata/client/lib64 是 Teradata 客户端库所在的绝对路径。
- 如下面的命令中所示,以根用户身份在 $HOME/sqllib/bin/ 中运行 djxlinkTeradata 命令。如果该操作成功,则会在 $HOME/sqllib/lib64 目录中创建 Teradata 包装器所需的 libdb2STteradataF.a 文件。
1
2
| su root
<HOME>/sqllib/bin/ djxlinkTeradata
|
<HOME> 是 Big SQL 的主目录。
- 为了避免在使用昵称时出错,应该将 db2dj.ini 文件中的变量 TERADATA_CHARSET 设置为数据源上使用的字符集,如下所示:
ASCII 是 Teradata 数据库使用的字符集。
设置与 Oracle 的连接- 在 db2dj.ini 中将变量 ORACLE_HOME 设置为 Oracle 客户端安装位置的绝对路径,如下所示:
1
| ORACLE_HOME=/opt/oracleclient
|
/opt/oracleclient 是 Oracle 客户端安装位置的绝对路径。
- 导出变量 ORACLE_HOME,并将 Oracle 客户端库添加到实例配置文件中的 Big SQL 联邦服务器库路径变量 DB2LIBPATH 中,如下所示:
1
2
| export ORACLE_HOME=/opt/csdlclient
export DB2LIBPATH=$ORACLE_HOME/libDB2LIBPATH
|
/opt/oracleclient 是 Oracle 客户端安装位置的绝对路径。
- 运行该配置文件。
- 在客户端安装期间,如果 tnsnames.ora 文件的位置从默认目录 $ORACLE_HOME/network/admin 移出,则需要设置 db2dj.ini 文件中的 TNS_ADMIN 变量,如下所示:
1
| TNS_ADMIN=/home/bigsql/resources
|
/home/bigsql/resources 是 tnsnames.ora 文件的位置的绝对路径。
设置与 Netezza 的连接这里给出了一般步骤。有关的更多细节,请查阅 的完整指南。
- 下载并安装 Netezza 客户端和兼容的 ODBC 驱动程序。考虑以下两种兼容的驱动程序:
- DataDirect Technologies Connect for ODBC 驱动程序
- IBM DataDirect ODBC 驱动程序
您可以 ,其中包含 DataDirect ODBC Driver 和 Netezza 客户端。该包包含一个示例 odbc.ini 文件,它描述了 create server 命令上使用的 Netezza 服务器。
- 为 odbc.ini 创建一个名为 .odbc.ini 的符号链接:
1
| ln -sf $HOME/sqllib/bin/odbc.ini $HOME/.odbc.ini
|
$HOME/sqllib/bin/odbc.ini 是原始的 .ini 文件。
- 导出变量 NZ_ODBC_INI_PATH、ODBCINI 和 LIBPATH。
1
2
3
| export NZ_ODBC_INI_PATH=$HOME/resources
export ODBCINI=$HOME/resources/odbc.ini
export LIBPATH=/opt/odbc64v51/lib
|
$HOME/resources 是 odbc.ini 所在的目录。
$HOME/resources/odbc.ini 是 odbc.ini 文件的路径。
/opt/odbc64/lib 是 ODBC 驱动程序库的绝对路径。
- 将需要的变量添加到 db2dj.ini 文件中,如下所示:
1
2
3
| NZ_ODBC_INI_PATH=$HOME/resources
ODBCINI=$HOME/resources/odbc.ini
LIBPATH=/opt/odbc64v51/lib
|
- 将 ODBC 驱动程序库路径添加到 Big SQL V3.0 联邦服务器库路径变量 DB2LIBPATH 中,如下所示:
1
| export DB2LIBPATH=/opt/odbc64v51/libDB2LIBPATH
|
/opt/odbc64v51/lib 是 ODBC 驱动程序安装位置的绝对路径。
完成系统设置以下代码清单给出了用户在同时使用所有数据源的情况下,可能拥有的一种示例配置。
清单 3. .kshrc 的内容1
2
3
4
5
| export ORACLE_HOME=/opt/oracleclient
export TERADATA_LIB_DIR=/opt/teradata/client/lib64
export NZ_ODBC_INI_PATH=$HOME/resources
export ODBCINI=$HOME/resources/odbc.ini
export LIBPATH=/opt/odbc64v51/lib
|
清单 4. db2dj.ini 的内容1
2
3
4
5
6
| ORACLE_HOME=/opt/oracleclient
TNS_ADMIN=/home/bigsql/resources
TERADATA_CHARSET=ASCII
NZ_ODBC_INI_PATH=/home/bigsql/resources
ODBCINI=/home/bigsql/resources/odbc.ini
LIBPATH=/opt/odbc64v51/lib
|
清单 5. 添加到 db2profile 的代码行1
2
| export ORACLE=/opt/oracleclient
export DB2LIBPATH=$ORACLE_HOME/lib:/opt/odbc64v51/lib
|
清单 6. tnsnames.ora 的内容1
2
3
4
5
6
7
8
| ora11gr2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ora11qa.svl.ibm.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora11qa)
)
)
|
清单 7. odbc.ini 的内容1
2
3
4
5
6
7
8
9
10
| NZSQL = NetezzaSQL
[NZSQL]
Driver = /opt/netezza/lib64/libnzodbc.so
Description = NetezzaSQL ODBC
Servername = netz.ibm.co.uk
Port = 5480
Database = DWDB
Username = nzuser
Password = nzuser
|
|
|
|
|
|
|