Oracle dblink

简介: DBLink 实现方式 -- 在12C 数据库 dba 用户下面做:rlwrap sqlplus / as sysdbacreate public database link db11g connect to C##ZZH identified by 000000 using '在12c配置的连接字符串(db11g)';-- 例:create database link db11g.
DBLink 实现方式 
-- 在12C 数据库 dba 用户下面做:
rlwrap sqlplus / as sysdba
create public database link db11g connect to C##ZZH identified by 000000 using '在12c配置的连接字符串(db11g)';
-- 例:
create database link db11g.orcl
  connect to Ahern identified by oracle
  using '(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.246)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl.com)
      (INSTANCE_NAME = orcl)
    )
  )';
-- 建立连接后就可以连接到 C##ZZH
conn C##ZZH/000000 
-- 就可以在 db12c 查看 db11g 下的表:
desc tablename@db11g
-- 访问:
select * from tablename@db11g where deptno=10; --该是远程11g数据库的表

-- 要让用户感觉就像调用自己的表:
-- 在dba用户下授予他建立同义词权限:
grant create synonym to C##ZZH;
-- 现在就可以连到C##ZZH用户下创建同义词:
create synonym tablename for tablename@db11g;
-- 现在就可以这样访问:给你的感觉就像这表就是本地表一样
select * from tablename where '...';

-- 通过Db link 就可以实现一个数据库去访问很多数据库,给用户的感觉就是该表就像是存储在本地数据库一样
-- 可以通过语句查询数据库上面有多少个db link 有权限访问的都可以查询出来
desc all_db_links;
select * from all_db_links; 

-- 在dba用户下删除link:
drop public database link db11g.orcl;
-- 同义词也失效了也应该删除:
drop synonym tablename;
-- 关于db link 的东西就删除干净了


示例:
revoke create database link from dataexch;
create public database link exchlink connect to dataexch identified by zzhQ123hz using 'YNSBSBY';

create user dataexch identified by zzhQ123hz default tablespace DATA;
grant connect,resource to dataexch;
select 'grant select on yn01700_p.'||table_name||' to dataexch;' from dba_tables where OWNER='YN01700_P';

select 'grant select on yn01700_i.'||table_name||' to dataexch;' from dba_tables where OWNER='YN01700_I';

select 'grant select on yn01700_param.'||table_name||' to dataexch;' from dba_tables where OWNER='YN01700_PARAM';

select 'grant select on yn01700_frame.'||table_name||' to dataexch;' from dba_tables where OWNER='YN01700_FRAME';

目录
相关文章
|
Oracle 关系型数据库 MySQL
Oracle通过DBLink连接MySQL
Oracle通过创建DBLink连接MySQL,查看修改MySQL表数据
8578 0
|
6月前
|
存储 Oracle 关系型数据库
百度搜索:蓝易云【oracle dblink mysql查询text无法显示问题】
通过使用 `DBMS_HS_PASSTHROUGH` 包执行 MySQL 查询并返回 CLOB 类型结果,可以解决 Oracle 数据库中无法直接显示 MySQL TEXT 类型数据的问题。
76 0
|
SQL Oracle 关系型数据库
创建Oracle DBLink及同义词方法
有时业务经常需要跨库执行SQL语句,就需要创建两个数据库之间的链接对象或通过同义词来实现。
532 0
|
SQL Oracle 关系型数据库
Oracle dblink的连接模式的关系测试总结
Oracle dblink的连接模式的关系测试总结这篇主要介绍一下database link由于连接数据库的方式不同遇到的一些问题,我们知道连接ORACLE服务器的模式一般有两种方式:专用服务器连接(dedicated server)和共享服务器连接(shared server)。
1893 0
|
关系型数据库 数据库 数据安全/隐私保护
Oracle跨服务器访问使用dblink
当要夸服务器访问数据库时,我们可以使用dblink建立连接服务器间的通道,本地创建了远程数据库的dblink后,访问远程服务器的库就像操作一个库一样了。 如果需要创建全局 DBLink,首先要确定用户有创建 dblink 的权限: 使用此语句查看:select * from user_sys_pr...
1845 0
|
Oracle 网络协议 关系型数据库
oracle通过dblink连接mysql配置详解(全Windows下)
oracle通过dblink连接mysql配置详解(全Windows下)http://www.bieryun.com/3394.html 关于oracle通过dblink连接mysql,经过了两周的空闲时间研究学习,终于配置好了,真是不容易啊,仔细想想的话,其实也没花多长时间,就是刚开始走了一.
2925 0
|
Oracle 关系型数据库 数据库