Oracle11g Oracle-数据库状态保存然后还原

Oracle11g Oracle-数据库状态保存然后还原,oracle11g,snapshot,Oracle11g,Snapshot,我目前正在将一些代码从一个大端系统移植到一个与Oracle数据库交互的小端系统(Linux x86_64) 我试图确保数据不会因为endian差异、类型更改(64位ARCH中的长为8字节)等而混乱。 不幸的是,我只有一个数据库 所以,当我想比较新旧代码的输出时,我不能,因为它们连接到同一个DB 我不是Oracle人员,因此我正在寻找一些解决方案,我可以按顺序: 要求Oracle在某个时间点记住数据库状态(数百万条记录) 运行big-endian代码 对于每个表中的每一列,收集诸如average、

我目前正在将一些代码从一个大端系统移植到一个与Oracle数据库交互的小端系统(Linux x86_64)

我试图确保数据不会因为endian差异、类型更改(64位ARCH中的长为8字节)等而混乱。 不幸的是,我只有一个数据库

所以,当我想比较新旧代码的输出时,我不能,因为它们连接到同一个DB

我不是Oracle人员,因此我正在寻找一些解决方案,我可以按顺序:

  • 要求Oracle在某个时间点记住数据库状态(数百万条记录)
  • 运行big-endian代码
  • 对于每个表中的每一列,收集诸如average、max、min、stddev等统计信息
  • 要求Oracle恢复到已保存状态
  • 运行little endian代码
  • 对于每个表中的每一列,收集诸如average、max、min、stddev等统计信息
  • 然后比较3和6的数据

    诚然,这不如逐行比较好,但考虑到数据量,这似乎是一个可接受的解决方案

    在Oracle中,这是否可能不需要太多的资源利用率(比如添加新磁盘,因为这需要大量的繁文缛节和太多的时间)


    谢谢

    可以安全地假设您需要运行的代码跨越多个事务,这样您就不能简单地发出
    回滚
    返回到已保存状态了吗?是否启用了闪回日志记录?是的,代码分为多个模块,模块本身启动和结束多个事务。因此,全局回滚将不起作用。我需要与DBA检查flashback日志,无论如何我可以自己检查吗?如果您可以查询
    v$database
    表,
    从v$database中选择flashback\u on
    No@JustinCave,当我运行该查询时,flashback\u on是“No”。打开这个选项容易吗?谢谢你的回复!它相对容易启用。它确实需要重新启动数据库,并且会生成额外的日志记录,这通常需要更多的闪回恢复区域空间(即更多的磁盘空间)。如果数据库尚未处于
    ARCHIVELOG
    模式,则还必须确保数据库处于
    ARCHIVELOG
    模式。