问题标签 [dblink]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
910 浏览

dblink - 通过 dblink 执行其他用户创建的存储过程

我已经使用用户USERA在数据库A中创建了一个存储过程PROCA ,并授予 USERB 执行权限,当使用USERB登录时,我可以在数据库 A 中执行这个存储过程。

现在我登录到数据库X并创建了一个 dblink Akink,这个 dblink 使用用户 USERB 连接到数据库 A。现在,当我使用以下语法执行存储过程时,它被执行而没有任何错误,但是存储过程所做的任何 DML 操作都没有提交。

从 Databse X 调用存储过程的代码

请提出可能是什么问题。

0 投票
2 回答
255212 浏览

database - 如何使用位于不同模式中的 DBLINK 在 Oracle 中选择?

我们有一个 Oracle DBMS (11g) 和以下配置:

  • 数据库用户“MYUSER”
  • 两个模式“MYUSER”和“SCHEMA_B”
  • 用户“MYUSER”可以访问“SCHEMA_B”并对其表具有读取权限
  • 位于“SCHEMA_B”中的公共数据库链接“DB_LINK”
  • 直接使用 DB 用户“SCHEMA_B”时,DB_LINK 正在工作

问题:以“MYUSER”身份登录时,使用“SCHEMA_B”的 DB 链接访问表的正确语法是什么?有可能这样做吗?

我已经尝试了几个星座,但都不起作用:

我收到的错误消息是:ORA-02019。00000 - “未找到远程数据库的连接描述”

感谢您的任何建议!

0 投票
1 回答
1371 浏览

sql-server - 如何创建从 Postgresql 8.3 到 SQL Server(2000 和 2008)的 dblink?

我有一个 Postgresql 数据库,需要从两个 SQL Server(一个 SQL Server 2000 和一个 SQL Server 2008)读取数据。

我想为 SQL Server 设置两个 dblink。

在谷歌搜索、论坛、阅读文档之后,我很难找到准备好生产的东西。

我可以使用什么工具?

0 投票
1 回答
3797 浏览

oracle - 提高 Oracle 中跨 DBLINK 的 CLOB 插入性能

尝试将 CLOB 从一个数据库复制到另一个数据库时,我发现 Oracle (11g) 的性能很差。我已经尝试了几件事,但无法改善这一点。

CLOB 用于收集报告数据。在逐个记录的基础上,这可能非常大。我正在远程数据库(通过 WAN)上调用一个程序来构建数据,然后将结果复制回公司总部的数据库进行比较。一般格式为:

为了获得性能,我将远程站点的结果累积到表的远程副本中。在程序运行结束时,我尝试将数据复制回来。这个查询很简单:

我看到的性能约为每秒 9 行,平均 CLOB 大小为 3500 字节。(我使用的是 CLOB,因为这个大小通常超过 4k,这是 VARCHAR2 的限制。)对于 70,000 条记录(并不罕见),传输大约需要 2 小时。我尝试过使用该create table as select方法,但这获得了相同的性能。我还花了几个小时调整 SQL*NET,但没有看到任何改进。更改 Arraysize 不会提高性能(尽管如果值减小它可以降低它。

我可以使用旧的 exp/imp 方法(从远程导出表,然后将其重新导入)获取副本,它运行得更快,但这对于我的自动报告来说是相当手动的。我考虑过尝试编写一个流水线函数来从中选择这些数据,使用它将 CLOBS 拆分为 BYTE/VARCHAR2 块(带有额外的块编号列),但如果有人尝试过并发现,我不想这样做一个问题。

谢谢你的帮助。

0 投票
6 回答
167838 浏览

oracle - 如何在两个 oracle 实例之间创建数据库链接

如何在两个 Oracle 实例之间创建数据库链接。假设 A 和 B 是两个实例。我想从实例 A 访问实例 B 中的数据。

0 投票
0 回答
1555 浏览

oracle - 过程在 dblink 中挂起查询表

我正在尝试从 shell 脚本调用一个过程,该过程使用远程数据库的数据将大量插入到我的数据库中。所以,我在这里做的是通过 dblink 查询表并将该信息插入我的本地表中。

当我直接从数据库 IDE(如 Quest Toad 或 Oracle SQL Developer)执行此操作时,该过程运行时间不到 3 分钟。当我在 sqlplus 命令行中运行该过程时,也会在不到 3 分钟内运行。但是当我使用 shell 脚本调用该过程时,unix 中的进程挂起,在 oracle 服务器中产生一个高使用率的网络事件,并且数据库会话永远不会结束。

所以,这里的事情是我有另一个以与此相同的方式运行的程序,只有这会在我在 ksh 脚本中执行时引起问题。

下面,我使用两种方法从 ksh 脚本中的 sqlplus 调用该过程:

原脚本:

选择:

以及它使用的 sql 脚本

过程中的查询是这样的:

0 投票
1 回答
9729 浏览

oracle - 在 Oracle 中访问 db 链接上的光标

我必须编写一个通过数据库链接调用远程过程的存储过程。此过程返回一个游标。当我尝试遍历此游标时,我得到 ORA-01001:无效游标错误。我在一些论坛上读到,根本不允许通过数据库链接访问游标,但我不相信这一点。有谁知道如何解决它?这里重要的是我不能修改现有的远程方法。

以下是我的程序代码:

远程方法接口如下:

并且 pkg_resultset.generic_cursor 有以下定义:

0 投票
1 回答
12245 浏览

database - postgresql 慢查询(dblink 和内部连接)

我有这个包含 dblink 的查询,因为我需要连接到另一个数据库,而且它看起来很慢(只有 124 条记录需要 50.343 秒)。有没有办法让它快点?下面是代码:

0 投票
1 回答
1761 浏览

oracle - 避免使用数据库链接的分布式事务

我正在一个 Spring Java EE 应用程序中工作,该应用程序必须处理两个不同的数据源 A 和 B。

因为应用程序需要以一致的方式更新 A 和 B。如果一次更新失败,则整个过程都会失败,必须进行回滚。

我对如何实现应用程序有两种不同的想法:

  1. 我必须将这两个更新都包含在分布式事务 XA 中。这种方法在性能方面会很昂贵。此外,B 源将很快关闭,保持整个 XA 基础设施可能是一个瓶颈;
  2. 我可以设置从 db A 到 db B 的 Oracle DB 链接,并让我的应用程序相信它只使用单个数据源和本地事务,而 Oracle 处理更新同步。当 B 将被关闭时,我将简单地删除 B 更新并关闭 DB Link。

对于这两种情况,你怎么看?

0 投票
3 回答
22158 浏览

oracle - ORA-02070: 数据库在此上下文中不支持

我有一个像这样的查询

现在,当我执行这个查询时,我得到 ORA-02070: database does not support in this context

仅当我将 v$session 中的数据插入某个远程数据库时,才会发生此错误。它适用于任何其他表。

任何人都知道为什么会出现这个问题以及任何解决方法吗?