1、连接本地scott用户查看拥有的表
[oracle@ORADG ~]$ sqlplus scott/tiger
SQL> select * from tab;
TNAME                                   TABTYPE  CLUSTERID
------------------------------ ------- ----------
BONUS                                   TABLE
DEPT                                       TABLE
EMP                                        TABLE
MLOG$_EMP                          TABLE
RUPD$_EMP                           TABLE
SALGRADE                             TABLE
TEST                                       TABLE
 
2、连接远程计算机orcl实例的scott用户,查看用户表,测试可以连通
[oracle@ORADG ~]$ sqlplus scott/tiger@192.168.56.30:1521/orcl
SQL> select * from tab;
 
TNAME                                  TABTYPE  CLUSTERID
------------------------------ ------- ----------
BONUS                                 TABLE
DEPT                                     TABLE
EMP                                      TABLE
SALGRADE                            TABLE
USER_DATA                          TABLE
 
3、修改host记录,可以解析rac-scan的计算机名
[root@ORADG ~]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.56.20   ORADG
192.168.56.30   rac-scan
 
4、修改tnsnames.ora文件,添加如下一行,让本机可以用rac连通远程服务器
[oracle@ORADG ~]$ cd /u01/app/oracle/product/11.2.0/db_1/network/admin/
[oracle@ORADG admin]$ vi tnsnames.ora
RAC =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.30)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )
 
 
5、修改完毕后进行tnsping,检车能否tnsping通
[oracle@ORADG admin]$ tnsping RAC
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.30)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))
OK (10 msec)
 
6、查看test用户下拥有的表
[oracle@ORADG admin]$ sqlplus test/test
SQL> select * from tab;
TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
EMPF                           TABLE
EMPF1                          TABLE
EMPU1                          TABLE
EMPU2                          TABLE
USLOG$_EMPU1                   TABLE
USLOG$_EMPU2                   TABLE
 
 
7、授予test用户有创建dblink权限
SQL> conn / as sysdba
SQL> grant create database link to test;
 
8、用test用户创建dblink,连接scott用户,语法如下
SQL> conn test/test
SQL> create database link RAC connect to scott identified by tiger using 'RAC';
 
9、检查以RAC命名的dblink是否有效,检查可以访问远程的scott用户下的emp表
SQL> desc emp@RAC
 Name                                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 EMPNO                                                 NOT NULL NUMBER(4)
 ENAME                                                  VARCHAR2(10)
 JOB                                                        VARCHAR2(9)
 MGR                                                      NUMBER(4)
 HIREDATE                                              DATE
 SAL                                                       NUMBER(7,2)
 COMM                                                  NUMBER(7,2)
 DEPTNO                                                NUMBER(2)
 
10、通过dblink更改scott用户的emp表,然后在远程的scott用户下的emp表数据发生了变化
SQL> select sal from emp@rac where deptno=10;
       SAL
----------
      2450
      5000
      1300
 
SQL> /
 
       SAL
----------
      3450
      6000
      2300
 
11、授予test用户有创建同义词的权限
SQL> conn / as sysdba
SQL> grant create synonym to test;
 
 
12、为test用户创建同义词
SQL> conn test/test
SQL> create synonym emp for emp@rac;
SQL> create synonym dept for dept@rac;
SQL> create synonym salgrade fro salgrade@rac;
 
13、可以看到多了几张表,其实为同义词
SQL> select * from tab;
 
TNAME                                TABTYPE  CLUSTERID
------------------------------ ------- ----------
DEPT                                 SYNONYM
EMP                                  SYNONYM
EMPF                                TABLE
EMPF1                              TABLE
EMPU1                             TABLE
EMPU2                             TABLE
SALGRADE                       SYNONYM
USLOG$_EMPU1              TABLE
USLOG$_EMPU2              TABLE
 
14、使用同义词可以进行对应的查询,该查询是通过dblink远程访问rac的scott用户
SQL> select * from emp where deptno=10;
 
     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7782 CLARK      MANAGER         7839 09-JUN-81       2500                    10
      7839 KING       PRESIDENT                 17-NOV-81       5000                    10
      7934 MILLER     CLERK                7782 23-JAN-82       1300                    10
 
 
15、同样也可以进行数据更改
SQL> update emp set sal=sal-1 where deptno=10;
SQL> commit;
SQL> select * from emp where deptno=10;
 
     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7782 CLARK      MANAGER         7839 09-JUN-81       2449                    10
      7839 KING       PRESIDENT                 17-NOV-81       4999                    10
      7934 MILLER     CLERK                7782 23-JAN-82       1299                    10
 
16、创建word用户并授权
SQL> conn / as sysdba
SQL> create user word identified by oracle default tablespace users;
SQL> grant connect,resource to word;
 
 
17、用word用户可以将远程的数据库用户下的表直接拷贝过来
SQL> conn word/oracle
SQL> copy from scott/tiger@rac-scan:1521/orcl to word/oracle@orcl_dg replace emp using select * from emp;
 
Array fetch/bind size is 15. (arraysize is 15)
Will commit when done. (copycommit is 0)
Maximum long size is 80. (long is 80)
Table EMP created.
 
   14 rows selected from scott@rac-scan:1521/orcl.
   14 rows inserted into EMP.
   14 rows committed into EMP at word@orcl_dg.
 
