首页 > 学技术 > 技术网文 > DB2 > 正文

[原创] [原创]DB2II访问Oracle数据库的配置说明


来源 chinaunix.net 酷勤网整理

DB2II访问Oracle数据库的配置说明
一、安装配置Oracle客户端,用sqlplus测试能成功访问Oracle数据:
二、停止db2实例,下面以db2test实例为例:
  db2stop
三、以root用户身份登录,建立包装器库与数据源客户机软件之间的链接:
su – root
  ###设置Oracle环境变量
  export ORACLE_HOME=/oracle/app/oracle/product/9.2.0.1
### For 64位实例
/opt/IBM/db2/V8.1/bin64/djxlinkOracle
### For 32位实例
/opt/IBM/db2/V8.1/bin/djxlinkOracle
### 更新实例,保留以前的位数
/opt/IBM/db2/V8.1/instance/db2iupdt -k db2inst1
exit
  ### 在分区数据库环境中,若有多台物理主机上,请分别在每台机器上运行上面的djxlinkOracle及实例更新操作。
四、配置实例主目录下的sqllib/cfg/db2dj.ini,增加如下Oracle环境变量内容:
  ORACLE_HOME=/oracle/app/oracle/product/9.2.0.1               
  ORACLE_BASE=/oracle/app/oracle                         
  ORA_NLS33=/oracle/app/oracle/product/9.2.0.1/ocommon/nls/admin/data
  TNS_ADMIN=/oracle/app/oracle/product/9.2.0.1/network/admin       
  NLS_LANG=american_america.zhs16cgb231280                   
五、修改 DBM参数FEDERATED为YES:
  db2 "update dbm cfg using FEDERATED YES"
六、重启实例,并建立测试数据库:
  db2start
  db2 "create db testdb using codeset ISO88591 territory us"
  db2 "connect to testdb"
七、注册Oracle包装器:
  db2 "create wrapper net8"
八、为Oracle数据源注册服务器定义:
db2 "create server odb type oracle version 8.1.7 wrapper net8 options (node 'odb') "
九、为Oracle数据源创建用户映射:
db2 "create user mapping for db2inst1 Server odb options (remote_authid 'user', remote_password 'pwd')"
十、创建用户昵称,测试连接:
db2 "create nickname u_info for odb.sys.all_users"
db2 "select count(*) from u_info"
db2 "set passthru odb"
  db2 "select count(*) from sys.all_tables"
  db2 "set passthru reset"



 mymm 回复于:2005-05-18 00:46:21

GOOD!

不知梦兄前两天提的那个LOCAT DB2和REMOTE DB2之间的复制项目实施的怎么样了,正在考虑这个问题,如果有结果,不妨拿出共享!


 daliwa 回复于:2005-05-18 16:18:35

应该也是一样的,建立联邦数据库


 orablue 回复于:2005-05-21 10:15:11

前段时间搞复制搞的头都大了.


 daliwa 回复于:2005-05-22 11:05:19

不过,我也有点担忧

我现在用DB2访问oracle的数据库,由于oracle数据库比较重要,我只能对其中的一些表进行读操作的权限.

请问,这种情况下,我还能不能能过建立联邦数据库在DB2中读oracle中的表?

还有,在建立的过程中,会不会对oracle数据库造成影响(这是我最关心的!)


 大梦 回复于:2005-05-22 21:37:00

我暂时还没有把Oracle搞出过问题,DB2II到是把DB2 UDB搞down了好几回!


 daliwa 回复于:2005-05-23 15:54:58

呵呵,那偶就放心了
现在偶也先尝试一下,DB2和DB2的互连,不知大梦兄有没做过?


 dearnnyang 回复于:2005-07-20 11:51:38

我想问个问题,有谁试过在JAVA程序里启动asnapply吗?


 markmahw 回复于:2005-07-21 01:18:48

DDDDDDDDDDDDdd


 warmsping 回复于:2005-11-11 14:46:39

楼主有DB2II的软件可供安装吗?


 大梦 回复于:2005-11-11 22:34:26

我不是雷锋!


 macrodba 回复于:2005-12-15 17:41:21

good


 我笨故我在new 回复于:2005-12-16 09:28:23




 lizhuo 回复于:2007-01-29 11:47:33

通过联邦数据库访问别的数据库的数据,可以建立高速缓存表,mqt在本地存放远程数据库中表的数据,这个俺测试过,速度还可以。当然了,两边要启动复制进程。


 大梦 回复于:2007-01-29 21:14:32

MQT运行在联邦之上需要启动复制进程?

呵呵,我看了好象不知道的!MQT可以直接建立在nickname之上!


 lizhuo 回复于:2007-01-30 11:35:14

做了测试才有发言权,做了吗你?不要以为斑竹就什么都知道。


 大梦 回复于:2007-01-30 11:39:49

楼上的说话不要太冲了!
对事不对人!

当然做过了!
我是先建几个nickname,再直接建MQT,再刷新数据!

没明白你的复制进程是什么意思?

[ 本帖最后由 大梦 于 2007-1-30 11:41 编辑 ]


 lizhuo 回复于:2007-01-30 11:48:57

在创建高速缓存表的时候,会创建mqt,当启用高速缓存表时,会自动在源和目标启动捕获和apply进程。否则在联邦数据库上怎能刷新源端的数据呢?


 大梦 回复于:2007-01-30 19:36:20

明白!明白!

我是做的手工刷新的MQT表,没做高速缓存表这一步,只是简单的建了一个MQT表,所以就没有你上面的说的capture与apply了!


 我笨故我在new 回复于:2007-01-31 11:13:28

引用:原帖由 lizhuo 于 2007-1-30 11:48 发表
在创建高速缓存表的时候,会创建mqt,当启用高速缓存表时,会自动在源和目标启动捕获和apply进程。否则在联邦数据库上怎能刷新源端的数据呢? 



确实是这样 高速缓存表就是联邦加复制实现的


 大梦 回复于:2007-01-31 19:10:38

实在是不能忍受!

是不是又在家那头偷偷种了几个Trigger?

[ 本帖最后由 大梦 于 2007-1-31 23:52 编辑 ]




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=546620
转载请注明作者名及原文出处



收藏本页到: