创建安装在专用网络中的oracle云数据库的DB链接

时间:2017-11-11 09:23:32

标签: oracle ssh ssh-tunnel oracle-cloud-infrastructure-classic

我有公共IP,Oracle云数据库安装在私有IP中。通过公共IP,我们可以建立到私有IP的ssh隧道,并转发localhost端口来访问Oracle云数据库。

我的任务是从我的localhost oracle DB创建数据库链接到云Oracle数据库。所以我可以从我的localhost oracle DB访问Oracle云数据库模式。

我使用Putty建立SSH& localhost port forward,我可以使用SQL developer / Toad访问Oracle Cloud DB。因此,公共/私有IP和SSH详细信息是正确的。

在这种情况下,如何创建数据库链接?

1 个答案:

答案 0 :(得分:0)

您已经将localhost端口X的连接转发到AWS中的目标私有IP(让它成为RDS:1521)。所以你的配置是localhost:X -> RDS:1521。您还需要架构名称(myusername)及其密码(mypassword)。

CREATE DATABASE LINK mylink 
    CONNECT TO myusername IDENTIFIED BY mypassword
    USING '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=X))
           (CONNECT_DATA=(SERVER=dedicated)
           (SERVICE_NAME=myrdsservicename)))';

Oracle用于创建数据库链接can be found here的12c语法。

除了使用RAW连接参数(如上所述)之外,我更愿意在tnsnames.ora中为上面的连接字符串创建一个条目,并使用符号名称进行localhost转发连接。