web-dev-qa-db-ja.com

Oracleに大きなCSVをインポートする

大きなCSVファイルがあり、Linux(Amazon AMI)に配置しました。 Amazon Linux AMIにインスタントクライアントをインストールし、SQL Plusを使用してOracleデータベースに接続できます。 LinuxターミナルからすべてのCSVをOracleにインポートするにはどうすればよいですか?

私のOracleデータベースはAmazon RDSにあります。

1
dang

Sql * loaderを使用してデータをロードします。

http://docs.Oracle.com/cd/B19306_01/server.102/b14215/ldr_params.htm#sthref54

(または外部テーブル)。

1)ファイル形式で.ctlファイルを設定します

2)データベース内の受信テーブルをセットアップ/ポイントします。

3)sql * loader(sqlld)を呼び出します

1
Ditto

Pythonを使用してロードを実行できます。次のように表示されます。

  1. Pythonは、指定されたディレクトリからすべてのCSVファイル名を読み取ります。
  2. 各ファイルのSQL * Loaderコルーチンを作成します。
  3. ロードが完了するのを待つ
  4. 結果を検証します。

私は CSV-Loader-For-Oracle で同様のアプローチをとりました

1
olekb

Oracle SQL * Loaderには、直接パスと従来のパスの2つの異なるオプションがあります( https://docs.Oracle.com/cd/E11882_01/server.112/e22490/ldr_modes.htm#SUTIL1284 ):

enter image description here

ローダーの概念/コマンドラインパラメーターはここで説明されています。

https://docs.Oracle.com/cd/E11882_01/server.112/e22490/ldr_params.htm#SUTIL1016

http://docs.Oracle.com/cd/B28359_01/server.111/b28319/ldr_concepts.htm

しかし、オラクルは別のツールを提供しています。Oracleエクスポート/インポートツールです。

詳しくは:

http://docs.aws.Amazon.com/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.html

0
Peter Teoh