Oracleデータ内の外部テキスト・ファイルの入庫(Oracle外部テーブルで使用)
2044 ワード
1.
sqlplus /nolog
conn sys/ticket as sysdba
create directory etl_data_dir as 'D:\app\Administrator\admin\ticket\ETL';
create directory etl_log_dir as 'D:\app\Administrator\admin\ticket\ETL';
grant write on etl_data_dir to scott;
grant read on etl_data_dir to scott;
select * from dba_directories;
SCOTT
select * from dba_tab_priv
where table_name in ('ETL_DATA_DIR','ETL_LOG_DIR');
2.
conn scott/tiger
create table sales_delta
(
prod_id number(6),
cust_ID number,
time_id date,
channel_ID char(1),
promo_ID number(6),
quantity_sold number(3),
amount_sold number(10,2))
organization external
(
type oracle_loader
default directory ETL_DATA_DIR
access parameters
(
records delimited by newline characterset US7ASCII
badfile 'ETL_LOG_DIR' :'sales.bad'
logfile 'ETL_LOG_DIR' :'sales.log'
fields terminated by " " optionally enclosed by '\t'
)
LOCation ('sales_delta.txt')
)
reject limit unlimited;
select table_name ,tablespace_name from user_tables;
select table_name,default_directory_owner,default_directory_name from user_external_tables;
3.
conn jinfeng/ticket
@sales_detail.sql
sql sales_detail.sql,
set line 120;
set pagesize 49990
set heading off
set feedback off
alter session set nls_date_language='AMERICAN';
spool D:\app\Administrator\admin\ticket\dpdump\sales_delta.txt
select * from sales where rownum<49990;
spool off
sales_delta.txt ETL_DATA_DIR 。
4.
conn scott/tigger
select count(1) from sales_delta;