签到成功

知道了

CNDBA社区CNDBA社区

DB2联邦oracle

2022-02-15 17:35 1115 0 原创 oracle
作者: hbhe0316

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.重启生效

http://www.cndba.cn/hbhe0316/article/106670
http://www.cndba.cn/hbhe0316/article/106670http://www.cndba.cn/hbhe0316/article/106670http://www.cndba.cn/hbhe0316/article/106670

[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

http://www.cndba.cn/hbhe0316/article/106670

[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

http://www.cndba.cn/hbhe0316/article/106670
http://www.cndba.cn/hbhe0316/article/106670

[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

http://www.cndba.cn/hbhe0316/article/106670

[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 passthruhttp://www.cndba.cn/hbhe0316/article/106670

[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.设置resethttp://www.cndba.cn/hbhe0316/article/106670

[db2inst1@node01 ~]$ db2 "set passthru reset"
DB20000I  The SQL command completed successfully.

版权声明:本文为博主原创文章,未经博主允许不得转载。

oracle

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
hbhe0316

hbhe0316

关注

1.只有承认无知,才能装下新的东西; 2.进步来自一点点滴滴的积累; 3.广博让你更优秀,而专业让你无法替代; 4.挫折和失败能够转换为一种财富。

  • 889
    原创
  • 1
    翻译
  • 13
    转载
  • 24
    评论
  • 访问:1039350次
  • 积分:1523
  • 等级:核心会员
  • 排名:第6名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