Oracle创建Database Link的两种方式详解

创建一个dblink,命名为dblink_name,从A数据库连到B数据库,B数据库的IP为192.168.1.73,端口为1521,实例名为oracle,登录名为tast,密码为test。

  一菜单方式:

  打开plsql,点击【File】-【New】-【Database link】,打开如下图所示窗口

填好各项信息后,点击【Apply】即可完成Database Link的创建。

  二SQL方式

-- Drop existing database link
drop public database link dblink_name;
-- Create database link
create public database link dblink_name connect to SYSTEM using '192.168.1.73:1521/oracle';

  以上就是Oracle创建Database Link的两种方式

以下是详细的补充:

database linke是建立一个数据库到另一个数据库的路径的对象,通过database link可以允许查询远程表,我理解可以算作一种分布式数据库的用法。

database link是单向连接,既然它是一种对象,那自然可以在xxx_objects表中查询到相关的信息。建立database link前需要明确几个事情:

1、确认从建立方的server可以访问远程数据库。
2、需要在建立方的tnsnames中配置远程数据库连接串。
3、只有在服务端配置的连接才能在dblink中使用,如果仅是在客户端配置的连接是不能在dblink中使用,我这里就犯了这个错误,执行时就报错:

select * from t@dblinktest
          *
ERROR at line 1:
ORA-12154: TNS:could not resolve service name

很明显,相当于服务端未配置tnsname,因此找不到远程数据库的service name配置。

建立过程:

1、建立方的服务端配置远程数据库的tnsname配置。
2、tnsping 远程数据库tnsnames配置名称,可以通。
3、sqlplus登录后执行:

SQL> create database link dblinktest connect to user identified by passwd using 'ceshi';

其中:
dblinktest是database link的名称。

user是远程数据库的用户名。
passwd是远程数据库的密码。
ceshi是数据库服务端配置的tnsnames中名称。

4、执行:

SQL> select owner,object_name from dba_objects where object_type='DATABASE LINK';
OWNER           OBJECT_NAME
--------------- -------------------------
OPEN               DBLINKTEST

可以看到已经建立了这个database link。

5、执行:

SQL> select * from t@dblinktest;
        ID
----------
         0
         2
         3
         4
         5

当然也可以执行insert语句:

SQL> insert into t@dblinktest values(1);
1 row created.

另外database link分为public和private的,默认是private,只有当前用户可用,如果是create public database link ...,则所有用户都可以使用这个名称的database link。

(0)

