现在有两个数据库实例orcl1,orcl2,如何在一个实例里定时读取另一个实例的数据呢?比如每月21号0点,orcl1读取oracl2中用户user2下的table2,并保存到orcl1中user1下的table1

解决方案 »

  1.   

    create database link "longshi.REGRESS.RDBMS.DEV.US.ORACLE.COM"--longshi 为dblink名称
    connect to advertise --advertise 为用户名
    identified by "advertise" --advertise为密码
    using '(DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 221.212.177.117)(PORT = 9001))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = longshi)--longshi为链接的数据库名
        ))';
    ---------------------------
    使用方法:
    select * from tableName@longshi--longshi为链接名
      

  2.   

    创建数据库链接的语法如下:     
        
      CREATE   [PUBLIC]   DATABASE   LINK   link     
        
      CONNECT   TO   username   IDENTIFIED   BY   password     
        
      USING   ‘connectstring’     
        
            
        
      注意:创建数据库链接的帐号必须有CREATE   DATABASE   LINK或CREATE   PUBLIC   DATABASE   LINK的系统权限,用来登录到远程数据库的帐号必须有CREATE   SESSION权限。这两种权限都包含在CONNECT角色中(CREATE   PUBLIC   DATABASE   LINK权限在DBA中)。