1.设置DB2实例用户环境变量
[db2inst1@node01 ~]$ cat ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/db
export ORACLE_BASE=/u01/app/oracle
export TNS_ADMIN=/u01/app/oracle/product/19.3.0/db/network/admin
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export DB2LIBPATH=/u01/app/oracle/product/19.3.0/db/lib
export LD_LIBRARY_PATH=/u01/app/oracle/product/19.3.0/db/lib:$LD_LIBRARY_PATH
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
export PATH
2.设置db2dj.ini文件
[db2inst1@node01 ~]$ cat ~/sqllib/cfg/db2dj.ini
DJX_ODBC_LIBRARY_PATH=/home/db2inst1/sqllib/federation/odbc/lib:
LIBPATH=/home/db2inst1/sqllib/federation/odbc/lib:/home/db2inst1/sqllib/federation/netezza/lib64:
DB2_FED_LIBPATH=/home/db2inst1/sqllib/federation/odbc/lib:/home/db2inst1/sqllib/federation/netezza/lib64:
LD_LIBRARY_PATH=/home/db2inst1/sqllib/federation/odbc/lib:/home/db2inst1/sqllib/federation/netezza/lib64:/u01/app/oracle/product/19.3.0/db/lib:
ODBCINST=/home/db2inst1/sqllib/cfg/odbcinst.ini
NZ_ODBC_INI_PATH=/home/db2inst1/sqllib/cfg
ORACLE_HOME=/u01/app/oracle/product/19.3.0/db
ORACLE_BASE=/u01/app/oracle
TNS_ADMIN=/u01/app/oracle/product/19.3.0/db/network/admin
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
DB2LIBPATH=/u01/app/oracle/product/19.3.0/db/lib
3.设置dbm参数
[db2inst1@db01 cfg]$ db2 update dbm cfg using FEDERATED YES
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed
successfully.
4.重启生效
[db2inst1@db01 ~]$ db2stop force && db2start
02/15/2022 21:15:13 0 0 SQL1064N DB2STOP processing was successful.
SQL1064N DB2STOP processing was successful.
02/15/2022 21:15:15 0 0 SQL1063N DB2START processing was successful.
SQL1063N DB2START processing was successful.
5.在DB2 Server安装Oracle Client客户端,并设置tnsnames.ora文件
[oracle@db01 admin]$ cat tnsnames.ora
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.188)(PORT = 1521))
xxxx =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.188)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
[db2inst1@db01 ~]$ tnsping XXXX
TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 15-FEB-2022 20:55:52
Copyright (c) 1997, 2019, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.188)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))
OK (0 msec)
6.创建WRAPPER
[db2inst1@db01 ~]$ db2 connect to testdb
Database Connection Information
Database server = DB2/LINUXX8664 11.1.4.6
SQL authorization ID = DB2INST1
Local database alias = TESTDB
[db2inst1@node01 ~]$ db2 "CREATE WRAPPER NET8 LIBRARY 'libdb2net8.so' OPTIONS (DB2_FENCED 'Y')"
DB20000I The SQL command completed successfully.
7.创建SERVER
[db2inst1@node01 ~]$ db2
db2 => connect to testdb
Database Connection Information
Database server = DB2/LINUXX8664 11.1.4.6
SQL authorization ID = DB2INST1
Local database alias = TESTDB
db2 => CREATE SERVER "xxxx" TYPE ORACLE VERSION '12.1' WRAPPER "NET8" OPTIONS (NODE 'xxxx',VARCHAR_NO_TRAILING_BLANKS 'Y')
DB20000I The SQL command completed successfully.
8.创建MAPPING
db2 => CREATE USER MAPPING FOR DB2INST1 SERVER "xxxx" OPTIONS (REMOTE_AUTHID 'hbhe' ,REMOTE_PASSWORD 'wwwwww' )
DB20000I The SQL command completed successfully.
9.创建nickname
[db2inst1@node01 ~]$ db2 "create nickname t1 for xxxx.hbhe.t1"
DB20000I The SQL command completed successfully.
10.查看是否成功
[db2inst1@node01 ~]$ db2 "select count(*) from t1"
1
-----------
2
1 record(s) selected.
11.DB2 set passthru
[db2inst1@node01 ~]$ db2 "set passthru xxxx"
DB20000I The SQL command completed successfully.
[db2inst1@node01 ~]$ db2 "select count(*) from hbhe.t1"
COUNT(*)
------------------------
+2.00000000000000E+000
1 record(s) selected.
12.设置reset
[db2inst1@node01 ~]$ db2 "set passthru reset"
DB20000I The SQL command completed successfully.
版权声明:本文为博主原创文章,未经博主允许不得转载。
oracle