SQL> select sal from emp where deptno=10;
       SAL
----------
      2449
      4999
      1299
 
18、可以修改arraysize的参数,使拷贝速度加快
SQL> set arraysize 999
SQL> copy from scott/tiger@rac to word/oracle@orcl_dg create dept using select * from emp;
Array fetch/bind size is 999. (arraysize is 999)
Will commit when done. (copycommit is 0)
Maximum long size is 80. (long is 80)
Table EMP created.
 
   14 rows selected from scott@rac.
   14 rows inserted into EMP.
   14 rows committed into EMP at word@orcl_dg.
 

DBLINK学习的更多相关文章

  1. Oracle学习(五)DBLINK

    一.DBLINK学习 目的:为了解决跨库访问的需求. 场景如下:tnsnames.ora(oracle的库配置文件)下配置了2个库的环境地址,现在要实现跨库访问. PS:DBLINK和是否同一个主机无 ...

  2. Java 学习文章汇总

    目前JAVA可以说是产业界和学术界最热门的语言,许多人都很急切想把JAVA学好. 但学习是需要步骤的,除非像电影中演的那样,能够把需要的专业技巧下载到脑海:主角只花了几秒下载资料,就马上具备飞行员的技 ...

  3. 【oracle】dblink创建

    目的:oracle中跨数据库查询 两台数据库服务器db_A(本地)和db_B(远程192.168.1.100),db_A下用户user_a 需要访问到db_B下user_b的数据 解决:查询得知使用d ...

  4. 学习OCI编程

    转自:http://kulong0105.blog.163.com/blog/static/174406191201162145944574/ 最近公司做的一个项目,要处理海量数据,数据是存放在Ora ...

  5. 作为一个新手的Oracle(DBA)学习笔记【转】

    一.Oracle的使用 1).启动 *DQL:数据查询语言 *DML:数据操作语言 *DDL:数据定义语言 DCL:数据控制语言 TPL:事务处理语言 CCL:指针控制语言 1.登录 Win+R—cm ...

  6. Oracle远程数据建物化视图(materialized)创建简单记录,以及DBLINK的创建

    目的:实现远程数据库访问及其相应表的定时同步 一.远程数据库dblink的创建 select * from dba_db_links; select * from user_sys_privs;--查 ...

  7. Oracle学习总结(8)—— 面向程序员的数据库访问性能优化法则

    特别说明: 1.  本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识: 2.  本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也 ...

  8. oracle通过dblink连接mysql配置详解(全Windows下)

    关于oracle通过dblink连接mysql,经过了两周的空闲时间研究学习,终于配置好了,真是不容易啊,仔细想想的话,其实也没花多长时间,就是刚开始走了一段弯路,所以把这次的经验分享出来,让大家少走 ...

  9. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

随机推荐

  1. 开源库Fab-Transformation简单使用解析

    转载请注明出处王亟亟的大牛之路 相似于IPhone的悬浮按钮的操作,仅仅只是是固定的,当然经过自己的改动也能够动.这边仅仅是给伸手党一个福祉,外加加上一些自己的理解.让大家能够拿来就用.看了就懂,废话 ...

  2. DotNetty编写跨平台网络通信

    DotNetty编写跨平台网络通信 长久以来,.Net开发人员都非常羡慕Java有Netty这样,高效,稳定又易用的网络通信基础框架.终于微软的Azure团队,使用C#实现的Netty的版本发布.不但 ...

  3. iOS常用加密方法(aes、md5、base64)

    1.代码 iOS常用加密方法(aes.md5.base64) .AES加密 NSData+AES.h文件 // // NSData-AES.h // Smile // // Created by 周 ...

  4. NOIP模拟 Date - Tarjan

    题目描述 小Y和小Z好不容易有机会相见啦,可是邪恶的小H却不想让他们相见.现在有一些城市,城市之间有双向路径相连,有路径相连的城市之间可以互相到达.小H可以任意选择一条路径,然后用他的邪恶力量污染这条 ...

  5. 用Canvas画一个刮刮乐

    Canvas 通过 JavaScript 来绘制 2D图形.Canvas 是逐像素进行渲染的.开发者可以通过javascript脚本实现任意绘图.Canvas元素是HTML5的一部分,允许脚本语言动态 ...

  6. 新一代Xamarin

    新一代Xamarin竟然可以将.NET代码原生编译成:Jar包供Java原生调用.swift类库.obj-c类库.C++类库 供目标平台传统代码直接调用 之前和很多朋友聊到Xamarin觉得确实不错, ...

  7. Static静态变量和非静态变量

    Static静态变量:   不同的对象共享这个变量的存储空间 而不是静态变量   每个对象具有可变的存储器空间 public class StaticDemo { private int count= ...

  8. 【MySQL案例】error.log的Warning:If a crash happens thisconfiguration does not guarantee that the relay lo

    1.1.1. If a crash happens thisconfiguration does not guarantee that the relay log info will be consi ...

  9. sql操作xml小总结

    一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和参数.为了更好地支持 XM ...

  10. Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss

    Virtual addresses from multiple address spaces are translated to real addresses in main memory by ge ...