none
Oracle11gからSQLServer2016へのリンクサーバー経由の対象データの移行について RRS feed

  • 質問

  • Oracle11gR2からSQLServer2016へのデータ移行についてOracle側のシステムに手を入れないということで

    リンクサーバ経由でのデータ移行を行っています

    一部に1000万件以上の大きなテーブルが存在し、移行時に仮想メモリを消費しつくして

    処理が終了してしまいます

    何か分割する項目があれば複数回に分けられるのですが、分割する項目もありません

    また、単純にINSERT INTO テーブル select * from OPENQUERY(Ora,'select * from テーブル')

    で行っていますがスループットも非常に悪いです

    何か回避改善する方法はございますでしょうか?


    2018年11月16日 6:00

すべての返信

  • すいません…私は全然詳しくないのでアドバイスできませんが、移行の方向が掲題と本文で逆になっています。
    修正された方が宜しいかと…。

    Mr. Du

    2018年11月16日 6:58
  • >分割する項目もありません

    ここがよくわからないんですが、テーブルには主キーはあるんでしょう?
    SQLServerの最大主キー値より大きい」をWhereに入れた、
      Oracle側から、主キーの小さい順の先頭N件を
    取得するクエリ
    をOpenQueryに突っ込んだInsert文を
    繰り返し実行すればいいと思うのですが。(複合主キーだと若干面倒なので省きます)


    jzkey

    2018年11月16日 11:06
  • 主キーはありますが、OpenQueryで、文字列の編集等が大変なので

    実装を検討してませんでした

    分割しか方法が無いようでしたらちょっと実装方法を検討してみます

    2018年11月19日 5:33