相关推荐

  • Oracle触发器用法实例详解

    本文实例讲述了Oracle触发器用法.分享给大家供大家参考,具体如下: 一.触发器简介 触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行.因此触发器不需要人为的去调用,也不能调用.然后,触发器的触发条件其实在你定义的时候就已经设定好了.这里面需要说明一下,触发器可以分为语句级触发器和行级触发器.详细的介绍可以参考网上的资料,简单的说就是语句级的触发器可以在某些语句执行前或执行后被触发.而行级触发器则是在定义的了触发的表中的行数据改变时就会被触发一次. 具体举例: 1.

  • oracle RETURNING 子句使用方法

    RETURNING 自己通常结合DML 语句使用.(INSERT UPDATE DELETE) 使用方法: UPDATE table_name SET expr1 RETURNING column_name INTO xxx INSERT: 返回的是添加后的值 UPDATE:返回时更新后的值 DELETE:返回删除前的值 RETURNING 可以再sqlplus 和plsql中使用 如果是plsql就如上面的代码,xxx为声明的变量名 如果是sqlplus,xxx 可以为变量,即 VARIABL

  • Oracle例外用法实例详解

    本文实例讲述了Oracle例外用法.分享给大家供大家参考,具体如下: 一.例外分类 oracle将例外分为预定义例外.非预定义例外和自定义例外三种. 1).预定义例外用于处理常见的oracle错误. 2).非预定义例外用于处理预定义例外不能处理的例外. 3).自定义例外用于处理与oracle错误无关的其它情况. 下面通过一个小案例演示如果不处理例外看会出现什么情况? 编写一个存储过程,可接收雇员的编号,并显示该雇员的姓名. sql代码如下: SET SERVEROUTPUT ON; DECLAR

  • Oracle数据库中外键的相关操作整理

    racle使用外键来限制子表中参考的字段值,要求子表中的数据必须在主表中存在.当主表的记录发生变化时导致外键参考唯一约束值发生了变化时,Oracle指定了三种动作:默认值(类似于restrict).delete cascade和delete set null.( 1.创建父表并初始化数据 SQL> create table t_parent (parent_id int primary key, name varchar2(10)); Table created. SQL> insert in

  • oracle中变长数组varray,嵌套表,集合使用方法

    创建变长数组类型 CREATE TYPE varray_type AS VARRAY(2) OF VARCHAR2(50); 这个变长数组最多可以容纳两个数据,数据的类型为 varchar2(50) 更改元素类型的大小或精度 可以更改变长数组类型和嵌套表类型 元素的大小. ALTER TYPE varray_type MODIFY ELEMENT TYPE varchar2(100) CASCADE; CASCADE选项吧更改传播到数据库中的以来对象.也可以用 INVALIDATE 选项使依赖对

  • Oracle数据库中建立索引的基本方法讲解

    怎样建立最佳索引? 1.明确地创建索引 create index index_name on table_name(field_name) tablespace tablespace_name pctfree 5 initrans 2 maxtrans 255 storage ( minextents 1 maxextents 16382 pctincrease 0 ); 2.创建基于函数的索引 常用与UPPER.LOWER.TO_CHAR(date)等函数分类上,例: create index

  • Oracle自动备份及自动备份步骤

    数据是应用的核心部分,程序坏了换台机器重新发布就可以,但数据一旦丢失,造成的损失将不可挽回,程序发布到生产后,数据的备份便显得尤为重要,由于不一定所有的服务均有资金完成高级的备份如RAC和DG,在我们只有一台数据库服务器的,暂时采取最简单的备份策略,export出dmp进行保存. 一.备份脚本 1.初始化变量,记录开始日志 #变量 sysname=填写自己的系统名称 syspath=/home/oracle/databak/$sysname v_date=$(date '+%Y%m%d%H%M%

  • Oracle自动备份脚本

    废话不多说了,直接给大家贴代码了,具体代码如下所示: #!/bin/sh #****************************************************************** # File: oraclebak.sh # Creation Date: 2014/1/22 17:57:32 # Last Modified: 2014/1/22 17:57:34 # 脚本功能:oracle备份脚本 # 执行方法:1.第一次执行需要root用户执行,脚本会以询问的方式

  • Oracle创建Database Link的两种方式详解

    创建一个dblink,命名为dblink_name,从A数据库连到B数据库,B数据库的IP为192.168.1.73,端口为1521,实例名为oracle,登录名为tast,密码为test. 一菜单方式: 打开plsql,点击[File]-[New]-[Database link],打开如下图所示窗口 填好各项信息后,点击[Apply]即可完成Database Link的创建. 二SQL方式 -- Drop existing database link drop public database

  • Android事件处理的两种方式详解

    安卓提供了两种方式的事件处理:基于回调的事件处理和基于监听的事件处理. 基于监听的事件处理 基于监听的事件处理一般包含三个要素,分别是: Event Source(事件源):事件发生的场所,通常是各个组件 Event(事件):事件封装了界面组件上发生的特定事件(通常就是用户的一次操作) Event Listener(事件监听器):负责监听事件源发生的事件,并对各种事件作出相应的响应 下面使用一个简单的案例介绍按钮事件监听器 布局文件就是简单的线性布局器,上面是一个EditText,下面是一个Bu

  • Node.js中参数传递的两种方式详解

    目录 参数传递方式 GET方式 POST方式 动态网页 参数传递方式 在Node.js中,参数传递常见的共两种方式: GET方式:通过地址栏键=值的方式进行传递. POST方式:通过表单的方式传递请求数据. GET方式 GET方式通常是在请求地址中以[?参数1=值1&参数2=值2]的格式进行传递,在Node.js中可以通过获取url然后进行获取参数,如下所示: //1.引入http模块 var http = require('http'); //2.创建服务 var server = http.

  • springboot 注册服务注册中心(zk)的两种方式详解

    在使用springboot进行开发的过程中,我们经常需要处理这样的场景:在服务启动的时候,需要向服务注册中心(例如zk)注册服务状态,以便当服务状态改变的时候,可以故障摘除和负载均衡. 我遇到过两种注册的途径: 1.在Spring的webapplication启动完成后,直接进行注册: 2.在servlet容器启动完成后,通过listener进行注册. 本文通过一个demo讲述一下这两种注册方式,使用的是传统的向zk注册的方案. 1.Spring webapplication启动完成后注册 先上

  • RabbitMQ 实现延迟队列的两种方式详解

    目录 1. 用插件 1.1 安装插件 1.2 消息收发 2. DLX 实现延迟队列 2.1 延迟队列实现思路 2.2 案例 3. 小结 定时任务各种各样,常见的定时任务例如日志备份,我们可能在每天凌晨 3 点去备份,这种固定时间的定时任务我们一般采用 cron 表达式就能轻松的实现,还有一些比较特殊的定时任务,向大家看电影中的定时炸弹,3分钟后爆炸,这种定时任务就不太好用 cron 去描述,因为开始时间不确定,我们开发中有的时候也会遇到类似的需求,例如: 在电商项目中,当我们下单之后,一般需要

  • Spring Bean属性注入的两种方式详解

    目录 属性注入概念 一.构造器注入 示例1 注意点 二.setter注入 示例2 三.如何选择注入方式 属性注入概念 Spring 属性注入(DI依赖注入)有两种方式:setter注入,构造器注入. 这个注入的属性可以是普通属性(基本数据类型与String等),也可以是一个引用数据类型(主要是对象),或者是一个集合(list.map.set等) 下表是属性注入bean标签中常用的元素 元素名称 描述 constructor-arg 构造器注入.该元素的 index 属性指定构造参数的索引(从 0

  • IOS 指纹识别两种方式详解及实例

    IOS 指纹识别两种方式详解及实例 首先引入类名: #import <LocalAuthentication/LocalAuthentication.h> 然后在实现指纹识别的地方放入如下代码: 方式一: LAContext *lacontext = [[LAContext alloc]init]; // 判断设备是否支持指纹识别 BOOL isSupport = [lacontext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWit

  • 对Python使用mfcc的两种方式详解

    1.Librosa import librosa filepath = "/Users/birenjianmo/Desktop/learn/librosa/mp3/in.wav" y,sr = librosa.load(filepath) mfcc = librosa.feature.mfcc( y,sr,n_mfcc=13 ) 返回结构为(13,None)的np.Array,None表示任意数量 2.python_speech_features from python_speech_

  • mapper接口注入两种方式详解

    这篇文章主要介绍了mapper接口注入两种方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.使用模板方式: <!--使用模板类实现mybatis --> <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg name="sqlSessionFacto

  • IDEA安装阿里巴巴编码规范插件的两种方式详解(在线安装和离线安装)

    目录 1.在线安装: 2.离线安装: IDEA安装阿里巴巴编码规范插件的两种方式:在线安装和离线安装. 1.在线安装: 打开file-settings-Plugins.如图: 搜索到点击右边的install按钮,即可在线安装. 在线安装非常简单. 2.离线安装: 下载插件地址:https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines/versions或者 链接: https://pan.baidu.com/

随机推荐