oracleデータベース導入TXTファイル方法紹介


クライアント接続データベースのインポート
1.oracleクライアントを設置し、モニターを配置する。
2.oracleデータベースアプリでユーザーのテーブルuser_svc_infoを例にとる

<span style="color:#3333ff;">CREATE TABLE USER_SVC_INFO( 
  PHONE varchar2(20) NOT NULL, 
  SVC_ID varchar2(32) NOT NULL, 
  P_USERNAME varchar2(100) NULL, 
  USER_STATUS number NOT NULL , 
  P_ALIAS varchar2(50) NULL, 
  IMSI varchar2(32) NULL, 
  SVC_UPDATETIME timestamp(3) NULL, 
  SVC_TYPE number NOT NULL, 
  SVC_STATUS number NOT NULL, 
  REC_UPDATETIME varchar2(20) NULL, 
  SVC_IDK varchar2(32) NULL, 
  PROSTART_TIME varchar2(24) NULL, 
  PROEND_TIME varchar2(24) NULL, 
  DOWN_TYPE number NULL );</span> 

<span style="color:#3333ff;"> e:\sqlldr              ,   .ctl  , info.ctl 
      : 
load data 
infile 'info.txt' 
append into table user_svc_info 
fields terminated by ',' 
TRAILING NULLCOLS 
(PHONE,SVC_ID,P_USERNAME,USER_STATUS,P_ALIAS,IMSI, 
SVC_UPDATETIME timestamp 'yyyy-mm-dd hh24:mi:ss.ff', 
SVC_TYPE,SVC_STATUS,REC_UPDATETIME,SVC_IDK, 
PROSTART_TIME,PROEND_TIME,DOWN_TYPE)</span> 
説明:
infile'info.txt'はインポートするテキストファイルの名前をinfo.txtと表します。
apped into table後に導入する表名を接続します。
ここでapped表示で表に追加します。
Insertは空のテーブルを導入し、データがあれば停止するという意味です。
Replaceは元の表にデータがあれば削除されるという意味です。
Truncateは元の表にデータがあると消去されるという意味です。
fields terminated by'  データの行ごとのレコード用」、「区切り」
TRAILING NULLCOLS    テーブルのフィールドに対応する値がない場合は、空にすることができます。
括弧内は表のすべてのフィールドで、日付書式のフィールドはSVC_のように変換されます。UPDATETIMEはdateタイプならSVC_を使います。UDATETIME date'yyy-mm-dd hh 24:mi:ss'
スクリプトを作成した後、スクリプトとinfo.txtを同じフォルダに置いて、cmdでコマンドを実行します。
E:
cd e:\sqlldr
sqlldr userid=ap/app@imusiccontrol=info.ctl
表データのエクスポート:オペレーティングシステムでエクスポートスクリプトを作成します。
テーブルデータエクスポートスクリプト:
アプリユーザーでのuser_svc_infoを例にとって、次のような文の結果を.txtファイルとして導き出すなら、各フィールドの値は”で、”区切り:

Select phone,svc_type,svc_udatetime from user_svc_ifno where rownum<100; 
  oracle      ,     vim info.sh 
#!/bin/bash 
sqlplus "app/app"<<EOF 
set heading off; 
set echo off; 
set feedback off; 
set verify off; 
set wrap off; 
set pagesize 0; 
set linesize 2500; 
set trimout on; 
set trimspool on; 
spool /usr/local/oracle/user_svc_info_sql.txt; 
select phone||','||svc_type||','||svc_updatetime from user_svc_info where rownum<100; 
set define on; 
set heading on; 
set echo on; 
set feedback on; 
spool off 
quit; 
EOF 
実行スクリプト:

./info.sh
生成したuser_svc_info_sql.txtファイルはエクスポートしたいデータファイルです。
Set heading  on/off   結果行のタイトルを表示/非表示にする
set echo on/off制御は、コマンド実行時に実行されたコマンドを印刷するかどうか、OFFすると印刷しません。
set feedback on/offはスクリプトから返された記録数を表示する場合、スクリプトは少なくともnつのレコードを選択します。ONまたはOFFでこの表示をオンまたはオフします。
set verify on/off制御がsql文またはPL/SQLスクリプトに変数置換された値を一覧表示するかどうか
set wrap on/off選択した行を切断するかどうかを制御します。現在の行が長すぎると表示されます。OFFzは、選択した行を閉じるためのカットオフです。選択した行を次の行に改行します。
set trimout on/off行ごとの末尾に空白の表示を許可するかどうかを確認し、OFFは行ごとの末尾に空白の表示を許可し、ONは空白の出力を許可しません。
set trimspool on/off行ごとの末尾にスペースを表示することが許可されているかどうかを確認します。OFFは行の末尾にスペースを表示させ、ONはスペースを出力できません。
締め括りをつける
以上、oracleデータベースにTXTファイルを導入する方法について紹介しました。興味のある友達はOracle RMAN自動バックアップ制御ファイルの方法紹介を参照してください。 、 oracleデータベース起動段階分析  、  oracle仮想専用データベースの詳細を紹介します。などです。みなさんの応援に感謝します。