[转帖]Oracle 创建和查看DBLink 的方法

oracle,创建,查看,dblink,方法 · 浏览次数 : 0

小编点评

**数据库链接创建和管理指南** **1. 用户权限** * 创建全局 DBLink 需要具有 `CREATE PUBLIC DATABASE LINK`权限。 * 使用 `sysdba` 角色给用户赋权:`grant create public database link to dbusername;` **2. 创建全局数据库链接** * 使用以下命令创建全局数据库链接: ```sql create database link 数据库链接名 connect to 用户名 identified by 密码 using '本地配置的数据的实例名'; ``` * 使用图形配置界面创建全局链接: * 在 `CNR` 中创建一个新的数据库连接。 * 在 `Local Configuration` 中设置 `Database`、`Username` 和 `Password`。 * 点击 `OK` 创建链接。 **3. 查询数据** * 使用 `select * from 表名@数据库链接名` 语句查询数据。 **4. 删除 DBLink** * 使用 `drop database link 数据库链接名` 语句删除 DBLink。 **5. 创建同义词** * 使用以下命令创建同义词: ```sql create synonym 同义词名 for 表名@数据库链接名; ``` **6. 创建视图** * 使用以下命令创建视图: ```sql create view 视图名 as (select 字段 from 用户.表名@数据库链接名); ``` **7. 注意** * 创建 DBLink 很简单,但使用时要注意连接数和锁问题。 * 建议使用 `dblink` 查询时,仅创建必要的连接,避免大量使用后导致连接数不够问题。 **其他提示** * 使用 `db_linkselect` 查询所有数据库链接。 * 使用 `CREATE DBLINK` 语句创建实例。

正文

https://www.cnblogs.com/zhouzangood/articles/4612441.html

 

1、如果需要创建全局 DBLink,则需要先确定用户有创建 dblink 的权限:

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

如果没有,则需要使用 sysdba 角色给用户赋权:

grant create public database link to dbusername;  

2、使用该用户登录 PL/SQL,使用命令:

-- 第一种方法:要求数据库服务器 A 上 tnsnames.ora 中有 数据库 B 的映射  
create database link 数据库链接名 connect to 用户名 identified by 密码 using '本地配置的数据的实例名';  

采用图形配置界面则如下所示:

复制代码
-- 第二种方法:直接配置  
-- 如果创建全局 dblink,必须使用 systm 或 sys 用户,在 database 前加 public。  
create /* public */ database link dblink1  
  connect to dbusername identified by dbpassword  
  using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';  
  
-- 数据库参数 global_name=true 时要求数据库链接名称跟远端数据库名称一样。数据库全局名称可以用以下命令查出  
-- select * from global_name;  
复制代码

3、查询数据:

-- 查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@dblink服务器”而已。  
select xxx FROM 表名@数据库链接名;  

4、删除 DBLink

drop /* public */ database link dblink1;  

5、创建和删除同义词

create or replace synonym 同义词名 for 表名;  
create or replace synonym 同义词名 for 用户.表名;  
create or replace synonym 同义词名 for 表名@数据库链接名;  
drop synonym 同义词名;  

6、创建和删除视图

create or replace view 视图名 as (select 字段 from 用户.表名@dblink1);  
drop view 视图名;  

7、注意:

创建 DBLink 很简单,但是在使用中后台却出现锁,查看这个锁的方法可以去 console 中看到或者查询数据库。每次使用dblink查询的时候,均会与远程数据库创建一个连接,dblink 应该不会自动释放这个连接,如果是大量使用 dblink 查询,会造成 web 项目的连接数不够,导致系统无法正常运行,导致系统无正常运行。

 8、查看db_link

select * from ALL_DB_LINKS;

 9、创建DBLINK实例

--创建DBLINK
create /*public*/ database link DBLINK名称
connect to 数据库账号 identified by 数据库密码
using '(description =(address_list =(address =(protocol = tcp)(host = 10.10.2.12)(port = 1521)))(connect_data =(SID = orcl)))';  /*首次创建*/

与[转帖]Oracle 创建和查看DBLink 的方法相似的内容:

[转帖]Oracle 创建和查看DBLink 的方法

https://www.cnblogs.com/zhouzangood/articles/4612441.html 1、如果需要创建全局 DBLink,则需要先确定用户有创建 dblink 的权限: select * from user_sys_privs where privilege like

[转帖]Oracle查看所有用户及其权限

https://www.cnblogs.com/huazhixu/p/15788803.html Oracle查看所有用户及其权限:Oracle数据字典视图的种类分别为:USER,ALL 和 DBA.USER_*:有关用户所拥有的对象信息,即用户自己创建的对象信息ALL_*:有关用户可以访问的对象的

[转帖]Oracle创建用户和表空间

一、概述 1.数据库实际管理中,不同业务系统需要使用’不同的用户'进行管理维护和使用,这样做把业务数据和系统数据独立分开管理,利于数据库系统管理; 2.在数据库中创建业务系统用户时候,建议为用户创建指定的用户表空间,否则全部默认为user表空间存储,使得user表空间容易过大,不易管理、查询。 二、

[转帖]oracle 11g 分区表创建(自动按年、月、日分区)

https://www.cnblogs.com/yuxiaole/p/9809294.html 前言:工作中有一张表一年会增长100多万的数据,量虽然不大,可是表字段多,所以一年下来也会达到 1G,而且只增不改,故考虑使用分区表来提高查询性能,提高维护性。 oracle 11g 支持自动分区,不过得

[转帖]Python连接Oracle数据库进行数据处理操作

https://www.dgrt.cn/a/2259443.html?action=onClick 解决以下问题: Python连接Oracle数据库,并查询、提取Oracle数据库中数据? 通过Python在Oracle数据库中创建表 Python数据插入到Oracle数据库中? Python删除

[转帖]openGauss的WDR报告解读

文章目录 1.执行以下SQL命令,查询已经生成的快照信息。2.生成WDR报告。3.手工创建快照信息4.WDR涉及的数据表5.WDR报告解读 在Oralce数据库中,遇到性能问题,我们通常会查看有无对应时间段的快照,生成awr报告并进一步分析(AWR是Automatic Workload Reposi

[转帖]优化Oracle数据库的参数设置原创

https://vip.kingdee.com/article/372401660284519936?productLineId=8 1.登录数据库,创建参数文件备份 2.修改参数 数据库参数修改存在风险,仅供参考 1.登录数据库,创建参数文件备份 sqlplus / as sysdba 用SYSD

[转帖]RAC环境下误操作将数据文件添加到本地存储

https://www.cnblogs.com/jyzhao/p/7986729.html 今天碰到个有意思的事情,有客户在Oracle RAC环境,误操作将新增的数据文件直接创建到了其中一个节点的本地存储上。发现网上去搜的话这种问题还真不少,对应解决方案也各式各样,客户问我选择哪种方案可行,看来基

[转帖]Oracle Linux 9 - Oracle 提供支持 RHEL 兼容发行版

https://sysin.org/blog/oracle-linux-9/ Oracle Linux 是一个开放、全面的操作环境,提供虚拟化、管理、云原生计算工具和操作系统,通过一个统一的支持解决方案满足您的业务需求。Oracle Linux 与 Red Hat Enterprise Linux

[转帖]Oracle数据库的两种授权收费方式详解

https://www.jb51.net/article/265823.htm 现在Oracle有两种授权收费方式,按CPU(Process)数和按用户数(Named User Plus),前一种方式一般用于用户数不确定或者用户数量很大的情况,典型的如互联网环境,这篇文章主要介绍了Oracle数据库