注:转自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有两种方式,一种是通过菜单,一种是通过SQL
oracle调用存储过程方法,包括带返回参数和列表参数; oracle创建databaselink的方法和语法,以及对应举例说明。
databaselink是oracle数据库连接另一个数据库(可以是非oracle数据库)用的连接
oracle create database link
Database Link详细讲解oracle分布式.文档详细,精简,供大家学习!
主要介绍了Oracle DATABASE LINK(DBLINK)创建与删除方法,需要的朋友可以参考下
在创建database link的时候,Oracle再数据字典中保存相关的database link的信息,在使用database link的时候,Oracle通过Oracle Net用用户预先定义好的连接信息访问相应的远程数据库以完成相应的工作。 建立database...
目前通过Oracle11g连接SAP的HANA数据库Oracle11g的透明网关插件gateways中没有该选项,只能通过ODBC创建dblink连接HANA数据库,文档中包含有如何创建本地数据源ODBC,如何创建并配置相关ora文件,如何创建dblink等...
本文档是在开发oracle过程中总结出来的,希望对想了解oracle db link的人有帮助
主要介绍了通过PLSQL Developer创建Database link,DBMS_Job,Procedure,实现Oracle跨库传输数据,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
代码示例,详细讲解怎么去使用Oracle数据库中的DBLINK(Database Link)。示例简单易懂。
前一阵领导安排了一个任务:定时将集团数据库某表的... Database link:使用户可以通过一个数据库访问到另外一个远程数据库 DBMS_Job:使ORACLE数据库定期执行特定的任务 Procedure:用来完成特定的数据操作(比如修
create database link link_zhangli connect to zhangli identified by zhangli using' (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = ...
create database link
oracle 12c for windows 安装向导
1.3.8 数据库链(Database Link) 20 第2章 管理ORACLE数据库 21 2.1 基本概念 21 2.1.1 数据字典 21 2.1.2 事务管理 23 2.1.3 数据库管理员(DBA) 24 2.1.4 ORACLE的四种状态 25 2.2 SQL*Plus方式的ORACLE数据库启动...