问题标签 [database-link]

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 回答
518 浏览

oracle9i - Oracle 中的动态数据库链接

Oracle中是否可以有动态数据库链接?我正在使用 Oracle9i 数据库。

让我用我的要求来说明。我有几个使用 dblinks 形成的视图。例如:

mydbLINK.WORLD需要指向数据库的不同实例。因此,它必须在某一时刻指向DATABASESERVER1,然后必须切换到DATABASESERVER2

目前,我们通过删除链接并重新创建它来做到这一点。当我们这样做时,我们必须重新编译所有对象,刷新所有快照。是否可以避免丢弃和重新创建?我明白一旦视图发生变化,无论如何我都必须重新编译对象并刷新快照。

有没有人实现过这个功能?

0 投票
1 回答
760 浏览

sql - oracle 中的数据库基本链接在您使用完之后是否应该被删除/关闭?

我有一个 SQL 脚本,它使用“创建数据库链接”连接到另一个数据库,并复制一些数据。

在我使用完这个数据库基础链接后,是否应该删除或关闭它?(比如说,假设我可能不再需要它)。

最佳做法是什么?

我在我的团队中听到一些相互矛盾的答案。

如果我应该关闭它,我如何确保在我调用时链接关闭:

(我收到错误,抱怨我打开了连接,这很奇怪,因为我没有执行任何异步操作/作业)。

0 投票
4 回答
3231 浏览

java - 仅使用一组样本数据创建生产的测试数据库副本

我们有 2 个 Oracle 数据库。一个是我们的生产客户数据库。另一个是测试数据库。测试数据库是没有任何数据的生产副本……只是空表。我试图想出一种有效的方法来将一组样本数据从生产数据库复制到测试。

我需要从 Customer 表中的 PK 示例列表开始,并编写一个流程来使用该示例填充测试数据库 Customer 表。然后,我需要根据样本用相关数据填充子表。

我们曾经有一个 Java 进程,它将使用准备好的语句从生产中选择数据...根据结果集构建文件...然后使用更新语句将其放入测试数据库。这是非常低效的。

我不是 DBA,所以我不太了解那个领域。我试图用谷歌搜索一些关于数据库链接的信息,但找不到很好的例子。

有谁知道这样做的方法......或者,至少给我一个起点?

0 投票
2 回答
27515 浏览

sql - 使用数据库链接调用oracle函数

我创建了一个getEmployee(id in varchar)在远程数据库中调用的 oracle 函数,我正在尝试使用数据库链接从本地数据库中调用它。

getEmployee,我试图返回一个带有员工数据的游标。(表:员工(ID,姓名,地址)):

如何获得带有列名(ID、名称、地址)的结果集?

根据Contrad的说法,我像这样改变了我的本地功能;

但是,当我从 Java 代码调用此函数时,会引发以下错误:

“ORA-24338: 语句句柄未执行”

0 投票
2 回答
3112 浏览

oracle - Oracle 10g 中通过数据库链接传输是否已压缩?是否可以?

我正在通过数据库链接(使用INSERT INTO SELECT ...)将数据从一个基地传输到另一个基地。

我想知道通过链接传输的数据是否被压缩或可以被压缩以避免过多的网络使用。我的带宽很少,如果还没有完成,我认为这会有所帮助。

0 投票
1 回答
1856 浏览

oracle - 你可以为你连接的同一个数据库创建 dblink 吗?

我知道这有点奇怪,但我只想知道这是如何设置的。有两个数据库,它们是相同的(一个是另一个的镜像)。第一个数据库名为“reportsdw”,另一个名为“reportsdwx”。我尝试在reportsdw db上“从dual@reportsdw中选择*”并且它有效,但是当我在reportsdwx上执行“从dual@reportsdwx中选择*”时它不起作用。谁能解释一下?

0 投票
1 回答
3235 浏览

sql-server - 通过 Oracle 数据库链接调用 SQL Server 函数

有没有办法使用指向 SQL Server 实例的数据库链接从 Oracle 执行以下语句,而无需在目标实例上创建视图?

我努力了

但这没有成功。

任何帮助将不胜感激

0 投票
1 回答
2537 浏览

unix - 您如何从通过数据库链接执行的存储过程中脱机?

我正在使用 UNIX 脚本运行通过数据库链接启动存储过程的 sql 代码。我可以成功完成该过程,但是没有一个 DBMS 输出被假脱机到指定的 SPOOL 文件。

UNIX 中的 SQL:


假脱机文件内容:


我在存储过程中列出了一堆 DMBS 输出,但没有任何内容写入假脱机文件。

我怎样才能让它输出到假脱机文件?

我尝试使用 IN OUT 变量,但是由于该过程包含 COMMIT,因此它会因参数错误而出错,因为它正在通过 DB Link ...

0 投票
2 回答
15679 浏览

oracle - Oracle 数据库链接。检查存在还是覆盖?

在创建数据库链接之前,我需要检查数据库链接是否已经存在。我怎样才能做到这一点?

我正在编写一个以此开头的 SQL 脚本:

然后我创建一个:

如果数据库链接不存在,我当然会在第一步中遇到错误。如果我省略了第一步并继续创建一个数据库链接,我将再次收到一个错误,指出它已经存在同名。

我该怎么做才能检查数据库链接是否已经存在?

0 投票
2 回答
8797 浏览

asp.net - ORACLE/ASP.NET:ORA-2020 - 数据库链接太多……这是什么原因造成的?

这是场景...

我们有一个运行最新版本 ODAC(Oracle 客户端)的内部网站。它打开数据库连接,运行存储过程或打包方法,然后断开连接。连接池已打开,我们目前在我们的开发和测试环境中都是 11g 版本,但在我们的生产环境中是 10gR2。这发生在生产上。

几天前,一个进程开始触发 ORA-2020 错误。该过程是从我们内部网站上的网页调用的。用户只需设置一个日期,点击一个按钮,就可以在与网站分开的另一个系统上开始工作。然而,调用本身使用数据库链接来运行函数。

我们搜索了 SQL,发现它只使用了一个数据库链接。而且由于这些链接是基于每个会话的,并且用户没有超过默认限制 4,我们怎么可能收到 ORA-2020 错误。

我们已经运行了许多测试来尝试超过默认限制 4。据我回忆,ODAC 在每次连接后运行一次提交,我似乎无法运行 4 个 DB 链接,然后运行一段 SQL在出现任何错误后直接使用 1 个 DB 链接。我可以提出这个错误的唯一方法是,如果我运行一个带有 4 个 DB 链接的查询,然后是一个函数或一段动态 SQL,其中包含一个数据库链接。我们没有这个问题,因为这个问题是零星的。它并不总是发生。

问题

  1. 连接池是否有可能允许用户 B 在运行初始进程后使用用户 A 的连接,从而在用户 B 运行具有更多数据库链接的 SQL 语句时添加到打开的链接数?
  2. 这是我们应该将限制提高到 4 以上的情况吗?增加数量有什么坏处?
  3. 在断开与数据库的连接之前,我是否需要明确关闭打开的数据库链接?Oracle 文档似乎建议它应该自动发生,但“有时”......不会。