首页 数据库 mysql教程 Oracle DBLink创建和维护以及ORA-02085 解决办法

Oracle DBLink创建和维护以及ORA-02085 解决办法

Jun 07, 2016 pm 03:53 PM
oracle

今天业务需要,要跨库查询Oracle数据,于是想到了dblink, 下面一一细说,Oracle DBLink。

今天业务需要,要跨库查询Oracle数据,于是想到了dblink, 下面一一细说,,Oracle DBLink。

首先Oracle DBLink 分成 如下三种:

创建dblink:

一:创建 public database link 的实例:

create public database link  todb151 

      connect to hezi  identified by manager

      using '(DESCRIPTION =

                (ADDRESS_LIST =

                  (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.4.151)(PORT = 18000))

                )

                (CONNECT_DATA =

                  (SERVICE_NAME = newzqdb)

                )

              )';   
应该注意的是:
1,上面的hezi 这个用户,是你要连接的远程数据库中的用户(也就是 4.151上的)。

2,SQL> select * from pd_zh_cn.tb_goods@todb151;  通过todb151来跨库查询4.151,会拥有hezi的查询权限。只要本地的用户拥有数据库访问权限即可,所以尽量不要建public数据库连接,或者不要用大权限用户hezi来创建,以免让本地小权限的用户,去远程4.151查看到了不该看到的信息。

3.using 后面的引号中间的内容实际上就有  本地tnsname.ora 中的相应数据库连接信息。所以这里也可以直接改写成:
create public database link  todb151 

      connect to hezi  identified by manager

      using 'db151' ;                     

前提是本地tnsname.ora 文件中有:

  db151 =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.151)(PORT = 18000))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = newzqdb)

    )

  )

其中SERVICE_NAME 一般是下面红字部分,

SQL> show parameter service_names

NAME                                TYPE        VALUE

------------------------------------ ----------- ------------------------------

service_names                        string      newzqdb

还要注意要和监听的服务名一致,因为这个远程是要借助监听的。这里明确的告诉大家,配置静态监听注册时,需要输入的全局数据库名(GLOBAL_DBNAME)输入什么都可以,只要保证listerner.ora中的GLOBAL_DBNAME和tnsnames.ora中的SERVICE_NAME保持一致,所以如果是静态监听,那么在创建dblink时应该也应该符合,service_name =listerner.ora中的GLOBAL_DBNAME ,(创建dblink时不一定非得一样)

[oracle@rac1 ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 01-JUL-2015 21:39:53

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=newzq.com.cn)(PORT=18000)))
STATUS of the LISTENER
------------------------
Alias                    LISTENER
Version                  TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                01-JUL-2015 20:18:41
Uptime                    0 days 1 hr. 21 min. 12 sec
Trace Level              off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File  /u01/oracle/products/database/11.2.0.1/network/admin/listener.ora
Listener Log File        /u01/oracle/products/diag/tnslsnr/newzq/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=newzq.com.cn)(PORT=18000)))
Services Summary...
Service "newzqdb" has 1 instance(s).
  Instance "newzqdb", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

二:创建 private dblink 实例:注意没有private字眼。

  create database link dblink

        connect to liuwenhe identified by liuwenhe

        using '(DESCRIPTION =

                (ADDRESS_LIST =

                  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.151)(PORT = 1521))

                )

                (CONNECT_DATA =

                  (SERVICE_NAME = newzqdb)

                )

              )'; 

 管理dblink:                 

在当前数据库下查看所有的DBLINK的方法:

    1. select * from dba_db_links;     

删除当前数据库下的一个指定的DBLINK的方法:

    1. 删除public link 

        drop public database link dblink;

    2. 删除private link 

        drop database link dblink;

ORA-02085 解决办法 :

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

oracle如何查表空间大小 oracle如何查表空间大小 Apr 11, 2025 pm 08:15 PM

要查询 Oracle 表空间大小,请遵循以下步骤:确定表空间名称,方法是运行查询:SELECT tablespace_name FROM dba_tablespaces;查询表空间大小,方法是运行查询:SELECT sum(bytes) AS total_size, sum(bytes_free) AS available_space, sum(bytes) - sum(bytes_free) AS used_space FROM dba_data_files WHERE tablespace_

oracle视图如何加密 oracle视图如何加密 Apr 11, 2025 pm 08:30 PM

Oracle 视图加密允许您加密视图中的数据,从而增强敏感信息安全性。步骤包括:1) 创建主加密密钥 (MEk);2) 创建加密视图,指定要加密的视图和 MEk;3) 授权用户访问加密视图。加密视图工作原理:当用户查询加密视图时,Oracle 使用 MEk 解密数据,确保只有授权用户可以访问可读数据。

oracle如何查看实例名 oracle如何查看实例名 Apr 11, 2025 pm 08:18 PM

在 Oracle 中查看实例名的方法有三种:命令行中使用 "sqlplus" 和 "select instance_name from v$instance;" 命令。在 SQL*Plus 中使用 "show instance_name;" 命令。通过操作系统的任务管理器、Oracle Enterprise Manager 或检查环境变量 (Linux 上的 ORACLE_SID)。

Oracle安装失败如何卸载 Oracle安装失败如何卸载 Apr 11, 2025 pm 08:24 PM

Oracle 安装失败的卸载方法:关闭 Oracle 服务,删除 Oracle 程序文件和注册表项,卸载 Oracle 环境变量,重新启动计算机。若卸载失败,可使用 Oracle 通用卸载工具手动卸载。

oracle数据库如何导入 oracle数据库如何导入 Apr 11, 2025 pm 08:06 PM

数据导入方法:1. 使用 SQLLoader 实用程序:准备数据文件、创建控制文件、运行 SQLLoader;2. 使用 IMP/EXP 工具:导出数据、导入数据。提示:1. 大数据集推荐 SQL*Loader;2. 目标表应存在,列定义匹配;3. 导入后需验证数据完整性。

oracle如何获取时间 oracle如何获取时间 Apr 11, 2025 pm 08:09 PM

在 Oracle 中获取时间有以下方法:CURRENT_TIMESTAMP:返回当前系统时间,精确到秒。SYSTIMESTAMP:比 CURRENT_TIMESTAMP 更准确,精确到纳秒。SYSDATE:返回当前系统日期,不含时间部分。TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS'): 将当前系统日期和时间转换为特定格式。EXTRACT:从时间值中提取特定部分,如年份、月份或小时。

oracle如何设置用户 oracle如何设置用户 Apr 11, 2025 pm 08:21 PM

在 Oracle 中创建用户需遵循以下步骤:使用 CREATE USER 语句创建新用户。使用 GRANT 语句授予必要权限。可选:使用 RESOURCE 语句设置配额。配置其他选项,如默认角色和临时表空间。

oracle动态sql怎么创建 oracle动态sql怎么创建 Apr 12, 2025 am 06:06 AM

可以通过使用 Oracle 的动态 SQL 来根据运行时输入创建和执行 SQL 语句。步骤包括:准备一个空字符串变量来存储动态生成的 SQL 语句。使用 EXECUTE IMMEDIATE 或 PREPARE 语句编译和执行动态 SQL 语句。使用 bind 变量传递用户输入或其他动态值给动态 SQL。使用 EXECUTE IMMEDIATE 或 EXECUTE 执行动态 SQL 语句。

See all articles