IBM Cloud Docs
联合-从本地到云数据库的 SSL

联合-从本地到云数据库的 SSL

联合允许您与一个或多个本地或远程数据库进行通信。

需要执行以下步骤来配置联合系统:

  1. 数据库和主机名布局
  2. 联合测试
  3. 创建并连接到本地数据库
  4. 创建包装程序
  5. 为远程数据库创建服务器
  6. 创建用户映射
  7. 测试连接
  8. 创建昵称

数据库和主机名布局

远程表必须显示的本地数据库目标:

Hostname :               <local_host_name>
DB2 Version:             v11.5
Instance Name:           db2inst1
Password:                <local_password>
Database Name:           LOCALDB
Schema Name:             DB2INST1

表所在的远程数据库:

Hostname :              <remote_host_name>
DB2 Version:            v11.5
Instance Name:          db2inst1
Service/Port Number:    30850
User:                   <remote_user>
Password:               <remote_password>
Database Name:          BLUDB
Schema Name:            DB2INST1
Table Name:             TEST1

联合测试

要测试是否在本地机器上启用了联合,请运行以下命令:

db2 get dbm cfg | grep -i federated
Federated Database System Support           (FEDERATED) = NO

如果未启用联合,请使用以下命令将其启用:

db2 update dbm cfg using federated yes
db2stop
db2start

创建并连接到本地数据库

创建本地数据库并通过运行以下命令来连接到该数据库:

db2 create db localdb
DB20000I  The CREATE DATABASE command completed successfully.
db2 connect to localdb
Database Connection Information

Database server        = DB2/LINUXX8664 11.5.1.0
SQL authorization ID   = DB2INST1
Local database alias   = LOCALDB

创建包装程序

通过运行以下命令来创建包装器:

db2 "create wrapper drdawrapper library 'libdb2drda.so' options(DB2_FENCED 'Y')"
DB20000I  The SQL command completed successfully.

为远程数据库创建服务器

通过运行以下命令创建服务器以托管远程数据库:

db2 "create server fed_server type DB2/UDB version 11 wrapper drdawrapper authorization \"<remote_user>\" PASSWORD \"<remote_password>\" options(host '<remote_host_name>', port '30850', dbname 'bludb', security 'SSL', password 'y')"
DB20000I  The SQL command completed successfully.

创建用户映射

通过运行以下命令来创建用户映射:

db2 "create user mapping for db2inst1 server fed_server OPTIONS (remote_authid '<remote_user>', remote_password '<remote_password>')"
DB20000I  The SQL command completed successfully.

测试连接

通过运行以下命令来测试与新服务器的连接:

db2 "set passthru fed_server"

DB20000I  The SQL command completed successfully.
db2 "select * from db2inst1.test1"


C1          C2
----------- -----------
         13          32
1 record(s) selected.
db2 "SET PASSTHRU RESET"

DB20000I  The SQL command completed successfully.

创建昵称

为远程数据库创建昵称,并通过运行以下命令来测试昵称:

db2 "create nickname db2inst1.rmttest1 FOR fed_server.db2inst1.test1"

DB20000I  The SQL command completed successfully.
db2 "select * from db2inst1.rmttest1"

C1          C2
----------- -----------
         13          32

1 record(s) selected.
```<!-- v2.0.52 : caits-prod-app-clouddocs_cloud-docs-Db2onCloud_20230613T103025-1_en_zh-Hans -->