oracle跨库操作

有A、B、C三台服务器(都装有oracle),其中A和B、B和C互通,但A和C不通,数据源在C上,请问是否可以通过B做跳转,在A服务器上对C服务器的ORACLE数据库执行SQL语句操作。

第1个回答  2014-01-02
是可以的,方法很多。我就说几种比较常用的方法吧。
1、在程序中实现:如 java 语言, 使用JDBC在B上连接C的数据库.需要用到如下参数
Driver : oracle.jdbc.driver.OracleDriver
url: jdbc:oracle:thin:C的iP:1521:orcl
username : 连接数据库的用户名
password: 密码

2、在B上使用工具 如(PLSQL Developer )
先在B上使用 oracle 的 net configuration assistant 工具(安装完ORACLE后就有)配置C的数据库连接,然后用 PLSQL Developer 连接就可以了 注意 数据库这一栏要填刚才配置的别名 不是本地的数据库名追问

是在A服务器上操作C数据库

追答

那就在B上创建一个连接 指向C
在A上利用上面的方法访问B

第2个回答  2014-01-02
通过在中间的B上建同义词完成。有问题再追问
在A库建dblink,同义词建dblink:create database link XX connect to XX identified by XX
建同义词 :CREATE PUBLIC SYNONYM t FOR A@C;在B库建dblink,同义词建dblink同上建同义词 :CREATE PUBLIC SYNONYM t FOR B@C;
.........追问

同义词可以直接影响C数据库吗?比如A服务器上想对C数据库做insert\delete\update操作

追答

可以只要B库上建立C库的同义词,A库就可以操作。不过dblink是存在安全隐患的,为了保证数据的安全最好还是通过工具进行连接操作,以免dblink造成某些数据的误操作。

第3个回答  2014-01-06
可以的,用datalink 将C的数据整到B库,A再到B上查询处理
第4个回答  2014-01-02
有个笨办法,在B上做DB_LINK连到A 上,然后做DB_LINK 从A连到B 将C 的数据源 在B上做成视图,然后A通过DB_LINK可以到B上查询这个视图,不过这个方法只能查询, UPDATE INSERT 操作可能就更加复杂点了。
相似回答