Oracle树立DBLINK的具体过程ITeye - 凯时娱乐

Oracle树立DBLINK的具体过程ITeye

2019年02月19日08时25分16秒 | 作者: 问寒 | 标签: 数据库,北京,新疆 | 浏览: 2425

Oracle树立DBLINK的具体过程

测验条件:
假定某公司总部在北京,新疆有其部属的一个分公司。在本次测验中,新疆的核算机为本地核算机,即本要的IP地址为:192.168.1.100
北京的总部有一个会集的数据库,其SID是SIDBJ,用户名:userbj,暗码:bj123,北京的IP地址是:192.168.1.101。
在本地(新疆)的分公司也有一个数据库,其SID是SIDXJ,用户:userxj,暗码:xj123,新疆的IP地址是:192.168.1.100。
要将本地新疆的SIDXJ数据库中拜访到北京的数据库SIDBJ中的数据。
也就是说,在sidxj的数据库中,用户userxj(192.168.1.100)需求树立DBLINK,以userbj的用户身份拜访sidBJ(192.168.1.101)中的数据。
测验环境:两个数据库均树立在WINXP上,ORACLE的版别均为Oracle817
树立环境时,要留意封闭两台核算机上的Windows的防火墙,不然,会呈现能ping通,但Oracle衔接不通的状况。
1、问:怎么回来数据库的GLOBAL_NAME?
履行SELECT * FROM GLOBAL_NAME;
北京的数据库的GLOBAL_NAME为SIDBJ.US.ORACLE.COM
新疆的数据库的GLOBAL_NAME为SIDXJ
2、问:怎么检查Global_name参数是true仍是False?
答:履行:SQL show parameter global_name;
履行的成果如下:
NAME  TYPE  VALUE
-
global_names  boolean  TRUE
表明该参数是true.
也能够经过检查v$option视图,假如其间Advanced replication为TRUE,则支撑高档仿制功用;不然不支撑。
履行句子为:select * from v$option;
3、问:怎么检查Oracle的版别是否支撑同步功用?
答:履行select * from v$option where PARAMETER=Advanced replication句子,
怎么回来值为True,那么就是支撑,不然就是不支撑。在两个数据库中都是检查是否支撑才行。

树立过程:
1、在本地树立一个Oracle的客户端衔接tns_xj_to_bj,用于衔接北京的数据库。
2、新建一个衔接tnsxj,用于衔接本地的sidxj数据库,以tnsxj/userxj/xj123登录到PLSQL中。
下面开端创立衔接到北京的长途数据衔接DBLink。
create database link SIDBJ.US.ORACLE.COM connect to userbj identified by bj123 using tns_xj_to_bj;
其间:SIDBJ.US.ORACLE.COM是长途的数据库的global_name,userbj是衔接SIDBJ的用户名,bj123是userbj的暗码,
tns_xj_to_bj是本地树立的衔接到北京的数据库的效劳名。
3、测验衔接是否成功:
select * from dual@SIDBJ.US.ORACLE.COM
假如回来成果如下则表明衔接成功了。
DUMMY
-
X
4、查询现已树立的长途衔接名:
SQL select owner,object_name from dba_objects where object_type=DATABASE LINK;
OWNER  OBJECT_NAME

SYSTEM  SIDBJ.US.ORACLE.COM
USERXJ  DBLINK_XJ_TO_BJ
USERXJ  SIDBJ

5、至此,在新疆的核算机上树立了一个DBLINK,用于衔接到北京的数据库上,
在北京的数据库中,树立一个表用于测验。
create table USERBJ.BJ_TEST
(
STU_ID  NUMBER,
STU_NAME VARCHAR2(100)
)
在其间添加一条记载:
insert into BJ_TEST (STU_ID, STU_NAME)
values (1, 钟德荣);

在新疆的数据库中查询北京的数据库中表的信息:
select * from bj_test@SIDBJ.US.ORACLE.COM
查询成果:
  STU_ID STU_NAME

  1 钟德荣
表明查询是正常的。
阐明:该查询是用

以上脚本悉数经过测验。



下面再弥补三点:
1、  创立DB_Link时,"tns_xj_to_bj"是指效劳器端tnsnames.ora文件中所界说的环境名,但在企业中,并没有几个人有权限检查这个文件中的内容。
  解决办法:将‘tns_xj_to_bj’改写成客户端tnsnames.ora文件中对应的实践衔接串。如:
(DESCRIPTION =
  (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.111)(PORT = 1521))
  )
  (CONNECT_DATA =
  (SERVICE_NAME = test)
  )
)
  留意:此处“(SERVER = DEDICATED)”可有可无,并没什么影响。
2、检查一切DBLink可选用以下两种方法
  SQL1:select owner,object_name from dba_objects where object_type=DATABASE LINK;
  SQL2:select * from all_db_links;
  但唵更偏向用SLQ2。No Reason!呵呵!
3、删去DB_Link
  drop database link STAGEING.REGRESS.RDBMS.DEV.US.ORACLE.COM;
  其间database不能更改,STAGEING.REGRESS.RDBMS.DEV.US.ORACLE.COM为你创立的DB_Link值(选用SQL2),当然需求用创立该DB_Link的用户登录才干成功删去!
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表凯时娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1

    Oracle树立DBLINK的具体过程ITeye

    数据库,北京,新疆
  • 2

    Oracle的splitITeye

    函数,数组,结构
  • 3
  • 4

    oracle number数据类型csdn

    数字,数据,声明
  • 5

    MySql记载mingxing

    账户,权限,运用
  • 6
  • 7

    数据库发掘入门快报

    数据库,办理,内容
  • 8

    彻底卸载Oracle的小技巧csdn

    效劳,注册表,主键
  • 9

    SQLITE源码分析(9)wangyi

    类型,整数,符号
  • 10