db2とsybaseの間でデータを移動するJavaのデータアーカイブプロセスがあります。参考までに-実行時に使用可能な各テーブルにはいくつかの条件があり、このプロセスはJavaで開発されているため、これはインポート/エクスポートプロセスでは実行されません。
現在、データが複数のスレッドで移動されるように、ソースと宛先の組み合わせごとに単一のDatabaseReaderとDatabaseWriterが定義されています。ソースと宛先の組み合わせごとに複数のDatabaseReaderと複数のDatabaseWriterを定義できるように、これをさらに拡張したいと思います。
したがって、たとえば、ソースデータが約100行で、10個のリーダーと10個のライターを定義した場合、各リーダーは10行を読み取り、それらをライターに渡します。サーバーで利用可能なリソース(CPU、メモリなど)に応じて、プロセスによって極端なパフォーマンスが得られることを願っています。
しかし、問題は、これらのソーステーブルに主キーがなく、複数のセットの行を取得することが非常に難しいことだと思います。
Oracleはrownumの概念を提供しており、そこでの生活ははるかに単純だと思います。しかし、db2はどうでしょうか。db2でこの動作を実現するにはどうすればよいですか?最初の10レコードをフェッチしてから、次の10レコードをフェッチするという方法はありますか?
何か提案/アイデアはありますか?
Db2バージョン-DB2v8.1.0.144フィックスパック番号-16Linux