`

oracle创建database link

 
阅读更多

注:转自http://www.cnblogs.com/xd502djj/archive/2009/07/02/1515509.html,并对其中部分内容进行了修改及测试!

Db_name:对一个数据库(Oracle database)的唯一标识,该数据库为第一章讲到的Oracle database。这种表示对于单个数据库是足够的,但是随着由多个数据库构成的分布式数据库的普及,这种命令数据库的方法给数据库的管理造成一定的负担,因为各个数据库的名字可能一样,造成管理上的混乱。为了解决这种情况,引入了Db_domain参数,这样在数据库的标识是由Db_name和Db_domain两个参数共同决定的,避免了因为数据库重名而造成管理上的混乱。这类似于互连网上的机器名的管理。我们将Db_name和Db_domain两个参数用’.’连接起来,表示一个数据库,并将该数据库的名称称为Global_name,即它扩展了Db_name。Db_name参数只能由字母、数字、’_’、’#’、’$’组成,而且最多8个字符。

Db_domain:定义一个数据库所在的域,该域的命名同互联网的’域’没有任何关系,只是数据库管理员为了更好的管理分布式数据库而根据实际情况决定的。当然为了管理方便,可以将其等于互联网的域。

Global_name:对一个数据库(Oracle database)的唯一标识,oracle建议用此种方法命令数据库。该值是在创建数据库是决定的,缺省值为Db_name. Db_domain。在以后对参数文件中Db_name与Db_domain参数的任何修改不影响Global_name的值,如果要修改Global_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO <db_name.db_domain>命令进行修改,然后修改相应参数。

Service_name:该参数是oracle8i新引进的。在8i以前,我们用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。为了方便并行环境中的设置,引进了Service_name参数,该参数对应一个数据库,而不是一个实例,而且该参数有许多其它的好处。该参数的缺省值为Db_name. Db_domain,即等于Global_name。一个数据库可以对应多个Service_name,以便实现更灵活的配置。该参数与SID没有直接关系,即不必Service name 必须与SID一样。

Net service name:网络服务名,又可以称为数据库别名(database alias)。是客户端程序访问数据库时所需要,屏蔽了客户端如何连接到服务器端的细节,实现了数据库的位置透明的特性。

 

 实例 就是管理相关库的内存结构的名字(由SGA、PGA、服务器进程、用户进程、后台进程等组成)

  数据库 就是实际的磁盘上的文件(数据文件、日志文件、控制文件等),负责保存数据,但由对应的实例来操作它的数据

  服务名 就是对外公布的名称,为网络监听服务

  其实,在我们传统的概念里,数据库是一个统称的名字,在Oracle中,你可以把“数据库”理解成一个大概念,也要把它理解成一个小概念

   

  1、一个Oracle数据库系统中可以同时安装几个数据库,每一个数据库对应一个唯

  一的实例,但是OPS系统除外,可以多个实例同时对一个数据库操作,称为并行服务

  器

  2、只是一个名字,SID即是INSTANCE_NAME,SERVICE_NAMES主要用在监听器中,

  为了方便吧,有些是为了传统习惯的延续,有些是为了更方便的使用

  3、NET EASY CONFIG操纵的应该是主机字符串,是为客户端服务的

  一个数据库可以对外公布多个服务名(SERVICE_NAMES)

  一个客户端也可以用多个主机字符串连接到同一个数据库服务器上

  4、一个OS上可以装多个Oracle数据库(小的概念),每个库可以对外公布多个服

  务名,都通过init.ora和listener.ora来实现

-----------------------------------------------------

1建立net 服务名

linux下 进入

cd $ORACLE_HOME/network/admin

vi tnsnames.ora

添加

CCPBS_19 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.130.38.19)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = CCPBS)
    )
  )

 保存 退出 然后测试下

>tnsping ccpbs_19

 

TNS Ping Utility for Linux: Version 9.2.0.7.0 - Production on 02-JUL-2009 15:16:52

Copyright (c) 1997 Oracle Corporation.  All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.130.38.19)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = CCPBS)))
OK (20 msec)

测试成功

 

 

 

Windows下的参见 http://article.pchome.net/content-340501.html

2、创建数据库链接,

 

/home/oracle/>sqlplus /nolog

SQL*Plus: Release 9.2.0.7.0 - Production on Thu Jul 2 16:01:00 2009

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

SQL> conn /as sysdba
Connected.

进入系统管理员SQL>操作符下,运行命令:

 

>create public database link ecbm_19 connect to ecbm_userName identified by ecbm_pwd using '

(DESCRIPTION  =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.130.38.19)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = CCPBS)
    )
';

 

Database link created.

格式:

create public database link link_name connect to user identified by password using 'SID';

注:此处如只写sid,则查询时会报“未找到远程数据库的连接说明”错误!,因此此处因填写完整的数据库地址!

  则创建了一个连接到10.130.38.19 ccpbs上以ecbm_userName 用户的连接

查询数据时带上select * from table@ecbm_19 就ok了 如select * from emp@ecbm_19;

删除 DROP PUBLIC DATABASE LINK ecbm_19;

global_name 设置为true,要求dblink_name 与远端数据库(目标数据库)的全局名一致, global_name=false 时,不要求相同 .
在设置高级复制 (Advanced Replication) 的时候特别要注意。

>alter system set global_names=false scope=both;

分享到:
评论

相关推荐

    Oracle创建Database link方法

    Oracle 创建 Database link 方法 Oracle 创建 Database link 方法是指在 Oracle 中创建一个 Database link 的过程,这样可以实现跨库访问,即在一个数据库中可以访问另一个数据库中的数据。下面将详细介绍如何创建...

    Oracle数据库如何创建DATABASE LINK

    ### Oracle数据库创建DATABASE LINK详解 #### 一、概述 在Oracle数据库中,通过创建DATABASE LINK(简称DB LINK),可以实现在不同的数据库之间进行数据共享与交互。这种技术使得用户能够像操作本地数据库一样操作...

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

    Database Link是Oracle数据库提供的一种分布式数据库功能,它创建了一个从源数据库到目标数据库的逻辑连接。 创建Database Link主要有两种方法:通过PL/SQL Developer的菜单界面和通过SQL命令行。下面将详细介绍这...

    oracle中databaselink创建

    databaselink是oracle数据库连接另一个数据库(可以是非oracle数据库)用的连接

    Oracle DATABASE LINK(DBLINK)创建与删除方法

    Oracle DATABASE LINK,简称DBLINK,是一种在不同的Oracle数据库实例间建立连接的方式,允许用户在本地数据库上执行查询和操作远程数据库的数据。DBLINK为跨数据库的通信提供了简单且高效的解决方案。 创建DBLINK的...

    oracle create database link

    oracle create database link

    Database Link经典详解

    综上所述,Oracle数据库链接(Database Link)是一种用于实现分布式事务处理的重要机制。通过创建合适的数据库链接,可以有效地管理和访问跨多个数据库实例的数据资源。理解其创建过程及不同类型之间的区别,对于构建...

    oracle 存储过程 databaselink 收集

    ### Oracle存储过程与Database ...通过以上介绍,我们了解了如何在Oracle中创建和调用带有输入/输出参数的存储过程,以及如何创建和使用Database Link来访问远程数据库。这些技术对于实现复杂的应用程序逻辑非常有用。

    Oracle dblink详解

    在创建 Database Link 时,Oracle 会在数据字典中保存相关的 Database Link 信息。在使用 Database Link 时,Oracle 通过 Oracle Net 使用用户预先定义好的连接信息访问相应的远程数据库以完成相应的工作。 创建 ...

    关于创建oracle dblink 过程的几点心得

    Oracle DB Link 创建过程心得 Oracle DB Link 是一种数据库链接技术,允许用户从一台数据库服务器读取另一台数据库服务器下的数据。下面是创建 Oracle DB Link 过程的几点心得: 什么是 DB Link DB Link 是一种...

    在oracle下创建dblink

    1. **创建公共DBLink**:使用`CREATE PUBLIC DATABASE LINK`命令可以创建一个公共数据库链接。例如,下面的命令创建了一个名为`test`的公共DBLink,它指向名为`HO01`的目标数据库,并使用用户名`hodba`和密码`china...

    Oracle数据库链Database links

    ② 其次,需要创建 Database links 对象,使用 CREATE DATABASE LINK 语句。例如:CREATE DATABASE LINK yb CONNECT TO erp IDENTIFIED BY erp USING 'erp';。其中,CREATE DATABASE LINK 是创建 Database links ...

    DBLink的创建和使用

    在Oracle数据库中,DBLink(Database Link)是一种连接机制,允许用户从一个数据库(本地数据库)无缝地访问另一个数据库(远程数据库)中的数据,而无需实际的物理复制或迁移。DBLink使得数据交互和分布式查询变得...

    oracle dblink 创建过程

    DBLink(Database Link)是Oracle提供的一种机制,用于在不同的Oracle数据库实例之间建立连接,实现跨数据库查询、更新等功能。它使得在一个数据库中访问另一个数据库的数据成为可能。 ##### 1. 全局名称(global_...

    oracle_database.rar_oracle

    我们将基于"oracle_database.rar_oracle"这个压缩包中的"oracle_database.txt"文件,来探讨相关知识点。 首先,我们要理解数据库同步的基本概念。数据库同步是指将数据从一个源数据库更新到另一个目标数据库的过程...

    Windows Server服务器下Oracle11g创建ODBC连接HANA数据库

    目前通过Oracle11g连接SAP的HANA数据库Oracle11g的透明网关插件gateways中没有该选项,只能通过ODBC创建dblink连接HANA数据库,文档中包含有如何创建本地数据源ODBC,如何创建并配置相关ora文件,如何创建dblink等...

Global site tag (gtag.js) - Google Analytics