現在、Oracleデータベースと対話するビッグエンディアンからリトルエンディアンのシステム(Linux x86_64)にコードを移植しています。
エンディアンの違い、タイプの変更(64ビットアーチではlongは8バイト)などの理由でデータが混乱しないようにしようとしています。残念ながら、データベースは1つしかありません。
したがって、古いコードと新しいコードの出力を比較したい場合、それらが同じDBに接続しているため、比較できません。
私はオラクルの人間ではないので、次のような解決策を探しています。
- ある時点でのデータベースの状態(数百万のレコード)を記憶するようにOracleに依頼します。
- ビッグエンディアンコードを実行します。
- 各テーブルの各列について、average、max、min、stddevなどの統計を収集します。
- 保存された状態に戻すようにOracleに依頼します。
- リトルエンディアンコードを実行します。
- 各テーブルの各列について、average、max、min、stddevなどの統計を収集します。
次に、3と6のデータを比較します。
確かに、これは行ごとの比較ほど良くはありませんが、データの量を考えると、これは許容できる解決策のようです。
これは、リソースをあまり使用せずにOracleで可能ですか(新しいディスクを追加するなど、多くの官僚的形式主義と時間がかかりすぎるため)。
ありがとう!