記oracle匯出大表資料csv檔案

2022-09-13 08:36:09 字數 4136 閱讀 4114

一、建立儲存過程

ps:將需要匯出資料的sql語句替換下面的sql語句和下面的字段

1

create

orreplace

procedure export_grid_serv_mon_02(in_cycle_id in

number) is23

--變數說明

4 v_file_path constant varchar2(30):=

'dir1';

5 v_file_name varchar2(50);6

v_file_handle utl_file.file_type;

7 v_line varchar2(2000

);8 d_file_name varchar2(50);9

1011 icnt number(10

);12 v_start_date varchar(12

);13 v_end_date varchar(12

);14

15--

日誌變數

16 v_begin_date date :=

sysdate;

17 v_step varchar2(200) :=

null

;18 con_run constant number(4) :=

9999

;19 v_procedure_id constant number :=37;

2021

22cursor c_cust_msg is

23select

24baz001,

25baz002,

26bab221,

27aac001,

28aab001,

29aae002,

30aae003,

31aae140,

32bae060,

33aaa157,

34aaa115,

35aac084,

36bae151,

37aae180,

38aae020,

39bae152,

40 to_char(aab191,'

yyyymmddhh24mi

') as

aab191,

41bae162,

42bab222,

43bae205,

44aae202,

45bae181,

46baz003,

47baz004,

48aae011,

49 to_char(aae036,'

yyyymmddhh24mi

') as

aae036,

50aab034,

51aaa027,

52bae513,

53bae519

54from

55 ncsi.ac43 where aae140='11

'and aae002=

201802;56

57begin

58 v_step:=

'v_step_1';

5960 d_file_name :=

'ncsi_ac43.dat';

61dbms_output.enable;

62dbms_output.put(v_file_path);

63 v_step:=

'v_step_1_2';

64 v_file_handle:=utl_file.fopen(v_file_path,d_file_name,'w'

);65 v_step:=

'v_step_1_3';

6667

select to_char(sysdate,'

yyyymmddhh24mi

') into v_start_date from

dual;

68 v_step:=

'v_step_2';

6970

for rec in

c_cust_msg loop

71 v_line:=rec.baz001||',

'||rec.baz002||',

'||rec.bab221||',

'||rec.aac001||',

'||rec.aab001||',

'||rec.aae002||',

'||rec.aae003||',

'||rec.aae140||',

'||rec.bae060||',

'||rec.aaa157||',

'||rec.aaa115||',

'||rec.aac084||',

'||rec.bae151||',

'||rec.aae180||',

'||rec.aae020||',

'||rec.bae152||',

'||rec.aab191||',

'||rec.bae162||',

'||rec.bab222||',

'||rec.bae205||',

'||rec.aae202||',

'||rec.bae181||',

'||rec.baz003||',

'||rec.baz004||',

'||rec.aae011||',

'||rec.aae036||',

'||rec.aab034||',

'||rec.aaa027||',

'||rec.bae513||',

'||rec.bae519;

7273

74utl_file.put_line(v_file_handle,v_line);

75end

loop;

7677

utl_file.fclose(v_file_handle);

7879

8081 exception when others then

82rollback;83

end;

二、建立dir1目錄

1

create directory dir1 as

'/home/oracle/csv

'

三、執行呼叫儲存過程

1

exec export_grid_serv_mon_02(20180102);

ps: 大資料匯出時間長,建議建立指令碼後台執行

1 #!/bin/sh2

export path

oracle

4 export oracle_home=$oracle_base/product/

11.2

/dbhome_1

5 export oracle_sid=

auditdb

6 ld_library_path=$oracle_home/

lib7 path=$path:$oracle_home/bin:$home/

bin8

export oracle_base oracle_home oracle_sid ld_library_path

9 sqlplus "/

as sysdba"<<

eof10

@pl_ac43

.sql

11eof

1213

[oracle@exchangedb ~

]$ more pl_ac43.sql

14exec export_grid_serv_mon_02(20180102

);15

exit

1617 nohup ./pl_ac43.sql >> ac43.log

& #執行shell指令碼後台執行

oracle 匯入匯出表資料

感謝博主分享 system manager test system 使用者名稱 manager 密碼 test 資料庫位址 file 要將檔案匯出的位置 tables 要匯出的表名 owner 匯出表的所屬使用者 一 資料匯出 1 將資料庫test完全匯出,使用者名稱system 密碼manager...

oracle資料幫浦匯出表資料

匯出固定表資料 匯出固定表資料 expdp ip port x directory data pump dir dumpfile dmp logfile log tables tm legalperson,tm legalperson role,tm user,tm user role,tm use...

ORACLE匯出表匯入表資料語法

exp imp工具 帶引數 rows y 帶資料匯出匯入 rows n 不帶資料的匯出匯入,只移植結構。例如 只匯出3張表的結構 exp user pasword dbservername owner user tables table1,table2,table3 rows n file c 1....