小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

datastage經(jīng)驗總結(jié)

 亂七九糟 2015-07-03

導(dǎo)讀:DSsmtp:[210.75.71.180]dssendmail_template.txt*OnUNIXtorunsendmail,thetemplatelookslikethis(doesn'trequirea<file>section):#!/bin/sh/usr/lib/sendmail-t<<////From:%from%To

datastage經(jīng)驗總結(jié)

DSsmtp:[210.75.71.180]

dssendmail_template.txt

* On UNIX to run sendmail, the template looks like this (doesn't require a <file> section): #! /bin/sh

/usr/lib/sendmail -t <<////

From: %from%

To: %to%

Subject: %subject%

Server: %server%

%body%

3.23 隨機錯誤問題

DataStage Sequence程序隨機錯誤,錯誤是找不到/tmp目錄下的該JOB的臨時文件,重新編譯后正常Run,錯誤描述:

I_Tr_EDS_TM_DOL_BRAND.#0.CNTR_WEdsTmDolBrandLdf_ins.LK05-Input.LK01:

ds_ipcopen() - Error in open(/tmp/ade.SGMEDW.I_Tr_EDS_TM_DOL_BRAND.#0.CNTR_WEdsTmDolBrandLdf_ins.LK05-Input) - No such file or directory

解決方法:

目前修改了以下參數(shù),連續(xù)兩天未發(fā)現(xiàn)隨機錯誤:

1.APT_MONITOR_SIZE to 100000 and APT_MONITOR_TIME to 5

2.可能是因為在Parallel Job中使用了Server Share Container導(dǎo)致的,

打開Project Property

確保已經(jīng)選擇Enable row buffer,并且選擇Inter process

最終確認的原因:

1.Default.app設(shè)置的并行節(jié)點數(shù)為4,那對于一個Stage就會起4個進程,stage過多會導(dǎo)致資源耗盡

解決方案:

1.盡量降低并發(fā)度

2.首先采用1個節(jié)點運行,待穩(wěn)定后逐步增加節(jié)點數(shù),也可對復(fù)雜JOB進行

3.24 DS中的日期問題

在Datastage7.5.1A中,日期抽取問題,例如,時間問題,'2006-04-12'等日期在datastage中變?yōu)?'2006-04-11'

答:

問題原因:

dsenv 的TZ設(shè)置不能使用別名BEIST,缺省值為GMT0這表示格林標準時間

解決方法:

Datastage dsenv參數(shù)TZ="GMT-8"

GMT-8表示的就是北京時間

3.25 DS連接oracle問題

DATASTAGE +oracle 10g 客戶端連接windows平臺下oracle 10G數(shù)據(jù)庫失敗,報plug_in初始化失敗。

答:

原因:未將ETL賬戶加入到DBA權(quán)限組中。加入以后就解決了。

3.26 在Sequence File Stage中的空值處理問題

在使用Sequence File Stage, ,給CHAR型等固定長度的字段賦空值時會報錯 。

例如在往一個可以為NULL并且類型是CHAR(20)的字段FI_CARLINE 中寫NULL數(shù)據(jù)時會報如下信息:

Sequential_File_8: When checking operator: When validating export schema: At field "FI_CARLINE": "null_field" length (0) must match field's fixed width (20)

但是如果是varchar類型的就沒有問題。

解決方法:

在DataStage Administrator中的這個Project的User Defined中添加一個參數(shù)APT_IMPEXP_ALLOW_ZERO_LENGTH_FIXED_NULL 類型為string并且值設(shè)為0 就可以了?!咀⒁猓菏菙?shù)字中的0】

3.27 在DS中使用Oracle Enterprise Stage必須的權(quán)限

Oracle Enterprise Stage必須有以下權(quán)限才能使用

Have SELECT privilege on:

DBA_EXTENTS

DBA_DATA_FILES

DBA_TAB_PARTITONS

DBA_TAB_SUBPARTITONS

DBA_OBJECTS

ALL_PART_INDEXES

ALL_PART_TABLES

ALL_INDEXES

SYS.GV_$INSTANCE (Only if Oracle Parallel Server is used)

3.28 DS中去除‘回車符’的問題以及從char類型轉(zhuǎn)變成整型的方法

在datastage中,從char類型變成整型用可以stringToDecimal這個函數(shù),不能用AsInteger,更不能直接轉(zhuǎn) 。

在datastage中和SQL server中‘回車’是用char(10)來表示的,在ORACLE中是用CHR(10)來表示的。

在datastage中要把字段中的回車替代掉就用 Ereplace(LK01.col_num,CHAR(10),' ') replace(replace(deliverer_phone,CHR(13),''),CHR(10),'') deliverer_phone

其中deliverer_phone是表示需要處理的字段,注意后面要用個別名!

3.29 從后臺看JOB列表的方法

怎樣查詢一個工程里的JOB列表?

方法一:

cd $DSHOME

cd bin

dsjob -ljobs 工程名(SGMEDS01) | grep ds > 要存放的文件目錄(/SGMEDWETL/tmp/tangning.txt)

方法二:

uvsh

LOGTO SGMEDS01

SELECT NAME FROM DS_JOBS WHERE NAME LIKE '%SAP%'

方法三:

進入存放JOB的位置,要產(chǎn)看某個project的JOB信息就進到相應(yīng)的project下面

用dssh“SELECT * FROM DS_JOBS WHERE NAME=’ I_Tr_TRC_TI_TRC_ASC’”

或者是uvsh “SELECT * FROM DS_JOBS WHERE NAME=’ I_Tr_TRC_TI_TRC_ASC’” 都可以實現(xiàn)查詢。如下圖所示:

3.30 Datastage和數(shù)據(jù)庫的連接方法

Datastage和數(shù)據(jù)庫有兩種方法連接:

一種是通過ODBC連接,這個可以查看.odbc.ini文件里查看

另一種方法是通過客戶端連接,就象是oracle的tnsnames.ora文件還有db2的directory一樣。 從后臺查看服務(wù)器配置了哪些db2客戶端用db2 list db directory

3.31 在datastage中使用環(huán)境變量的問題

在datastage中如果用到了環(huán)境變量的話,那么這個環(huán)境變量一定也要在/$dshome/dsenv 中配置一下,然后重啟datastage服務(wù)器以后 才會生效!

例如:在dsadm用戶下的 .profile 文件中配置了一個環(huán)境變量

export ETLPATH=/SGMEDWETL/dsdata/projects

那么同樣我們也要在/$dshome/dsenv 中配置一下

export ETLPATH=/SGMEDWETL/dsdata/projects

無論是在datastage 的routines 中用到這個環(huán)境變量還是用一個stage調(diào)用shell程序都要這樣做,只要是通過datastage 來用到這個環(huán)境變量,那么都要在兩個文件中配置!

3.32 IConv 和 OConv

IConv 將一個字符型的日期轉(zhuǎn)換成一個國際數(shù)字,是天數(shù) ;

OConv 將一個日期的‘天數(shù)’轉(zhuǎn)換成一個具有格式的字符串;

例如:

IConv(“12-31-1967”,“D-DMY[2,2,4]” ) -----》0

IConv(“12311967” ,“D4 DMY[2,2,4]”) -----》0

IConv(“12-31-67” ,“D2-MDY[2,2,2]”) -----》0

OConv(0,“D-DMY[2,2,4]”)----》“12-31-1967”

OConv(IConv(“12311967” ,“D4 DMY[2,2,4]”),”D/YDM[4,2,A10]“)-----》”1967/31/December"

3.33 在Merge中使用特殊字符

在語句中間要是需要加字符的話要用下面的方法:

Merge into (SELECT \* FROM ##SCHEMA##.TD_ASC_PART WHERE VALID=1 AND ASC_CODE<>'\'SGM\'')

注意語句中的 '\'SGM\'' 本身應(yīng)該是‘SGM’

注意:用來判斷是否匹配的字段值不能為NULL,如果有為NULL的可以用一下方法來替換一下:

例如:

若字段是字符形的:coalesce(ah.STORAGE_CODE,'\'1\'')=coalesce(sh.STORAGE_CODE,'\'1\'') 若字段是數(shù)字形的:VALUS(ah.STORAGE_CODE,1)=VALUS(sh.STORAGE_CODE,1)

注釋: 如何把雙引號包含到echo命令的字符串中,引號是一個特殊字符,所以必須要使用反斜杠 \ 來使shell

忽略它的特殊含義!例如你希望輸出字符串: "/dev/abc" 那么只需要在引號前面加上反斜杠 \ 就可以了

echo "\"/dev/abc"\"

"/dev/abc"

4 部分常用Stage 的使用說明

五星文庫包含總結(jié)匯報、人文社科、經(jīng)管營銷、考試資料、辦公文檔、文檔下載、黨團工作以及datastage經(jīng)驗總結(jié)等內(nèi)容。

本文共16頁1<<45678910>>16

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多