问题标签 [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.
plsql - 在通过数据库链接物化时使用 Oracle ON COMMIT 选项
我有个问题。
我在数据库 1上有一个名为Distribution_id的表,它一次保存不超过 2000 条记录,我有一个名为Mv_Distribution_id的物化视图,它是数据库 2上的一个副本Distribution_id表。
当数据库 1上的数据库表Distribution_id中的数据发生更改时,我想快速刷新数据库 2上的物化视图Mv_Distribution_id。
如果数据库 2上的物化视图Mv_Distribution_id已使用“ ON COMMIT ”选项创建,它将看到数据库 1上的数据库表已更改并自动快速刷新物化视图,或者“ ON COMMIT ”选项不起作用通过数据库链接,我需要使用 Distribution_id 表上的打包过程或数据库表触发器来刷新它。
我创建物化视图的原因是有时数据库 1 对数据库 2 不可用,因此创建副本是一个快速的解决方案。
提前致谢。
java - 使用 DB Link 的 Java 查询不会关闭 Db Link 连接
我有一个连接到数据库 A 的 Java 代码。数据库 A 具有到数据库 B 的 DB 链接。两个数据库都是 oracle。
我与数据库 A 建立了 JPA 连接,然后我运行一个查询,将数据库 A 中的表连接到数据库 B 中的表,然后关闭与数据库 A 的连接简单代码。
我仍然看到数据库 B 上的数据库链接连接是打开的。它没有关闭。知道为什么吗?我假设它应该在内部处理,对吗?
想法?
oracle - 如何使用kerberized身份验证代理到Oracle数据库链接中的另一个数据库用户
背景:
2个数据库主机(有用户):DB1(UserA),DB2(UserA,UserB)
来自DB1的数据库链接UserA使用以下 SQL 创建并正常工作
它连接到DB2 UserA,它们是同一个帐户。
但就我而言,我想在上述数据库链接中代理另一个数据库用户( UserB ),在 Internet 上尝试了一些建议,但需要 User_b 的密码。
但是在我们的例子中,我们希望连接使用 Kerberos 身份验证,所以我们尝试了另一个建议通过 UserA连接,并且用户括号代理到 UserB,在这里我们没有 User_A 的密码,因为它是 kerberised,我们使用凭据缓存以建立连接。所以,我们没有 UserA 的密码。
如何在不指定任何密码的情况下连接到 UserB?
此外,已获得许可
sql-server - 创建到 SQL Server 的 Oracle 数据库链接
如何根据这张图片创建从 PL/SQL 上的 Oracle 到 SQL Server 的数据库链接:
示例:安装在计算机 IP 190.168.0.1 的 SQL Server,该计算机用户为 MCHSQLSERVER,密码为 12345678,SQL Server 的服务器名称为 DESTOP01,数据库用户为 sa,密码为 123123
如果有人知道这一点,请提供帮助。
oracle - 在 Java EE 容器管理事务中使用 Oracle DB 链接的 XA 数据源
我有以下环境:
WebSphere 9 上的 EAR 应用程序,使用 XA 数据源用于 Oracle 19c 数据库的容器管理事务(我们将其命名为数据库“A”)。
问题是数据源(在某些事务中),即数据库“A”通过数据库链接调用数据库“B”(数据库“B”也是 Oracle 19c)。
由于 2 阶段提交,连接池收到“使用中的数据库链接过多”错误消息。假设最大。正在使用的数据库链接数为 4,如果我第 5 次刷新屏幕,我得到 SQL 异常。
在数据库属性中设置最大数据库链接使用参数只会延迟问题。
我无法控制(从应用程序的角度)关闭数据库链接。
ATM 我们已将数据源设置为非 XA 并且一切正常,但在某些时候我们需要手动处理包含一个数据源和 WebSphere MQ 的事务。
有人对此设置有任何想法或经验吗?
编辑:我试图让这个与 JPA 2.0 一起工作。
oracle - Oracle:无法将数据从 max_string_size=extended 复制到 max_string_size=standard 数据库
我们有一个 Oracle 12.1 数据库,其中MAX_STRING_SIZE
已设置为EXTENDED
,从而可以使用VARCHAR2(32767)
列。我们通过物化视图和数据库链接将数据复制到 Oracle 11.2 数据库。一切都顺利运行了三年,直到我们删除并重新创建 mview(在开发中)并得到一个错误
一个最小的测试用例在源数据库(12.1)上有一个表。请注意,实际值非常短,并且不使用声明的长度。所以这只是关于声明而不是关于数据:
列定义为:
目标数据库(11.2,但如果未启用扩展数据类型,则在 12.1 上相同)可以轻松复制 data_length=4000 列,但不能复制 data_lenght=16000 列:
更令人困惑的是,这种行为取决于BUILD DEFERRED
. 有了BUILD IMMEDIATE
,一切都很好:
真正令人沮丧的是,我们三年前已经解决了这个问题,但忘记了如何解决。请帮忙!
oracle - 如何防止数据库链接到 Oracle 中的同一数据库
我的主要目标是编写一个 PLSQL 程序,在给出主机、端口、服务、用户名和密码时创建数据库链接。我需要阻止创建指向同一数据库的数据库链接。如何阻止创建指向同一数据库的数据库链接,以便通知用户不允许创建指向同一数据库的数据库链接。
sql - 强制 Oracle 在远程数据库站点上处理递归 CTE(可能使用 DRIVING_SITE 提示)
我正在尝试从远程表中获取数据。使用递归 CTE 从本地表中的种子数据集扩展数据。查询非常慢(从 300 个种子行到 800 个最终行需要 7 分钟)。
对于其他没有递归查询的“微小的本地,巨大的远程”DRIVING_SITE
情况,提示效果很好。我还尝试将种子集从本地表导出到remotedb
具有相同结构的辅助表中,并且 - 正在登录remotedb
- 将查询作为纯本地查询(my_table
as p
,my_table_seed_copy
as i
)运行。花了 4 秒,这让我相信强制查询到远程站点会使查询速度更快。
强制Oracle在远程站点上执行递归查询的正确方法是什么?
在上面的查询中,我尝试了
select /*+DRIVING_SITE(p)*/ s.*
在主选select /*+DRIVING_SITE(s)*/ s.*
在主选DRIVING_SITE
在整个查询中省略select /*+DRIVING_SITE(x)*/ s.* from s, dual@remotedb x
作为主要选择select /*+DRIVING_SITE(p)*/ p.id, p.data
在第一个内部选择中select /*+DRIVING_SITE(p)*/ p.id, p.data
在两个内部选择中select /*+DRIVING_SITE(p) MATERIALIZE*/ p.id, p.data
在两个内部选择中- (只是为了完整性 - 重写
connect by
不适用于这种情况 - 实际上查询更复杂并且使用无法表达的构造connect by
)
均未成功(即 7 分钟后返回数据)。
import - 如何将 Google 工作区数据自动导入 Big Query 数据库?
如何每天将 Google 工作区数据自动导入 Big Query 数据库?
我是 Big Query 的新手,我可以手动完成,但我想自动化这个过程。谢谢。
oracle - 本地数据库 docker 到 VPN 中的 AWS 数据库
我是Docker的初学者,希望大家可以帮忙,非常感谢。
我从公司存储库下载了一个 docker 映像,并设法从该映像在本地计算机中创建了一个容器,我们将其命名为 mydb。它是通过以下命令创建的: docker run --name mydb -p 1521:1521 -d mycompany.com:5000/docker-db:20.0.04
我可以通过我的 sqldqveloper 使用以下连接字符串访问数据库:system/abc123@127.0.0.1:1521/ORCL
我们公司在 AWS 中有一个数据库服务器,我们把它命名为 awsdb。我可以在 vpn 登录后访问它。我可以在 sqldqveloper 中使用以下连接字符串访问数据库: system/abc123@awsdb.amazonaws.com:1521/awsdb
问题:如何使用数据库链接“my_dblink”在 mydb 中创建到 awsdb 的数据库链接?例如。从 dual@my_dblink 中选择 sysdate。
我尝试使用以下命令:
但它返回错误 ORA-12543: TNS:destination host unreachable。
我尝试删除容器并通过设置 net=host 重新创建它: docker run --name mydb -p 1521:1521 -d --net=host mycompany.com:5000/docker-db:20.0.04 然后现在我可以'甚至没有连接是与system/abc123@127.0.0.1:1521/ORCL 错误 ORA-12541 返回:没有侦听器。
如何打开内部 docker 与 AWS 数据库服务器之间的连接?谢谢你。