dblink实例创建——报错ora-12154

First,什么是DBLINK?

**dblink(Database Link)**数据库链接顾名思义就是数据库的链接 ,就像电话线一样,是一个通道,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。

通俗的说:你在A数据库上建立关于B数据库的dblink,就可以在A数据库上取B数据库的数据了!!!

Second,实例操作!

现在我有两个数据库,一个是本地虚拟机的数据库 Oracle 10g:192.168.186.70 一个是本地内网环境公司的数据库:192.168.12.67

现在的需求是:我要从67数据库中 copy cux_trn_oaf_16129 这张表到我的70数据库中,保存为cux_trn_oaf_16036

first,要保证 67数据库中使用的apps 用户 和 70数据库的system 用户都有相应建立dblink的权限

执行:

select * from user_sys_privs where privilege like upper('%DATABASE LINK%');

or

select * from dba_sys_privs where privilege like upper('%DATABASE LINK%');

两句话查看相应权限

70数据库:system用户

在这里插入图片描述

67数据库:apps用户

在这里插入图片描述

second,创建dblink链接

create public database link Zer0_dblink connect to apps identified by  apps
   using  '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.12.67)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=TEST103)))';

注释:Zer0_dblink 为link链接,apps/apps为67数据库用户的账号密码 using的信息 为数据库连接的TNS信息(千万注意回车!!!!)

然后查询

select * from dba_db_links;

查看是否建立成功

再通过下面这条语句查询是否能连上:

select * from  cux_trn_oaf_16129@Zer0_dblink

看下面这个情况,报错:

在这里插入图片描述

看到这个问题先不要慌,

第一反应:会不会是数据库不通???

因为67数据库服务器我没资格登上去哦,那就我在本地虚拟机ping一下67服务器:

是通的。
在这里插入图片描述

第二反应:在数据库服务端配置一下tns信息???
找到虚拟机的 %oracle_home%/network/admin/tnsnames.ora 文件,添加tns信息。还是没用?????!!!!!

第三反应:奔溃!!!!!!测试一下tnsping???
在这里插入图片描述

ok的

那么…奔溃啊!!!!!!静下心想想。再删除创建一下???

drop public database link Zer0_dblink;

create public database link Zer0_dblink connect to apps identified by  apps
   using  '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.12.67)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=TEST103)))';

查一下看看

select * from dba_db_links;

发现了!!!!!!怎么有问号?????
如下:
原因:回车空格!!!!!
在这里插入图片描述

成功后的样子:

select * from  cux_trn_oaf_16129@Zer0_dblink

在这里插入图片描述

然后创建表,将信息移过来:

create table  cux_trn_oaf_16036 as select * from   cux_trn_oaf_16129@Zer0_dblink;

查询一下

select * from cux_trn_oaf_16036

删除dblink:

drop public database link Zer0_dblink;

                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值