Oracle11g数据装载的几种方式
数据的装载: SQL*LOADER 外部表 导入/导出 SQL*LOADER: SQL*LOADER是一个Oracle工具,能够将数据从外部数据文件装载到数据库中
数据的装载:
SQL*LOADER:
SQL*LOADER是一个Oracle工具,,能够将数据从外部数据文件装载到数据库中。
运行SQL*LOADER的命令是sqlldr。
Sqlldr的两种使用方式:
1. 只使用一个控制文件,在这个控制文件中包含数据
2. 使用一个控制文件(作为模板) 和一个数据文件
一般采用第二种方式,数据文件可以是 CSV 文件、txt文件或者以其他分割符分隔的。
说明:操作类型 可用以下中的一值:
1) insert --为缺省方式,在数据装载开始时要求表为空
2) append --在表中追加新记录
3) replace --删除旧记录(用 delete from table 语句),替换成新装载的记录
4) truncate --删除旧记录(用 truncate table 语句),替换成新装载的记录
通过spool来制作数据文件:--可以查询帮助文档的示例代码
SQL> spool /u01/app/oracle/test_data_loader/student.txt--开启spool导出数据文件SQL> select id ||',' || name ||',' || age ||',' || inner_date from student;--导出数据
ID||','||NAME||','||AGE||','||INNER_DATE--------------------------------------------------------------------------------1,zhangsan,21,23-JAN-152,lisi,22,23-JAN-153,wangwu,23,23-JAN-15
SQL> spool off;--关闭SQL> exitDisconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options[oracle@localhost test_data_loader]$ cat student.txt--可以查看到导出的数据记录SQL> select id ||',' || name ||',' || age ||',' || inner_date from student;
ID||','||NAME||','||AGE||','||INNER_DATE--------------------------------------------------------------------------------1,zhangsan,21,23-JAN-152,lisi,22,23-JAN-153,wangwu,23,23-JAN-15
SQL> spool off;
写配置文件:[oracle@localhost test_data_loader]$ vi student.ctl[oracle@localhost test_data_loader]$ cat student.ctloptions(skip=4)--表示前面的四行load data--导入数据infile 'student.txt'--通过该文件导入数据into table student--导入的表insert--执行的是插入操作fields terminated by ','--记录中的分割符(id char,--注意虽然表中是number类型,但是要写char类型name char,age char,inner_date date nullif (inner_date = "null"))[oracle@localhost test_data_loader]$
既然是insert操作所以:SQL> truncate table student;--清空表,由于执行的是插入操作
Table truncated.
SQL> select * from student;
no rows selected
执行sqlldr操作:[oracle@localhost test_data_loader]$ sqlldr hr/hr control= student.ctl log = student.log
SQL*Loader: Release 11.2.0.1.0 - Production on Fri Jan 23 23:11:08 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Commit point reached - logical record count 4[oracle@localhost test_data_loader]$ cat student.log
SQL*Loader: Release 11.2.0.1.0 - Production on Fri Jan 23 23:11:08 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Control File: student.ctlData File: student.txt Bad File: student.bad Discard File: none specified
(Allow all discards)
Number to load: ALLNumber to skip: 4Errors allowed: 50Bind array: 64 rows, maximum of 256000 bytesContinuation: none specifiedPath used: Conventional
Table STUDENT, loaded from every logical record.Insert option in effect for this table: INSERT
Column Name Position Len Term Encl Datatype------------------------------ ---------- ----- ---- ---- ---------------------ID FIRST * , CHARACTERNAME NEXT * , CHARACTERAGE NEXT * , CHARACTERINNER_DATE NEXT * , DATE DD-MON-RR NULL if INNER_DATE = 0X6e756c6c(character 'null')
Record 4: Rejected - Error on table STUDENT, column ID.Column not found before end of logical record (use TRAILING NULLCOLS)
Table STUDENT: 3 Rows successfully loaded. 1 Row not loaded due to data errors. 0 Rows not loaded because all WHEN clauses were failed. 0 Rows not loaded because all fields were null.
Space allocated for bind array: 66048 bytes(64 rows)Read buffer bytes: 1048576
绛旓細浣犱笅鐨勪袱涓枃浠堕兘鏄粈涔堟牸寮忕殑,瑕佹槸ISO鏍煎紡鐨,閭e氨鐢ㄨ櫄鎷熷厜椹卞皢绗竴涓瑁呰浇杩涘幓(姣斿鏄杞藉埌浜咹鐩)涔嬪悗鍒癏鐩橀噷鐐瑰畨瑁呯▼搴忚繘琛屽畨瑁,瀹夊埌涓鍗婂乏鍙崇殑鏃跺欎細璁╀綘鎻掑叆绗簩涓厜鐩,杩欐椂鍊欏皢绗竴涓厜鐩樺脊鍑哄皢绗簩涓姞杞借繘鍘,鐐圭户缁氨琛屼簡,濡傛灉鏄疪AR鏍煎紡鐨,閭i渶瑕佸厛瑙e帇浜,瑙e帇鍚庣湅鐪嬫槸涓嶆槸ISO鏍煎紡鐨,濡...
绛旓細闄愪簬鏂囩珷绡囧箙锛屾湰鏂囧厛浠庝綋绯绘灦鏋勩侀昏緫缁撴瀯銆鏁版嵁瀵硅薄銆佹暟鎹被鍨嬨丼QL鏀寔銆佸嚱鏁般佹暟鎹簱宸ュ叿鍜屾暟鎹浠芥仮澶嶈繖鍏釜鏂归潰璇︾粏闃愯堪K-DB鏄浣曞疄鐜板Oracle(浠Oracle 11g涓轰富)鐨勫叏闈㈠吋瀹广備綋绯绘灦鏋 浠庝笅鍥句綋绯绘灦鏋勫姣斿彲浠ョ湅鍑猴紝K-DB鍦ㄦ暟鎹簱杩涚▼鐨勭鐞嗘ā寮忋佸唴瀛樼鐞嗘ā寮忋丷EDO/UNDO/ARCHIVE鏃ュ織绠$悊妯″紡銆佸浠...
绛旓細涓哄疄鐜拌繖涓洰鐨,浠ヤ笅鍝鎶鏈兘澶熺敤鏉ユ渶楂樻晥鐨勮鍏鏁版嵁?A.external table B.the MERGE command C.the multitable INSERT command D.INSERT using WITH CHECK OPTION 3銆佺瓟妗 鏍规嵁浠ヤ笂瑙f瀽,鎴戜滑鐭ラ亾,4涓瓟妗堜腑,A涓 澶栭儴琛,B涓簃erge鍛戒护,D涓烘櫘閫氱殑insert璇彞,鎵浠,绛旀鍙湁 C,澶氳〃鎻掑叆.鏇村Oracle 11G...
绛旓細create table emp3 as select * from emp where 1=2; --oracle 11g浠ヤ笂锛屾澶勫彲鑳藉嚭鐜癘RA-01536閿欙紝璇疯嚜琛岃В鍐 --3.2 鍒涘缓涓涓猳racle鐩綍锛屾寚鍚戞搷浣滅郴缁熺殑鐩爣鐩綍锛屼緥濡俤:\temp锛屽苟鎺堟潈缁檚cott -- 濡傛灉鎮ㄧ殑oracle鏄痺indows鐗堟湰锛岄偅涔堝彲濡備笅鎾板啓 -- 濡傛灉鎮ㄧ殑oracle鏄痩inux涔嬬被鐨勭増鏈紝鍋氭硶绫讳技锛...
绛旓細insert --涓虹己鐪佹柟寮,鍦鏁版嵁瑁呰浇寮濮嬫椂瑕佹眰琛ㄤ负绌篴ppend --鍦ㄨ〃涓拷鍔犳柊璁板綍 replace --鍒犻櫎鏃ц褰(鐢 delete from table 璇彞),鏇挎崲鎴愭柊瑁呰浇鐨璁板綍truncate --鍒犻櫎鏃ц褰(鐢 truncate table 璇彞),鏇挎崲鎴愭柊瑁呰浇鐨勮褰3銆佸垱寤洪渶瑕佸鍏ョ殑鏁版嵁,娉ㄦ剰鏁版嵁鏍煎紡蹇呴』鍜岃〃缁撴瀯涓ユ牸瀵瑰簲,鍚﹀垯瀵煎叆澶辫触!娴嬭瘯鏁版嵁濡備笅:鏈夐儴鍒嗘暟...
绛旓細浣犵殑鏁版嵁搴撶殑闂銆傞渶瑕佹仮澶嶃備綘鏄竴涓敓浜ф暟鎹簱鍚楋紵濡傛灉鏄殑璇濓紝瑕佸皬蹇冦傚鏋滄病鏈夛紝浣犲彲浠ュ皾璇曚娇鐢ㄥ浠藉拰鎭㈠鏁版嵁鏂囦欢銆備娇鐢ㄤ笅闈㈢殑鍛戒护 鎭㈠鏁版嵁鏂囦欢;鎭㈠鏁版嵁鏂囦欢;璇疯浣忥紝瀹冧笉搴旇灏嗙敓浜у簱锛屾壘鍑洪棶棰樼殑鍘熷洜绉诲姩鍐嶆銆
绛旓細鎴戜滑鍙互浠庣洰褰%ORACLE_BASE%/diag/rdbms/orcl/orcl/trace(11g鐗堟湰鐨勮矾寰勶紝濡傛灉鏄10g鐨勫簲璇ヤ笉涓鏍)涓 鎵惧埌鑷繁瀹氫箟鐨則race鏂囦欢銆傚師濮嬬殑trace鏂囦欢鐨勫彲璇绘т笉楂橈紝鎴戜滑涓鑸娇鐢oracle鑷甫鐨勫伐鍏凤紝tkprof鏉ュ鐞嗚繖涓猼race鏂囦欢銆傛垜浠彲浠ユ煡鐪媡kprof鐨勫府鍔┿倀kprof orcl_ora_3820_mytest.trc out.txt 鎴戜滑鏉ョ湅鍒氭墠...
绛旓細绫讳技鎭㈠锛屽弬鑰冿細缃戦〉閾炬帴鍜岀綉椤甸摼鎺
绛旓細鑰屼笓闂ㄩ拡瀵笻adoop鏋舵瀯鐨勪骇鍝侊紝鑳藉甯姪浼佷笟搴斿鍦ㄧ粍缁囧拰鎻愬彇澶ф暟鎹柟闈㈡墍闈复鐨勬寫鎴橈紝鍖呮嫭Oracle鏁版嵁闆嗘垚Hadoop搴旂敤閫傞厤鍣ㄣ丱racleHadoop瑁呰浇鍣ㄤ互鍙奜racleSQL Connector绛夈傛澶栵紝OracleR Enterprise瀹炵幇浜哛寮婧愮粺璁$幆澧冧笌Oracle鏁版嵁搴11g鐨闆嗘垚锛屼负杩涜鏇磋繘涓姝ョ殑鏁版嵁鍒嗘瀽鎻愪緵浜嗕竴涓紒涓氬氨缁殑銆佹繁搴﹂泦鎴愮殑鐜銆傚煎緱...
绛旓細ORA-01157: 鏃犳硶鏍囪瘑/閿佸畾鏁版嵁鏂囦欢 6 - 璇峰弬闃 DBWR 璺熻釜鏂囦欢ORA-01110: 鏁版嵁鏂囦欢 6: 'E:\BANK\TABLESPACE_BANK.DBF'璇ユ枃浠朵涪澶变簡锛屾壘鎵剧湅鏄惁鍦ㄥ叾浠栧湴鏂癸紝濡傛灉纭涓嶈浜嗭紝鍙互鐩存帴offline鎺夛紝鐒跺悗open搴擄紝濡傛灉鏃犳硶鑷瑙e喅锛岃鍙傝冿細Oracle鏁版嵁搴寮傚父鎭㈠ ...