天天看點

資料解除安裝和裝載

Oracle資料解除安裝和裝載

一.Windos下Oracle資料解除安裝

1. 編輯資料解除安裝的BAT檔案,檔案名為unload.bat,内容為:

@echo off
#連接配接資料,并執行unload.sql 的SQL語句,此時的寫的為相對路徑,SQL檔案必須和BAT檔案在同一目錄中
sqlplus ods/odsods@dslr_dbcenter @xsl.sql   
exit       

2.編輯unload.sql檔案

解除安裝成Excel格式的腳本的如下:

set line 180

--col FLDMODEL format a12

--col FLDBRAND format a20

--col FLDDESCRIPTION format a80

set term off verify off feedback off pagesize 222

set markup html on entmap ON spool on preformat off
set pagesize 30000

set feedback off
spool 'D:\unload.xls'       
 select bill_date ||'|'||shop_no ||'|'||sum(bill_money) from dm.dm_possch_sale_region_bak 
       where  bill_date=to_number(to_char(sysdate-1,'YYYYMMDD')) group by  bill_date,shop_no;
spool off
exit      

解除安裝成txt、csv格式的腳本如下:

Set linesize 3000   --每行長3000
Set pagesize 0      --指定不分頁  
Set heading off     --不輸出标題行  
--Set termout off   --不顯示終端資訊
Set trimout On      --截斷終端顯示空格  
Set echo off        --不顯示指令本身
Set trimspool On    --截斷輸出至日志空格
Set feedback off    --不輸出回報資訊  
spool 'D:\unload.txt'   ----指定螢幕輸出到相關檔案,可以換成unload.csv,txt和csv都是文本格式
--需要解除安裝資料的SQL查詢語句,字段的分隔符為“|”
select bill_date ||'|'||shop_no ||'|'||sum(bill_money) from dm.dm_possch_sale_region_bak 
   where  bill_date=to_number(to_char(sysdate-1,'YYYYMMDD')) group by  bill_date,shop_no;
spool off
exit        

二、Windows下ORACLE資料裝載 

1.編寫裝載資料的BAT檔案,檔案名為load.bat,檔案内容為:

#@echo off
#通過sqlldr連接配接資料,并加載控制檔案
sqlldr  ods/odsods@dslr_dbcenter   control=f:\load.ctl
puase      

2.編寫資料加載檔案,檔案名為load.ctl,檔案内容為:

Load data   --加載資料
infile 'F:\test1.csv'    --加載資料檔案名稱(現在是相對路徑test1.txt,可以寫成絕對路徑)
badfile a.bad                   --失敗資料寫入檔案
truncate                      -- append 追加  truncate 清空   delete 删除
into table ODS_SAP_D_PURCHASECOST_TMP       --插入操作表
FIELDS TERMINATED BY ','      --根據指定辨別符隔斷各字段值 OPTIONALLY ENCLOSED BY '"'  過濾掉指定的辨別符,如"等
(TP,                                 --指定插入字段及資料
ORG  ,        
  SAP_VENDERID ,
  CODE    ,     
  COST    ,     
  PRCTYPE    ,  
  UNINT    ,    
  TAX    ,  
 ZDELE    , 
  DT1     ,     
  DT2         
)      

注意在,在導入時,需要核對清楚資料情況和導入目标表的對應情況,上面執行個體的目标表結構多出一個更新時間,具體的文本資料和目标表結構如下:

資料解除安裝和裝載

 三、Linux下Oracle資料解除安裝

1.添加資料解除安裝程式sqluldr2_linux_10204.bin

   假如将sqluldr2_linux_10204.bin放到目錄/data/etltool下面,則需要将/data/etltool設定到環境變量中去,設定環境變量的方式:

  • 臨時生效,使用export指令聲明即可,變量在關閉shell時失效,在實際試驗中,此方法不能生效
gpadmin@mdwm:/data/etltool> export etltool=/data/etltool      
  • 永久生效,需要修改配置檔案,變量永久生效。
  1. 修改/etc/profile檔案     

           用VI在檔案/etc/profile檔案中增加變量,該變量将會對Linux下所有使用者有效,并且是“永久的”。

  例如:編輯/etc/profile檔案,添加PATH變量

   vi /etc/profile

  export PATH=/data/etltool:$PATH

     2. 修改使用者下的/home/使用者名/.bashrc

           用VI在使用者目錄下的.bash_profile檔案中增加變量,改變量僅會對目前使用者有效,并且是“永久的”。

  例如:編輯gpadmin使用者目錄(/home/gpadmin)下的.bash_profile

   vi /home/gpadmin/.bash.profile

  添加如下内容:export PATH=/data/etltool:$PATH

 注:修改檔案後要想馬上生效還要運作# source /etc/profile不然隻能在下次重進此使用者時生效。

2.編輯解除安裝腳本

#如果沒有sqluldr2_linux_10205.bin加入到環境變量中,則需要加上對應的檔案路徑/data/jack/sqluldr2_linux_10205.bin

sqluldr2_linux_10205.bin dm/dmdmdm@dbcenter query="select * from dm_possch_sale_region" field=0x7c file=/data/etl/dm_possch_sale_region.txt