问题标签 [dataguard]
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.
oracle - 我可以使用 Data Guard 在主模式和暂存模式之间仅同步数据(而不是数据库结构)吗
我的版本需要应用程序服务器长达 4 小时的停机时间,以防止用户在执行包括更改表结构在内的各种脚本时在 Oracle 12c 数据库中添加任何新数据。
可以在这样的场景中使用数据保护:
- 在暂存区复制当前的生产模式
- 用户在生产环境中继续他们的工作
- 在暂存数据库中运行各种脚本,包括对表结构的更改
- 在某个时候,使用数据保护将生产环境中更改的所有数据“推送”到暂存环境
- 至此,暂存环境变成了生产环境
这仅用于计划发布
oracle11g - 数据保护 - 读写和只读问题
昨天我将我的物理备用数据库设置为主(手动)并以读写模式打开数据库。因为我的主数据库服务器由于硬件问题而崩溃,并且用户要求我以 READ WRITE 模式打开数据库,而我做到了。
现在我想将角色改回物理待机,因为我的实际主数据库现在已启动并正在运行。
我可以做吗?还是我需要重建整个数据保护设置?
版本:Oracle 11g
以下是我在备用服务器上执行的将 phy_standby 设置为主服务器的步骤。
oracle - Oracle:JDBC TNS URL 连接不会故障转移,因为侦听器仍在响应
我面临一个愚蠢的问题,但经过一段时间的在线搜索和试验,我开始失去希望。
感谢 Dataguard,我有两个配置为副本的 Oracle 数据库。
我正在使用 JDBC TNS URL 连接到我的数据库,例如:
当我执行切换时,角色会交换:DB1 变为辅助,DB2 变为主。DB1 处于挂载状态。
到目前为止,一切都很好。
但是使用我的连接 URL,我希望从 DB2 获得连接,该连接已成为主要但由于 DB1 侦听器仍在运行,它表现得好像一切正常,我最终尝试在 DB1 上获得连接,这导致以下错误:
如果我终止了侦听器,那么故障转移将起作用,并且我从 DB2 获得了连接。
但 dataguard 的全部意义在于执行自动故障转移。
但是,如果我被迫杀死听众:
- 这不是我所期待的:)
- 切换可能不起作用,因为它使用侦听器来这样做
如果有人知道正确配置的线索,我很感兴趣!
提前致谢。
oracle11gr2 - 如何将 PHYSICAL STANDBY 设置为“READ ONLY WITH APPLY”模式
我在“MOUNTED”模式下有备用数据库(版本:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0)。
当我想将 OPEN_MODE 从“MOUNTED”更改为“READ ONLY WITH APPLY”模式时,将发生错误(ORA-01093)。
如何修复错误,换句话说如何杀死其他会话?
jdbc - 带有 Oracle Data Guard 但不使用 Oracle Grid/RAC 的 Oracle FAN
当主数据库到辅助数据库发生故障时,JDBC 应用程序是否可以从 Oracle Data Guard 代理接收快速应用程序通知 (FAN) SWITCHOVER
,以便应用程序可以在没有 Oracle RAC/集群的情况下重新连接?也就是说,我在主站点上有一个单实例数据库,在辅助站点上有一个类似的设置,我希望我的基于 Java 的应用程序在FAILOVER
/的情况下检测并重新连接SWITCHOVER
。
根据我对 FAN 的了解,它依赖于 Oracle Notification Service,这间接意味着 Oracle RAC/Grid。这种理解正确吗?Oracle Data Guard 本身不需要 Oracle RAC 或 Oracle Grid。
如果 FAN 不可用,应用程序有哪些选项可以在无需重新启动的情况下连接到新的主节点?
oracle - 如何在 18c 中为 Snapshot Carousel 克隆 PDB
朋友们!
我有一个带有 Data Guard 配置的 Oracle Database 18c:
这是一个带有一个 PDB 的 CDB。我的操作系统是 RedHat 7。
当我尝试从我的 PDB 创建快照数据库时,出现以下错误:
我阅读了有关参数 CLONEDB (= TRUE) 以及asmadmin:x:1308:grid,oracle
/etc/group 文件中的权限的信息。
不幸的是,它对我没有帮助..朋友,也许有人已经解决了这个问题?
也许,这都是关于快照克隆限制的,但我不确定:
database - Oracle dataguard 备用中的化身错误
我正在将生产数据库迁移到新服务器。
-S027 是服务器 00a 中的主服务器。
-S029 是服务器 00b 中的二级 DG。
作为第一步,我从两个数据库中进行了备份并将它们还原到目标服务器中。迁移计划在下周进行,这意味着源数据库仍然有效。现在发生的事情是,当我昨天将主服务器恢复到新服务器时,它也尝试将日志发送到源备用服务器,因为我没有更改连接参数。现在备用服务器有化身错误。
oracle - 将 DML 和 DDL 更改记录到指定表、模式或整个 oracle 数据库的正确方法
我正在寻找一种解决方案来动态记录对指定 Oracle 模式或表所做的 DML 和 DDL 更改,这意味着可以在应用程序运行时更改受监控的模式和表。
总之,我要实现一个Oracle数据库探测,而不是用于同步数据库。
更新
例如,我将监视器设置test
为 database的表db
。我想检索对 所做的所有更改test
,例如删除/添加/修改列或插入/更新/删除记录等,我需要分析所有更改并将其发送到区块链,例如table test added a column field1
,这就是我想要获取所有对受监控的表执行 SQL。
我已阅读有关数据保护和流的 Oracle 文档。
数据保护文档说:
SQL 应用(仅限逻辑备用数据库)
从从主数据库接收到的重做重构 SQL 语句,并针对逻辑备用数据库执行 SQL 语句。
逻辑备用数据库可以在读/写模式下打开,但由逻辑备用数据库维护的目标表以只读模式打开以进行报告(前提是适当地设置了数据库保护)。SQL Apply 使您能够使用逻辑备用数据库来报告活动,即使在应用 SQL 语句时也是如此。
流文档说:
Oracle Streams 提供了两种隐式捕获数据库更改的方法:捕获进程和同步捕获。捕获过程可以捕获对表、模式或整个数据库所做的 DML 更改以及 DDL 更改。同步捕获可以捕获对表所做的 DML 更改。规则确定捕获过程或同步捕获捕获哪些更改。
而在此之前,我已经尝试通过使用oracle LogMinner 分析redo log 来获取SQL 更改,并最终做到了。
Oracle流似乎是实现我的目的最合适的方式,但它实现的步骤过于复杂和手动。事实上,阿里巴巴有一个开源的 MySQL 项目,名为canal,canal 伪装成从机,让 MySQL 转储 binlog 并推送到 canal 服务,然后 canal 从 binlog 重构原始 SQL。
我认为 Oracle 备用数据库就像 MySQL 从站一样,因此可以以类似的方式实现探测。所以我想使用数据保护方式,但我不想自己分析重做日志,因为它需要root权限才能关闭数据库并启用某些功能,但是在生产中我只有一个只读用户。我想使用逻辑备用数据库,但问题是我没有看到如何获得Reconstitutes SQL statements
上述内容。
那么,有没有高手可以给点建议呢?
总之非常感谢。
oracle - 在 DATAGUARD 技术中,对 PRIMARY 上的 spfile 的更改是否会传播到 STANDBY?
在 DATAGUARD 环境中,对 PRIMARY 上的 spfile 的更改如何传播到 STANDBY?
例如,我在 PRIMARY 上更新参数 resource_manager_plan。新值是否也显示在 STANDBY 上的参数 resource_manager_plan?
如何在 PRIMARY 和 STANDBY 之间保持 initora 参数同步?这是对 ALTER SYSTEM 命令的限制吗?
PS:我在 PRIMARY 上做了一个参数 resource_manager_plan 的 ALTER SYSTEM SET。它没有出现在 STANDBY 中。日志应用在备用状态,备用状态是最新的。
oracle - Oracle Dataguard TAF(透明应用程序故障转移)问题
我们已经为 dataguard 数据库配置了 oracle TAF(透明应用程序故障转移),以便应用程序可以使用相同的服务名称来连接数据库,以防主数据库出现任何问题并且必须切换到备用数据库,但是我们遇到了一个独特的问题,即应用程序服务器数据中心内能够连接到数据库,但来自不同数据中心的服务器无法使用 taf 服务连接..在 90 秒超时间隔后,它尝试连接到备用主机并失败
即使跨数据中心,使用直接主机名和 sid 的连接也可以正常工作
错误 :
使用 LDAP 的应用程序上的连接字符串: