首页 > 数据库 >Oracle创建dblink(实现跨数据库查询)纯干货

Oracle创建dblink(实现跨数据库查询)纯干货

时间:2025-01-15 11:32:03浏览次数:3  
标签:CO 数据库 0821 dblink BASE 干货 Oracle

介绍        

创建dblink实现跨库查询,创建本地数据库对远端数据库的dblink后,就可以像操作本地数据库一样操作远端数据库,这是Oracle给我们提供一个功能,让我们的跨库查询变得非常简单便捷。

使用

1.查看用户是否有创建dblink的权限(一般管理员用户SYS都有权限)

select * from user_sys_privs t where t.privilege like upper('%link%');

2. 如果创建全局 dblink,必须使用 systm 或 sys 用户,在 database 前加 public。

CREATE PUBLIC DATABASE LINK 数据库链名称 CONNECT TO 登录用户名 IDENTIFIED BY 密码 USING '(DESCRIPTION =
       (ADDRESS = (PROTOCOL = TCP)(HOST = 对方Oracle服务器的IP地址)(PORT = 端口号))
     (CONNECT_DATA =
        (SERVICE_NAME = 对方Oracle服务器服务名)
     )
   )' ;

注:数据库链名称指添加到本地Oracle数据库控制台(Oracle Enterprise Manager Console)树节点的服务名

3、要查询对方数据库的表TableName语句如下:

SELECT 字段名 FROM TableName@数据链名称;

如:select * from ndn_gg_code@dblink;

4、删除DBLINK

DROP DATABASE LINK [name];  
或  
DROP PUBLIC DATABASE LINK [name];  

实操

第一步:命令行创建,建立链接

CREATE database link A CONNECT to ndncnooc01 IDENTIFIED by "E0oOv0s#i$I1Ld" using '(DESCRIPTION=(ADDRESS = (PROTOCOL = TCP)(HOST = 10.*.*.*)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = ndnqas)))';

使用plsql创建数据库连接

第二步:查询创建的连接

SELECT * FROM DBA_DB_LINKS;

第三步:操作数据表

查询数据

SELECT * FROM BASE_CO_0821@A;

复制表

create table BASE_CO_0821 as select * from A.BASE_CO_0821@A;//复制表结构以及数据
create table BASE_CO_0821 as select * from BASE_CO_0821@A where 1=2;//复制表结构

第四步:删除连接:

DROP DATABASE LINK A;

标签:CO,数据库,0821,dblink,BASE,干货,Oracle
From: https://blog.csdn.net/xdmxmf0/article/details/145026992

相关文章

  • Oracle查询表空间使用情况速度很慢
    现象监控表空间使用率及空间剩余量是数据库日常维护的重要内容。有时候在系统运行很长一段时间后,我们再去查询表空间使用情况,发现相同的查询语句执行时间会变长。这是因为我们在查询表空间使用情况的时候,需要从dba_free_space视图中获取剩余空间大小,如果该视图中对象过多,就......
  • Oracle系列---【ORA-01017用户名密码无效】
    1.问题项目启动时,报:ORA-01017用户名密码不对的错误,但是没有报具体哪个库错误,因为我是多数据源的项目。2.解决方案2.1定位到连接数据报错的用户和库名select*fromdba_audit_sessionwhereACTION_NAME='LOGON'ANDRETURNCODE=1017ORDERBYTIMESTAMPDESC;1.OS_USERNAM......
  • Oracle系列---【Oracle中密码的策略如何设置】
    在Oracle数据库中,profile是一个与用户关联的配置集合,用于控制用户账户的资源使用情况和密码策略。例如,profile可以定义用户的密码过期时间、账户锁定策略、并发会话数限制等。简单来说,profile是一组规则的集合,这些规则可以应用到一个或多个数据库用户,从而限制或管理他们的行......
  • 电脑干货:推荐一款秒开几十M图片文件、完全免费、无广告的看图神器JPEGView
    目录一、软件介绍二、功能特点三、使用体验四、与其他看图软件的比较五、总结 今天给大家分享一款名为JPEGView的开源免费看图软件。安装包仅1M左右、占用系统资源极小。并且该软件支持格式有70多种,支持幻灯片/电影模式播放图片,看图体验很好!是一款非常优秀的Win......
  • Oracle数据库手动备份数据
    切记先不要执行第一句drop,先执行第二句select(可以先不加条件,因为目录名称可能不是DATA_BACKUP),看看DATA_BACKUP有没有,如果没有,按第三句sqlcreate创建一个存放文件的目录,然后按后续的sql授权这个目录:注:要在sys账号下使用如下sql(可在sqlplus下执行)。--前提directory=DATA_BACKUP创......
  • 【邮件钓鱼】技术干货:从伪造域名到隐藏链接,攻防实战详解(中)
    0x01前言★声明:未知攻焉知防,本文以安全教育为主,不可用于违法行为,造成的一切后果,与本人无关。邮件伪造是信息安全中的常见手段之一,很多人在实践中因不了解核心原理而踩坑。本篇将结合实践经验,系统讲解邮件伪造的原理与操作方法。如果对SPF和DKIM验证原理不熟悉,请先阅读上......
  • Oracle自定义函数:生成汉字首字母拼音码的函数、MD5
    1 生成汉字拼音码的函数使用方法:select用户名.函数名(需要获取首字母拼音码的字段名)from用户名.表名;selectoracle_user1.fgetpy(t.name)fromoracle_user1.studentt;函数定义:createorreplacefunctionfgetpy(v_strvarchar2)returnvarchar2asv_strleni......
  • Oracle 23ai新特性:使用列别名的 GROUP BY 和 HAVING 子句
    摘要随着数据库技术的不断发展,SQL语言也在不断进化,以更好地满足数据查询和分析的需求。本文将探讨如何在SQL查询中使用列别名(columnalias)或列位置(columnposition)来简化GROUPBY和HAVING子句,并提高查询的可读性和维护性。一、引言在SQL查询中,GROUPBY子句用于将......
  • Oracle 如何生成连续的数字/字符/时间序列
     文章目录使用层次查询生成序列生成一个连接的数字序列生成一个间隔的数字序列生成一个连续的字符序列生成一个间隔的时间序列使用表函数生成序列创建模拟的generate_series函数使用generate_series函数生成序列使用通用表表达式生成序列生成一个......
  • mysql、oracle、sqlserver的区别
    一、保存数据的持久性:        MySQL:是在数据库更新或者重启,则会丢失数据。                Oracle:把提交的sql操作线写入了在线联机日志文件中,保持到了磁盘上,可以随时恢复。                SqlServer:2014之后,也拥有了完全持久和延......