我有公共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详细信息是正确的。
在这种情况下,如何创建数据库链接?
答案 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转发连接。