`
czwlucky
  • 浏览: 49829 次
  • 性别: Icon_minigender_1
  • 来自: 河南郑州
社区版块
存档分类
最新评论

通过DBLINK查询出现的问题

阅读更多
select t1.rolename
    from (select * from og.role@dblink) t1,
         (select * from og.userinfo@dblink) t2
   where t1.rolename = t2.username(+)
     and t2.username is null;

 

select t1.rolename
    from og.role@dblink t1,
         og.userinfo@dblink t2
   where t1.rolename = t2.username(+)
     and t2.username is null;

 大家看看这两个SQL有没有问题? 结果是否应该一样?

 实际这两个SQL出来的结果是不一样的,但我不明白其中的道理,有哪位朋友明白,请给解释下:)

第一个SQL还有一个诡异的现象,如果我在查询列表中加上一列t2.username时,结果也是正确的。

 

我又通过left join方式进行测试,没有发现问题。 所以可以断定是外连接+DBLINK双重原因引起的问题,但是原理不明白。 (后来经朋友指点查看了各种查询方式的执行计划,发现确实第一种写法是有问题的,可能算是dblink的一个BUG)

 select t1.rolename
   from (select * from og.role@dblink) t1
   left join (select * from og.userinfo@dblink) t2 on t1.rolename =
                                                           t2.username(+)
  where t2.username is null;

 

select t1.rolename
   from og.role@dblink t1
   left join og.userinfo@dblink t2 on t1.rolename = t2.username(+)
  where t2.username is null;
分享到:
评论

相关推荐

    记一次oracle通过dblink连接mysql实施

    本文记录了一次在Oracle 10g 64位环境中,通过DBLink连接到MySQL 5.5的过程,并在面临RAC环境中的问题时找到了解决方案。 首先,Oracle 10g 64位版本的HSODBC(异构服务)可能出现问题,表现为HSODBC文件大小为0,...

    Oracle10g通过DBLink访问MySQL数据

    - 创建DBLink后,可以通过执行简单的查询来测试连接是否成功建立: ```sql SELECT * FROM dual@orcl_to_mysql; ``` #### 三、跨数据库查询 一旦DBLink创建成功,就可以在Oracle数据库中执行针对MySQL数据库的...

    dblink简介

    ### Oracle DBLink 简介及使用方法 ...通过以上步骤,可以在Oracle数据库中成功创建DBLink,从而实现跨库查询等功能。然而,考虑到DBLink可能带来的性能问题和资源消耗,建议在必要时才使用此功能。

    Oracle-不同数据库DBLINK导数据使用说明

    这种方法虽然增加了代码复杂度,但能有效避免传输过程中可能出现的问题。 3. **中间文件**:另一种策略是,先将BLOB数据写入本地文件系统,然后通过其他方式(如FTP)传输文件至目标服务器,再读取文件并将数据插入...

    DBLink_mssql&oracle;

    通过DBLink,可以在一个数据库中查询、更新另一个数据库的数据,这对于需要跨数据库操作的企业环境来说至关重要。本文将详细介绍如何在SQL Server环境中创建到SQL Server自身以及到Oracle数据库的DBLink,并针对一些...

    SQL SERVER 2005 DBLink to ORACLE 设置方法

    ### SQL Server 2005 与 Oracle 10g 之间建立 DBLink 的设置方法...通过以上步骤,可以成功在 SQL Server 2005 中建立到 Oracle 10g 的 DBLink,并处理可能出现的各种问题。这对于需要跨数据库操作的场景是非常有用的。

    oracle dblink详解.pdf

    ### Oracle DBLink 详解 #### 一、Database Link 概述 Database Link 是 Oracle 数据库中用于连接两个数据库的关键对象,它可以实现从一个数据库到另一个数据库的数据查询与操作。通过 Database Link,用户能够...

    DBLINK的创建以与注意事项.doc

    - **故障排查**:当使用 DBLink 出现问题时,可以查看数据库日志或使用 DBA 工具来检查错误,例如通过 `v$session_longops` 视图查找长时间运行的操作,或者在数据库控制台(Console)中查看锁的状态。 总之,...

    Oracle报存储过程中调用DBLink同义词出现错误:PLS-00201: 必须声明标识符

    首先,DBLink(Database Link)是Oracle数据库提供的一种机制,允许用户在不同的数据库实例之间建立连接,从而实现数据的跨库查询和操作。在本例中,创建了一个名为`orcl@dbc`的DBLink,用于连接到名为`orcl`的远程...

    MSSQL 数据库中创建MySql 跨数据库数据同步

    总之,MSSQL到MySQL的跨数据库数据同步是一个涉及多个步骤和组件的复杂过程,需要对两种数据库系统有深入理解,并且能够妥善处理可能出现的兼容性和性能问题。通过正确配置和使用dblink,可以有效地实现实时或定期的...

    oracle gateway + informix安装配置文档

    通过上述步骤,我们不仅可以成功地在Oracle数据库中创建指向Informix数据库的dblink,还能够有效地处理安装过程中可能出现的各种问题。这种跨数据库平台的连接方式极大地提高了数据访问的灵活性,对于需要整合不同...

    ORACLE透明网关访问mysql

    执行这条命令后,通过查询dblink测试数据,可以验证配置是否成功。 通过上述步骤,我们即可实现Oracle数据库通过透明网关访问MySQL数据库的目标。需要注意的是,在生产环境中,透明网关的安全配置和性能优化也是...

    ORACLE SCN增长过快问题研究和解决方案探索.pdf

    3. 当多个通过DBLINK互联的Oracle数据库中,如果SCN值过高,会导致跨库查询失败,返回ORA-19706错误。 **SCN增长过快的原因:** 1. **并发事务过多**:当数据库系统处理大量并发事务时,SCN的增加速率会显著提高。 ...

    MySQL 远程访问及中文乱码问题

    在开发工具(如 MySQL Workbench、phpMyAdmin 等)中,也要确保它们的字符集设置与数据库一致,以避免在输入或显示数据时出现问题。 在进行这些操作时,务必注意安全性和数据一致性。修改数据库配置和权限可能会...

    oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法

    错误描述:oracle远程连接服务器出现 ORA-12170 TNS:连接超时 错误检查:有很多是oracle自身安装的问题,但是我这里服务器配置正常,监听正常,服务正常,远程可以ping通服务器。 这里主要是防火墙问题,解决办法: ...

    oracle 异地备份操作实践

    通过以上步骤,你可以实现Oracle数据库的异地备份,确保在主数据库出现问题时能够快速恢复数据,保障业务连续性。在实际操作中,应定期进行备份测试,验证恢复过程的正确性和数据的完整性。同时,根据实际情况调整...

    MongoDBLink-Mathematica的MongoDB驱动器

    虽然主要的编程接口是在Mathematica端,但了解底层的Java实现有助于解决可能出现的问题,并进行更高效的定制开发。 在使用MongoDBLink时,还需要注意数据模型的设计。由于MongoDB是非关系型数据库,其数据结构通常...

    ORA-04052p5731178_92080_WINNT.zip

    —————————– 主库hp ux 备库win 2003 在备库发起数据复制sp,通过属于备库的dblink,取远程主库的数据,插入到本地备库时,属于LITTLE ENDIAN平台向BIG ENDIAN平台取值然后插入,这时出现错误: ORA-04052: ...

    Oracle10g US7ASCII 编码中文无法导入sqlserver问题解决

    这种方法的核心在于利用 Oracle 的转换函数对数据进行格式转换,以及通过 DBLink 和 SQL Server 的链接服务器机制实现跨数据库查询。这不仅解决了当前的问题,也为未来类似的数据迁移场景提供了一种可行的解决方案。

Global site tag (gtag.js) - Google Analytics