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表数据
9032 0
|
8月前
|
SQL Oracle 关系型数据库
【YashanDB知识库】yashandb执行包含带oracle dblink表的sql时性能差
【YashanDB知识库】yashandb执行包含带oracle dblink表的sql时性能差
|
8月前
|
Oracle 关系型数据库 MySQL
【YashanDB知识库】oracle dblink varchar类型查询报错记录
这篇文章主要介绍了 Oracle DBLINK 查询崖山 DB 报错的相关内容,包括 ODBC 安装配置、数据源配置、dblink 环境配置、问题原因分析及规避方法。问题原因是 dblink 连接其他数据库时 varchar 类型转换导致的,还介绍了 long 类型限制、char 等类型区别,规避方法是修改参数 MAX_STRING_SIZE 支持 32K。
|
10月前
|
Oracle 关系型数据库 数据库
【YashanDB知识库】oracle dblink varchar类型查询报错记录
在使用Oracle DBLink查询VARCHAR类型数据时,可能会遇到多种报错。通过了解常见错误原因,采取合适的解决方法,可以有效避免和处理这些错误。希望本文提供的分析和示例能帮助你在实际工作中更好地处理DBLink查询问题。
281 10
|
存储 Oracle 关系型数据库
百度搜索:蓝易云【oracle dblink mysql查询text无法显示问题】
通过使用 `DBMS_HS_PASSTHROUGH` 包执行 MySQL 查询并返回 CLOB 类型结果,可以解决 Oracle 数据库中无法直接显示 MySQL TEXT 类型数据的问题。
145 0
|
SQL Oracle 关系型数据库
Oracle 使用DB link update table & TNS:linstener was not given the servicename in connect_data处理方式
业务需求:需要在Oracle1 的A表增加一个字段,这个字段来自于Oracle2 的B表的一个字段。
271 0
|
SQL Oracle 关系型数据库
创建Oracle DBLink及同义词方法
有时业务经常需要跨库执行SQL语句,就需要创建两个数据库之间的链接对象或通过同义词来实现。
657 0

推荐镜像

更多