OracleのEXPORTの構文
EXP ユーザ名/パスワード TABLES = エクスポートする表の名前 FILE = 出力するファイル名 OWNER = ユーザ名 FULL = y(すべてをエクスポートする場合)
個々の表をエクスポートする場合は「TABLES=エクスポートする表の名前」
ユーザーを単位としてエクスポートする場合は「OWNER=ユーザ名」
データベースのすべてをエクスポートする場合は[FULL=y」を記述する。
例)パスワードが[1234] ユーザー[takeshi]が表tb1を[C:\\hoge\hoge.dmp]というファイルにエクスポートする場合
EXP takeshi/1234 TABLES=tb1 FILE=C:\\hoge\hoge.dmp
これをコマンドプロンプトで入力する。
SQL*Plusで入力するのではない。
データベース全体をバックアップ対象とする場合
EXP takeshi/1234 FILE=C:\\hoge\hoge.dmp FULL=y
OracleのIMPORTの構文
IMP ユーザー名/パスワード
TABLES = インポートする表の名前
FILE = ファイル名
FULL = y(すべてをインポートする場合はこれをつける)
例)パスワードが[1234] ユーザーが[takeshi]の表tb1を「C:\\hoge\hoge.dmp」というファイルからインポートする場合
IMP takeshi/1234 TABLES=tb1 FILE=C:\\hoge\hoge.dmp
例)データベース全体をインポートする場合
IMP takeshi/1234 FILE=FILE=C:\\hoge\hoge.dmp FULL=y
クライアント側からIMPORT,EXPORTを実行する場合はユーザー名・パスワードに接続識別子をつけること。
EXP takeshi/1234@接続識別子 TABLES=tb2
接続識別子とは、クライアントからサーバーに接続するときに必要な情報の記述につけた名前のこと。
SQL*Plusで実行結果をファイルに書きだす
SPOOL ファイル名
OracleでSELECTした結果をCSVファイルに書き出す
まずはフィールド間の区切り文字を設定する
SET COLSEP '区切り文字'
手順
1.区切り文字を変更 SET COLSEP ',' 2.出力ファイルを指定してSPOOL開始 SPOOL C:\\data\out.csv 3.表の内容を表示 SELECT * FROM TABLE; 4.SPOOLを停止する SPOOL OFF
CSVファイルをインポートするにはSQL*Loaderを使う
「SQLLDR」と入力すれば使える。
SQL*Loaderを利用してデータを読み込む場合、制御ファイルを作成し、その制御ファイルを指定してSQLLDRを実行する必要がある。
制御ファイルの記述方法
LOAD DATA INFILE '読み込むファイル名' APPEND または TRUNCATE INTO TABLE データを挿入する表の名前 FIELDS TERMINATED BY '項目どうしを区切る文字' (column1,column2,column3)
例)
①制御ファイルを作成 LOAD DATA INFILE 'C:\\hoge\data.csv' APPEND INTO TABLE tb1 FIELDS TERMINATED BY ',' (column1,column2,column3) →.ctlファイルができる。 ②「SQLLDR」を実行 SQLLDR takeshi/1234 CONTROL=C:\\hoge\data_in.ctl
<参考>

基礎からのOracle (DVD付) (プログラマの種シリーズ)
- 作者: 西沢夢路
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2010/05/28
- メディア: 大型本
- 購入: 2人 クリック: 15回
- この商品を含むブログ (10件) を見る