gpt4 book ai didi

oracle - 获取不断更新的 Oracle 数据库的 "snapshot"的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-03 18:27:40 24 4
gpt4 key购买 nike

我想对由 TIBCO DB Adaptor 不断更新的 Oracle 数据库拍摄一致的快照。

通常,TIBCO 一次更新一堆表,然后提交。
如果我遍历所有表,每天拍摄一次快照,那么我可以在提交前从表 A 中获取数据,在提交后从表 B 中获取数据 - 但如果 A 和 B 有关系,那么它们将不再匹配适本地。

“SET TRANSACTION READ ONLY”是要走的路吗?
例如

COMMIT
SET TRANSACTION READ ONLY
SELECT * FROM A WHERE A.ADB_UPDATEDDATE > TODAY()-1
SELECT * FROM B WHERE B.ADB_UPDATEDDATE > TODAY()-1
etc.
COMMIT

(TODAY 语法可能不正确,不重要!)

或者我可以做些什么更好的事情?

最佳答案

如果“快照”是指在一致模式下数据库的完整副本,那么我将从备份中恢复数据库并将其恢复到所需的时间点。 Oracle 恢复过程将负责一致性(由系统更改号或 SCN 跟踪)。

如果您使用 RMAN 进行备份和恢复,则有一个带有时间子句的“DUPLICATE DATABASE”命令可以使这相对轻松。

另一方面,如果您只是想以一致的模式提取一些表,我可以想到两个选项:

  • 导出表组
    (旧的)exp 的consistent=y 选项
    实用程序
  • 将较新的 expdp 实用程序与 flashback_time 选项一起使用
  • 关于oracle - 获取不断更新的 Oracle 数据库的 "snapshot"的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4058356/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com