oracle數(shù)據(jù)遷移
SQL*Loader是Oracle數(shù)據(jù)庫導(dǎo)入外部數(shù)據(jù)的一個(gè)工具
此方法可以將.txt,csv等格式數(shù)據(jù)一次全部導(dǎo)入到oracle數(shù)據(jù)庫中的表中,步驟如下:
eg:我們要實(shí)現(xiàn)將'c:\data\test1.txt'的數(shù)據(jù)導(dǎo)入到表test1
設(shè)有如下數(shù)據(jù),保存在c:\data\test1.txt中
1,user1,pass1
2,user2,pass2
3,user3,pass3
4,user4,pass4
5,user5,pass5
6,user6,pass6
7,user7,pass7
8,user8,pass8
9,user9,pass9
10,user10,pass10
11,user11,pass11
12,user12,pass12
13,user13,pass13
14,user14,pass14
15,user15,pass15
16,user16,pass16
17,user17,pass17
?
第一步:用sys用戶登陸,執(zhí)行以下sql語句
1.建表
SQL>create user csm identified by csm;
SQL>grant connect, dba, resource to csm;
SQL>connect csm/csm
SQL>create table test1(repid number, username varchar2(20), passwd varchar2(20));
第二步:建立input.ctl文件
創(chuàng)建SQL*Loader輸入數(shù)據(jù)所需要的文件,保存到F:input.ctl
(用記事本編輯控制文件:input.ctl,內(nèi)容如下:
??? load data
infile 'c:\data\text1.txt'
into table test1
fields terminated by "," optionally enclosed by '"'
(repid,username,passwd)
//以下為注釋
a、insert,為缺省方式,在數(shù)據(jù)裝載開始時(shí)要求表為空
b、append,在表中追加新記錄
c、replace,刪除舊記錄,替換成新裝載的記錄
d、truncate,同上
?
?
第三步:在DOS窗口下使用SQL*Loader命令實(shí)現(xiàn)數(shù)據(jù)的輸入
sqlldr csm/csm control=f:input.ctl
全部結(jié)束: