精华内容
下载资源
问答
  • dblink

    2019-10-09 02:09:27
    当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。下面讲介绍如何在本地数据库中创建...

     当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。下面讲介绍如何在本地数据库中创建dblink.

      创建dblink一般有两种方式,不过在创建dblink之前用户必须有创建dblink的权限。想知道有关dblink的权限,以sys用户登录到本地数据库:

      select * from user_sys_privs t

      where t.privilege like upper('%link%');

      1 SYS CREATE DATABASE LINK NO

      2 SYS DROP PUBLIC DATABASE LINK NO

      3 SYS CREATE PUBLIC DATABASE LINK NO

      可以看出在数据库中dblink有三种权限CREATE DATABASE LINK(所创建的dblink只能是创建者能使用,别的用户使用不了),CREATE PUBLIC DATABASE LINK(public表示所创建的dblink所有用户都可以使用),DROP PUBLIC DATABASE LINK。

      在sys用户下,把CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK权限授予给你的用户

      grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to scott;

      然后以scott用户登录本地数据库

      1.创建dblink的第一种方式,是在本地数据库tnsnames.ora文件中配置了要远程访问的数据库。

      create public database link

      to_bylw connect to scott identified by tiger using 'bylw';

      其中to_bylw是你创建的dblink名字,bylw是远程数据库的实例名,scott/tiger是登录到远程数据库的用户/密码。然后在本地数据库中通过dblink访问远程数据库'bylw'中scott.tb_test表,sql语句如下所示

      select * from scott.tb_test@to_bylw;

      2.创建dblink的第二种方式,是在本地数据库tnsnames.ora文件中没有配置要访问的远程数据库,

      create database link to_test

      connect to scott identified by tiger

      using '(DESCRIPTION =

      (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521))

      )

      (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = bylw)

      )

      )';

      第二种是把第一种配置在tnsnames.ora文件中的信息,直接放在创建dblink语句后面。第一种情况tnsnames.ora文件中信息如下:

      bylw =

      (DESCRIPTION =

      (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521))

      )

      (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = bylw)

      )

      )

    转载于:https://www.cnblogs.com/jessi/p/4759834.html

    展开全文
  • DBLink

    2020-01-01 21:36:05
    DBLink是Oracle之间跨库连接的一种方式,在数据库A中创建连接到数据库B的DBLink,可以在数据库A中远程访问数据库B的数据。 1. 查询有哪些DBLink的权限 select * from user_sys_privs where privilege like upper'...

    DBLink是Oracle之间跨库连接的一种方式,在数据库A中创建连接到数据库B的DBLink,可以在数据库A中远程访问数据库B的数据。

    1. 查询有哪些DBLink的权限

    select * from user_sys_privs where privilege like upper'%link%';

    2.在数据库A中创建连接到数据库B的DBLink

    create database link 要建立的DBLink名称

    connect to '数据库B的账号' identified by '数据库B的密码'

    using '数据库B的TNS’

    3.查询DBLink

    select * from dba_db_links where db_link='要查找的DBLink名称';

    4.删除DBLink

    drop public database link '要删除的DBLink名称';

      注:DBLink有public和private之分,private DBLink 只有创建的schema才能删除,sys也不能删除。public  DBLink任意schema都能删除,只要权限够。

    展开全文
  • DBLINK

    千次阅读 2018-10-08 19:34:23
    A库想查B库的东西可以在A库上建一个DBLINK,单向,不需要在B上建,除非B也想查A的东西 然后只要SELECT * FROM TABLE_NAME@DBLINK_NAME就可以了 建DBLINK语句: CREATE [SHARED] [PUBLIC] database link link_name...

    A库想查B库的东西可以在A库上建一个DBLINK,单向,不需要在B上建,除非B也想查A的东西

    然后只要SELECT * FROM TABLE_NAME@DBLINK_NAME就可以了

    建DBLINK语句:

    CREATE [SHARED] [PUBLIC] database link link_name
      [CONNECT TO [user] [current_user] IDENTIFIED BY password] 
      [AUTHENTICATED BY user IDENTIFIED BY password] 
      [USING 'connect_string']

    一般是PUBLIC

    实例:

    create public database link "DBLINK_TEST"
    connect to A
    identified by "A"
    using '127.0.0.1:1521/A'

    这样可以把对方表备份到我们库里,就是不用卸数成文件,直接搞进来

    展开全文
  • DBlink

    千次阅读 2018-05-03 10:30:07
    一:查看已创建的DBlink SELECT * FROM dba_objects WHERE object_type = 'DATABASE LINK'; SELECT * FROM all_db_links;二:DBlink创建 (1).查看当前用户是否具有创建DBlink的权限 select * from user_sys_...

    一:查看已创建的DBlink

        SELECT * FROM dba_objects WHERE object_type = 'DATABASE LINK';

        SELECT * FROM all_db_links;

    二:DBlink创建

        (1).查看当前用户是否具有创建DBlink的权限

            select * from user_sys_privs;

           

            可以看出当前用户没有创建DBlink的权限,

            给当前用户赋予权限:

            grant create public database link to hap_prod_230;

            grant create database link to hap_prod_230;

            再次执行上述查询语句,当前用户已经有创建DBlink的权限。

           

        (2).确认目标数据库的TNS信息。例如,这是我本地数据库的TNS信息:

            

        (3).创建DBlink

            方式一:

                使用本地tnsnames.ora文件中配置的目标数据库的连接信息来创建:

                CREATE [ public ] DATABASE link DBlink_name CONNECT TO user identified BY password USING 'tns_name';

            其中,DBlink_name为要创建的DBlink名称,user为目标数据库的用户名,password为目标数据库该用户的密码,tns_name为tnsnames.ora文件中配置的目标数据库的别名。

               如果本地tnsnames.ora文件中没有配置目标数据库的连接信息,将上述语句中的tns_name替换为目标数据库的连接信息即可,如下所示:

                CREATE [ public ] DATABASE link DBlink_name CONNECT TO user identified BY password
                  USING '(DESCRIPTION =
                    (ADDRESS_LIST =
                        (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
                    )
                    (CONNECT_DATA =
                        (SERVER = )
                        (SERVICE_NAME = )
                    )

                    )';

    三:DBlink的使用:

        [user.]table|view@dblink

        对于经常使用的数据库链接,可以建立一个本地的同义词,方便使用:

        CREATE SYNONYM syn_name FOR [user.]table|view@dblink;

    四:DBlink的删除:

        DROP PUBLIC DATABASE LINK DBlink_name;

        DROP DATABASE LINK DBlink_name

    展开全文
  • Dblink

    千次阅读 2008-06-02 14:04:00
    Dblink目录 dblink_connect -- 打开一个指向远端数据库的永久连接 dblink_connect_u -- 打开一个指向远端数据库的不安全的永久连接 dblink_disconnect -- 关闭一个指向远端数据库的永久连接 DBlink -- 在远程数据库...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,429
精华内容 2,171
热门标签
关键字:

dblink