我目前正在将一些代码从 big-endian 移植到与 Oracle 数据库交互的 little-endian 系统 (Linux x86_64)。
我试图确保数据不会因为字节序差异、类型更改(64 位拱门中的长为 8 个字节)等而混乱。不幸的是,我只有一个数据库。
所以当我想比较旧代码和新代码的输出时,我不能,因为它们连接到同一个数据库!
我不是 Oracle 人,所以我正在寻找一些可以按顺序排列的解决方案:
- 要求 Oracle 记住某个时间点的数据库状态(数百万条记录)。
- 运行大端代码。
- 对于每个表中的每一列,收集平均、最大值、最小值、标准差等统计数据。
- 要求 Oracle 恢复到已保存状态。
- 运行小端代码。
- 对于每个表中的每一列,收集平均、最大值、最小值、标准差等统计数据。
然后比较 3 和 6 的数据。
当然,这不如逐行比较好,但考虑到数据量,这似乎是一个可以接受的解决方案。
在没有太多资源利用的情况下,这在 Oracle 中是否可行(例如添加新磁盘,因为那是很多繁文缛节并且需要太多时间)。
谢谢!