2

我们有一个 Oracle 11.2 数据库,其中有多个(如果不是全部)序列不同步。他们的最后一个数字与其相关数据库表的最大数量不匹配。

我似乎无法在网上找到任何可能的原因,但想到的一种可能性是 - 是否可以在不恢复序列的情况下恢复数据库?我的理论是生产副本放置在 QA 数据库上,并且序列从未更新。

4

1 回答 1

3

是的,这是我经常看到的一种可能的情况。如果 QA 数据库是从生产备份中复制的,那么序列值是可以的。

但是,如果生产表的内容被复制,例如通过 expdp/impdb,那么您将得到您所描述的完全不匹配。

想到了两个解决方案:

  1. 将表格和序列从生产导出/导入到 QA。
  2. 在 QA 数据库上运行脚本,根据表中的最大值重置序列

如果涉及休眠,那可能是一个完全不同的故事......

于 2018-05-30T11:52:11.103 回答