A库访问B库的数据,在A库创建一个public dblink到B库(使用B库具有select update delete权限的用户)。这个dblink是否具有B库那个用户的select update delete权限?能否给点这方面的资料?谢谢

解决方案 »

  1.   

    你创建dblink时,需要指定访问B库的用户和密码,如果这个用户就是B库的用户,那自然就拥有该用户的所有权限了。
      

  2.   

    1.dblink具备连接到的b库的用户具有的select update delete权限
    2.不能通过dblink执行ddl命令
      

  3.   

    就是说 delete from user.tables@remote_dblink where id=1;
    这样是不允许的?
    那如果确实有这样的需求该怎么实现呢?
      

  4.   

    ddl不是dml,delete是可以的,只要具备权限。
      

  5.   

    DML: SELECT, INSERT, UPDATEDDL:TRUNCATE TABLE, CREATE TABLE, CREATE PROCEDURE, CREATE VIEW ...
      

  6.   

    A库的dblink具备连接到的b库的用户具有的select update delete权限,可以执行select update delete的操作的,建议LZ自己找机器试试吧
      

  7.   


    --远程数据库的访问: 本地数据库(248) --> 目标数据库(178) ------ cms0408访问cms0412
    --dblink的配置:  
    --1.本地数据库服务器的配置: $vi $ORACLE_HOME/network/admin/tnsnames.ora
      cms178 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.36.129.178)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = ora125)
        )
      )
      
      其中:
       cms178:         dblink连接名
       10.36.129.178:  目标数据库服务器IP地址
       1521:           端口
       ora125:         目标数据库服务器全局数据库名称
       
     
    --2.sys用户登录,给用户cms0408授权
    grant create [public] database dblink to cms0408--3.创建dblink
    create database link cms_dblink
    connect to cms0412 identified by cms0412
    using 'cms178';--4.使用dblink
    select * from t_cms_mrbtbox_flow@cms_dblink ;
     
    create synonym abc for t_cms_dblink@cms_dblink2;
     
    select * from abc;
     
    --删除同义词的语句为
      
    drop synonym abc;--删除dblink语句: 
      
    drop database link lcms_dblink;