D.3 Oracle Data Pumpを使用したJSONデータ型への移行

この移行方法では、データのみモードでOracle Data Pumpを使用して、テキストJSON列が含まれる元の表から、JSON型列が含まれることを除いて同じ形状の新しい表にデータをロードします。

次のステップを実行します。

  1. 例4-1に似たコードを使用して、つまり元の表j_purchaseorderと同じ形状の、テキストJSON列ではなくJSON型列が含まれる、新しい表j_purchaseorder_newを作成します。

    
    CREATE TABLE j_purchaseorder_new (id VARCHAR2(32),
                                      date_loaded TIMESTAMP(6) WITH TIME ZONE,
                                      po_document JSON);
  2. コマンドライン・クライアントexpdpを使用して、元の表j_purchaseorderからダンプ・ファイルpurchase_ord_txt.dmpにデータをエクスポートします。(ここでは、table_ownerは表を所有するデータベース・スキーマ、passwordはそのパスワードです。)

    expdp table_owner/password tables=j_purchaseorder directory=mydir dumpfile=purchase_ord_txt.dmp logfile=expdp_po.log
  3. データのみモードを使用して、ダンプされたデータを新しい表にインポートするには、コマンドライン・クライアントimpdpを使用します。

    この例では、table_ownerは表を所有するデータベース・スキーマのプレースホルダ、passwordはそのパスワードのプレースホルダ、dumpfile_dirはダンプ・ファイルが格納されているディレクトリのプレースホルダです。

    impdp table_owner/password tables=j_purchaseorder directory=dumpfile_dir dumpfile=purchase_ord_txt.dmp logfile=impdp_po.log
    remap_table=j_purchaseorder:j_purchaseorder_new content=data_only
  4. 元の表を削除するか、名前を3つ目のなんらかの名前に変更してから、新しい表の名前を元の表の名前に変更します。例D-4にこれを示します。

関連項目:

Oracle Data Pump