Oracle使用DBLINK实现跨库查询

Platform:
OS:Windows Server 2012 R2 64bit
Oracle:11.2 64bit

引子:
在对医院的审计中,因为该医院使用了两个HIS系统,涉及到两个Oracle数据库,在使用中就要用到跨库查询(主操作数据库为rmyytj,跨库查询数据库为rmyyzl)。

先将语句写下来,再分析:

DROP    PUBLIC DATABASE LINK dblink_rmyyzl ;

SELECT * FROM v$instance ;                             --0

CREATE  PUBLIC DATABASE LINK dblink_rmyyzl 
        CONNECT TO u_sj IDENTIFIED BY "sj"             --1
        USING '(DESCRIPTION = 
                    (ADDRESS_LIST =
                        (ADDRESS = (PROTOCOL = TCP)
                                   (HOST = LOCALHOST)  --2
                                   (PORT = 1521)
                        )
                    )
                    (CONNECT_DATA =
                        (SERVICE_NAME = rmyyzl)        --3
                    )
               )' ;     

SELECT * FROM all_db_links ;                           --4

Dblink要在rmyytj下建立该。
|-0.该语句要在目标数据库中执行,用于查看目标数据库的Host_name和Instance_name
|-1. 要使用rmyyzl中的用户和密码进行连接,密码要用 “ ” 引上,不然就默认为大写
|-2. 将步骤0查询出的Host_name写入Host=位置(这里的Host用Localhost的原因是Server端在本机)
|-3. 将步骤0查询出的Instance_name写入Service_name=位置
|-4. 查看dblink_rmyyzl是否与建立好。

END~

你可能感兴趣的:(Oracle)