Dastage¾Ñé×ܽá
Ŀ¼
1 ÈçºÎÖØÐÂÆô¶¯DataStage·þÎñÆ÷, ²½ÖèÈçÏÂ: ........................................................................ 4 2 DataStage¿ª·¢¾Ñé»ýÀÛ: ...................................................................................................... 4 2.1 Ä£°å¿ª·¢...................................................................................................................................... 4 2.2 ͨ¹ýSERVER SHARED CONTAINERÔÚPARALLEL JOBÖÐÌí¼ÓSERVER JOB STAGE ....................................... 4 2.3 È¥³ý²»ÐèÒªµÄ×Ö¶Î ...................................................................................................................... 4 2.4 TRANSFORMER STAGEµÄʹÓà ........................................................................................................... 4 2.5 LOOK UP/JOIN ¿ÕÖµ´¦Àí ............................................................................................................... 5 2.6 DATASTAGEÖÐĬÈϺÍÒþʽÀàÐÍת»»Ê±×¢ÒâµÄÎÊÌâ ...................................................................... 5 2.7 ÅäÖÃÒ»¸ö INPUT»òOUTPUT,¾ÍVIEW DATAÒ»ÏÂ,²»ÒªµÈµ½RUNʱÔÙ»ØÍ·ÕÒERROR ......................... 5 2.8 DATAÐÍÊý¾ÝÊDZȽÏÂé·³µÄ .......................................................................................................... 5 2.9 ÐÐÁл¥»»Ö®HORIZONTAL PIVOT£¨PIVOT STAGE£© ............................................................................. 6 2.10 ÐÐÁл¥»»Ö®VERTICAL PIVOT ......................................................................................................... 6 2.11 ORACLE EE STAGEÔÚVIEWÊý¾Ýʱ³öÏֵĴíÎó¼°½â¾ö·½·¨ ........................................................ 8 2.12 DATASTAGE SAP STAGEµÄʹÓà ....................................................................................................... 9 2.13 COLUM IMPORT STAGEµÄʹÓà ........................................................................................................ 9 2.14 COLUM EXPORT STAGEµÄʹÓà ...................................................................................................... 11 2.15 GOT ERROR: CANNOT FIND ANY PROCESS NUMBER FOR STAGES IN JOB JOBNAME½â¾ö ............................ 12 2.16 UNABLE TO CREATE RT_CONFIGNNN .............................................................................................. 13 2.17 ²é¿´JOBºÍCLIENTµÄ¶ÔÓ¦µÄºǫ́½ø³Ì .................................................................................... 13 2.18 Ç¿ÖÆÉ±ËÀDS½ø³Ì ................................................................................................................... 13 2.19 ²é¿´SERVER ENGINEµÄ½ø³Ì ...................................................................................................... 14 2.20 ²é¿´SERVER LOCKS ..................................................................................................................... 14 2.21 ¹ØÓÚUNIXϵͳÏÂÎÞ·¨Æô¶¯·þÎñµÄ½â¾ö°ì·¨........................................................................ 15 2.22 LOCKED BY OTHER USER ................................................................................................................. 16 2.23 DATASTAGE JOB LOGµÄ´¦Àí ......................................................................................................... 16 2.24 һЩBASICÓïÑÔÖд¦Àí×Ö·û´®µÄº¯Êý .................................................................................. 16 2.25 BASIC³ÌÐòÖÐʹÓõ½µÄһЩÓ﷨֪ʶ ................................................................................... 17 3
DSÖг£¼ûÎÊÌâ¼Ç¼ .......................................................................................................... 21 3.1 ȨÏÞ¹ÜÀíÎÊÌâ ............................................................................................................................ 21 3.2 JOB MAY BE BEING MONITORED»òÕßÊÇCLEANUPÎÊÌâ ....................................................................... 21 3.3 ɾ³ýÎļþµÄÎÊÌâ ........................................................................................................................ 21 3.4 SEQUENCEµ÷¶È³öÏֵĴíÎóÎÊÌâ ................................................................................................. 22 3.17 ×Ö·û¼¯ÎÊÌâ ............................................................................................................................. 22 3.18 VERSIONCONTROLµÄÎÊÌâ ............................................................................................................ 22 3.19 SEQUENCEµ÷²»ÆðJOBµÄÎÊÌâ................................................................................................... 23 3.20 SEQUENCEµ÷¶Èʧ°ÜµÄÎÊÌâ ....................................................................................................... 23 3.21 DS·¢ËÍÓʼþµÄÅäÖÃÎÊÌâ ........................................................................................................ 24 3.22 Ëæ»ú´íÎóÎÊÌâ ......................................................................................................................... 25
Individual 2007-10 1 / 64
Dastage¾Ñé×ܽá
3.23 DSÖеÄÈÕÆÚÎÊÌâ .................................................................................................................... 25 3.24 DSÁ¬½ÓORACLEÎÊÌâ ................................................................................................................ 26 3.25 ÔÚSEQUENCE FILE STAGEÖеĿÕÖµ´¦ÀíÎÊÌâ .............................................................................. 26 3.26 ÔÚDSÖÐʹÓÃORACLE ENTERPRISE STAGE±ØÐëµÄȨÏÞ ................................................................. 26 3.27 DSÖÐÈ¥³ý¡®»Ø³µ·û¡¯µÄÎÊÌâÒÔ¼°´ÓCHARÀàÐÍת±ä³ÉÕûÐ͵ķ½·¨ .................................... 26 3.28 ´Óºǫ́¿´JOBÁбíµÄ·½·¨ ..................................................................................................... 27 3.29 DATASTAGEºÍÊý¾Ý¿âµÄÁ¬½Ó·½·¨ ............................................................................................. 27 3.30 ÔÚDATASTAGEÖÐʹÓû·¾³±äÁ¿µÄÎÊÌâ ..................................................................................... 27 3.31 ICONV ºÍ OCONV ...................................................................................................................... 28 3.32 ÔÚMERGEÖÐʹÓÃÌØÊâ×Ö·û ..................................................................................................... 28 4 5 6 7 8 9 10 11 12
²¿·Ö³£ÓÃStage µÄʹÓÃ˵Ã÷ ............................................................................................ 28 dsjob Ó﷨˵Ã÷: .............................................................................................................. 30 ÈçºÎ´ÓDataStage·þÎñÆ÷µ¼³öËù¿ª·¢µÄJOBSÁбí ....................................................... 31 ²é¿´µ±Ç°·þÎñÆ÷״̬ÐÅÏ¢µÄ·½·¨: ..................................................................................... 35 ÈçºÎÔÚÁ½Ì¨»úÆ÷Ö®¼ä½øÐÐFTPÎļþ ................................................................................. 35 ÈçºÎ»ñµÃJobstatus ,²½ÖèÈçÏÂ: ....................................................................................... 37 dsjob ¨Crun µÄÓ÷¨ ...................................................................................................... 38 ÈçºÎÔÚºǫ́ÔËÐкÍÍ£Ö¹Ò»¸öJOB ................................................................................. 39 DS Oracle EE Stage ÅäÖÃ........................................................................................... 41
11.1 °²×°ORACLE¿Í»§¶Ë ................................................................................................................. 41 11.2 Ìí¼ÓORACLEÓû§µ½DSADM GROUP×éÑ¡Ïî ............................................................................... 41 11.3 ÅäÖÃDATASTAGE·þÎñÆ÷DSENVÎļþ .......................................................................................... 41 11.4 ÅäÖÃTNSNAMES.ORA ................................................................................................................... 42 11.5 ÖØÆðDATASTAGE·þÎñ ................................................................................................................ 42 11.6 ÅäÖÃOACLE STAGE³éÈ¡µÄSELECTȨÏÞ ...................................................................................... 42 11.7 OACLE EE STAGEÅäÖýáÊø ........................................................................................................ 43 13
DS ODBC µÄÅäÖà ........................................................................................................ 43
12.1 ÐÞ¸Ä$DSHOME /DSENV ............................................................................................................ 43 12.2 ÐÞ¸Ä$DSHOME/.ODBC.INI, À´ÌṩÊý¾Ý¿âÁ¬½ÓÐÅÏ¢; ............................................................. 43 12.3 ÐÞ¸Ä$DSHOME/UVODBC.CONFIG, À´Ö¸¶¨DSN(DATA SOURCE NAME). ........................................... 44 14 15
ETLϵͳÀ©Õ¹ ............................................................................................................... 45 Remote Shell (rsh)µÄÅäÖà ........................................................................................... 45
14.1 ´´½¨²¢ÅäÖà .RHOSTSÎļþ ...................................................................................................... 45 14.2 ÐÞ¸Ä/ETC/HOSTS.EQUIVÎļþ ...................................................................................................... 46 16
dsadminÃüÁîµÄʹÓà ................................................................................................... 46
15.1 DSADMINÃüÁîµÄʹÓà .............................................................................................................. 46
Individual 2007-10 2 / 64
Dastage¾Ñé×ܽá
17 18 19
ÈçºÎÆô¶¯JobMonApp ................................................................................................. 48 DS.TOOLS ................................................................................................................... 48 uvsh³£ÓÃÃüÁî .............................................................................................................. 51
18.1 LOGTO PROJECTNAME --------µÇ¼һ¸ö¹¤³Ì ............................................................................... 51 18.2 DS.TOOLS ---------½øÈëDS¹¤¾ß ................................................................................................ 51 18.3 LIST DS_JOBS --------ÏÔʾËùÓеÄJOB¼°JOBµÄ·ÖÀàCATEGORY .............................................. 51 18.4 LIST DS_JOBS WITH NAME=JOBNAME ------ÏÔʾij¸öÌØ¶¨JOBµÄÐÅÏ¢ ..................................... 51 18.5 LIST.READU EVERY -----ÁгöËùÓеÄËø¼°ËøµÄÓµÓÐÓû§USERNAME ..................................... 51 18.6 UNLOCK USER USERNO ALL ----½âËøÓû§Ëø×¡µÄJOBS ................................................................ 51 18.7 LIST.INDEX ----- Áгö×ÊÁÏ¿âµÄË÷Òý ........................................................................................ 52 20
Usage AnalysisÀ´½øÐÐÓ°Ïì·ÖÎö ................................................................................ 52
19.1 ÈçºÎÆô¶¯USAGE ANALYSIS .......................................................................................................... 52 19.2 USAGE ANALYSISÖÐSELECT COLUMNSµÄʹÓà ................................................................................ 53 19.3 USAGE ANALYSISÖÐVIEW HTMLµÄʹÓà ....................................................................................... 54 19.4 USAGE ANALYSISÖÐLOCATE IN MANAGERµÄʹÓà ............................................................................ 55 19.5 USAGE ANALYSIS¿ÉʹÓõÄSOURCEÀàÐÍ ...................................................................................... 56 21
DS Message Handlers ................................................................................................ 57
20.1 MESSAGE HANDLERSµÄÁ½ÖÖ¼¶±ð ................................................................................................. 57 20.2 MESSAGE HANDLERSµÄÈýÖÖ¶¯×÷ÖÖÀà ......................................................................................... 58 20.3 MESSAGE HANDLERSµÄÎļþ¸ñʽ ................................................................................................. 58 22
DS Parallel Routine .................................................................................................... 59
21.1 PARALLEL ROUTINE×¢ÒâÊÂÏî ....................................................................................................... 59 21.2 PARALLEL ROUTINE´´½¨Á÷³Ì ....................................................................................................... 59 21.3 PARALLEL ROUTINEʾÀý ............................................................................................................... 60 23
uvconfigÎļþÖвÎÊýÐ޸ķ½·¨ ..................................................................................... 62
22.1 ÐÞ¸ÄÎļþUVCONFIGÖеIJÎÊý .................................................................................................. 62 22.2 ÔËÐÐUVREGEN............................................................................................................................ 62 22.3 ÖØÆôDS·þÎñ ........................................................................................................................... 62 22.4 УÑé ......................................................................................................................................... 62 24
&PH& ........................................................................................................................... 62
23.1 CD \\&PH\\& »ò CD ¡®&PH&¡¯ ........................................................................................................ 62 25 26
DB2Ö§³ÖµÄÊý¾Ý¸ñʽ .................................................................................................... 63 DB2ÖÐLoadÓï·¨ºÍ»ù±¾Ê¹Óà ...................................................................................... 64
Individual 2007-10 3 / 64
Dastage¾Ñé×ܽá
1 ÈçºÎÖØÐÂÆô¶¯DataStage·þÎñÆ÷, ²½ÖèÈçÏÂ:
1.01
Æô¶¯DataStage Server µÄÃüÁîÒªÔÚ$DSHOME/bin Ŀ¼Ï½øÐÐ. Æô¶¯Ö®Ç°ÒªÇжÏËùÓÐÓë·þÎñÆ÷¶ËµÄÁ¬½Ó:
1. µÇ½DataStage ·þÎñÆ÷,ÊäÈë: $DSHOME/bin 2. ¹Ø±ÕDataStage ·þÎñÆ÷ ./uv ¨Cadmin ¨Cstop
3. ¼ì²é·þÎñÆ÷ÉÏÊÇ·ñ»¹Óнø³Ìû¹Øµô£¬·ñÔò·þÎñÆ÷ÎÞ·¨Æô¶¯ÆðÀ´£¬netstat -a | grep ds 4. ÖØÆð·þÎñÆ÷ ./uv ¨Cadmin ¨Cstart.
Note: ¹Ø±ÕDataStage ·þÎñÆ÷ºó,½¨Òé¹ý30 sec ÔÙÖØÆð·þÎñÆ÷.
2 DataStage¿ª·¢¾Ñé»ýÀÛ:
2.1 Ä£°å¿ª·¢
²¢ÐÐJOBÖÐÄ£°åµÄ¿ª·¢¿ÉÒÔ×î´ó³Ì¶ÈµÄÖØÓò¢ÐÐJOBµÄ¹¹¼þ,½Úʡʱ¼ä
1. ʹÓÃJOB²ÎÊý(PARAMETER)¿ÉÒÔÔÚÔËÐÐʱÌṩ²ÎÊýµÄÖµ,Ôö¼ÓÁé»îÐÔ,¿ÉÒÔÔÚ
²»Í¬µÄ»·¾³´¦Àí²»Í¬µÄÊý¾Ý;ʹÓÃJOB PARAMETER ¿ÉÒÔÔÚͬһʱ¼äʹÓò»Í¬²ÎÊýÔËÐÐͬһ¸öJOB
2. Shared Container ¹²ÏíÈÝÆ÷¿ÉÒÔÔÚ¶à¸öJOBÖй²ÏíÏàͬµÄÂß¼,µ±Ò»¸öJOB
±àÒëʱ¹²ÏíÈÝÆ÷±»Ç¶Èë.
2.2 ͨ¹ýServer Shared ContainerÔÚParallel JobÖÐÌí¼ÓServer Job Stage
ÔÚDesignerÖд´½¨Ò»¸öserver shared container£¬Ìí¼ÓÐèÒªµÄServer job stage£¬ÔÙ°Ñserver shared containerÌí¼Óµ½parallel job²¢Á¬½Óµ½ÆäËûparallel stage.
2.3 È¥³ý²»ÐèÒªµÄ×Ö¶Î
µ±´ÓÊý¾Ý¿âÖжÁÈ¡Êý¾Ýʱ,Òª¾¡¿ÉÄÜÔçµÄÈ¥³ý²»ÐèÒªµÄ×Ö¶Î,Ö»¶ÁÈ¡ÐèÒªµÄ×Ö¶Î,¶ø²»ÊÇÕû¸ö±í,ÕâÑù¿ÉÒÔÌá¸ßÊý¾Ý¶ÁȡЧÂÊ.
2.4 Transformer StageµÄʹÓÃ
1. É÷ÓÃTransformer Stage,ÒòΪËü¿ÉÄܽµµÍJOBµÄÔËÐÐЧÂÊ,ÓÐЩ¹¦ÄÜÄܺϲ¢³É
Ò»¸öµ¥¶ÀµÄSTAGEµÄ²»ÒªÓöà¸öSTAGE,ÒªÓÃÆäËûµÄSTAGEÀ´´úÌæTransformer Stage ÄÜÍê³ÉµÄÈÎÎñ.
2. Transformer Stage µÄÊý¾ÝÁ÷³ÌÊÇÏȾ¹ýconstraintµÄ¹ýÂË,È»ºóÔÙ¾¹ý
Derivation´¦Àí
3. ¶ÔÓÚÈ·¶¨ÀàÐ͵IJÙ×÷,ʹÓÃÆäËûSTAGE ±ÈʹÓÃTRANSFORMER »á¸üºÃ:
(1) ¶ÔÈçÏÂÇé¿ö,ʹÓÃCopy Stage ½«±ÈTransformer Stage ¸üºÃ
©~ÔÚ½çÃæÉÏÌṩһ¸öJOB Éè¼ÆÕ¼Î»·û ©~ÖØÐÂÃüÃû×Ö¶Î
Individual 2007-10 4 / 64
Dastage¾Ñé×ܽá
©~ɾ³ý×Ö¶Î
©~ImplicitÀàÐͱ任
(2) ʹÓÃFilter Stage »òÕß Switch Stage À´°ÑÊäÈë¼Ç¼°´ÕÕÏÞÖÆ±íʽ·Ö
³É¶à¸öÊä³ö·ÖÖ§.
(3) ʹÓÃModify Stage À´explicit ÀàÐͱ任ºÍNull´¦Àí
©~Modify Stage Ò²¿ÉÖØÐÂÃüÃû×Ö¶Î ©~±£³Ö(keep)»òɾ³ý(drop)×Ö¶Î
©~Ò²¿ÉÔö¼ÓÐÂ×Ö¶Î,²¢ÎªÐÂÔö×ֶθ³Öµ,µ«¸³Öµ·½Ê½ÒªÒÔ×Ö¶Î=×Ö¶Î ÐÎʽ,ÀýÈç: new_columnname = old_columnname; µ«new_columnname =¡±hf¡±ÕâÑù¸³ÖµÊÇ´íÎóµÄ ©~NullµÄ´¦Àí
destinationColum=handle_null(sourceColum,Value)
destinationColum=make_null(sourceColum,Value),Õâ¸öʹÓÃÖÐÓÐÎÊÌâ,²»´¦Àí¿ÕÖµ
2.5 Look up/join ¿ÕÖµ´¦Àí
1. µ±Ê¹ÓÃLookup Failure = Contunue ʱ,Òª°Ñ reference link µÄ·ÇÖ÷¼üÉèÖóÉ
Nullable,¼´Ê¹reference data ÊǷǿյÄ,Ò²ÒªÉèÖóÉNullable,ÕâÑùÄܹ»È·±£Lookup °Ñ¿ÕÖµ·ÖÅä¸øÃ»ÓÐÆ¥ÅäµÄ²Î¿¼·ÇÖ÷¼ü
2. Èç¹û²Î¿¼·ÇÖ÷¼üûÓÐÉèÖóÉNullable ,½«»á·¢Éúʲô:Lookup ½«»á·ÖÅäÒ»¸öĬ
ÈÏÖµ¸øÃ»ÓÐÆ¥ÅäµÄµÄÐÐ:
Integer ĬÈÏֵΪ0 Varchar/char ĬÈÏֵΪ¿Õ×Ö·û´®(0³¤¶ÈµÄ)
2.6 DataStageÖÐĬÈϺÍÒþʽÀàÐÍת»»Ê±×¢ÒâµÄÎÊÌâ
µ±´ÓÔ´ÏòÄ¿±êÓ³ÉäÊý¾Ýʱ£¬Èç¹ûÀàÐͲ»Ò»Ö£¬¶ÔÓÚÓÐЩÀàÐÍÎÒÃÇÐèÒªÔÚmodify»òtransfomer stageÖÐͨ¹ýº¯Êý½øÐÐת»»£¬¶ÔÓÚÓÐЩϵͳ»á×Ô¶¯Íê³ÉÀàÐÍת»»£¬ÔÚÀàÐÍת»»¹ý³ÌÖУ¬×¢ÒâÒÔϼ¸µã£º
1 Ôڱ䳤µ½¹Ì¶¨³¤¶È×Ö·û´®µÄĬÈÏת»»ÖУ¬parallel jobsÓÿոñ£¨ASCII 20£©×Ö ·ûÀ´Ìî³äÊ£Ó೤¶È(»·¾³±äÁ¿APT_STRING_PADCHARµÄĬÈÏÖµÒ²Êǿոñ£¨ASCII 20£©,¾ßÌåÔÚÄĸöstageÌî³äµÄ²»Öª.
2 ͨ¹ý»·¾³±äÁ¿APT_STRING_PADCHAR¿ÉÒԸıäĬÈϵÄÌî³ä×Ö·ûnull£¨ASCII 0£©¡£
3 ÓиöPadString º¯Êý¿ÉÒÔÓÃÀ´ÓÃÖ¸¶¨µÄ×Ö·ûÀ´Ìî³äÒ»¸ö±ä³¤µÄ×Ö·û´®µ½Ö¸¶¨µÄ³¤¶È¡£Õâ¸öº¯ÊýµÄ²ÎÊý²»ÄÜʹ¹Ì¶¨³¤¶È×Ö·û´®£¬Èç¹ûÊǹ̶¨³¤¶ÈµÄÏÈת»¯Îª±ä³¤¡£
2.7 ÅäÖÃÒ»¸ö input»òoutput,¾Íview dataÒ»ÏÂ,²»ÒªµÈµ½runʱÔÙ»ØÍ·ÕÒerror 2.8 DataÐÍÊý¾ÝÊDZȽÏÂé·³µÄ
ÒòΪDatastageÖеÄÈÕÆÚ¸ñʽΪtimestamp,µ±È»ÄãÒ²¿ÉÒÔ°ÑËüµÄÈÕÆÚ¸ñʽ¸ü¸ÄΪdateÐÍ£¬µ«¾³£»á³öÏÖ´íÎó¡£¶ÔÓÚoracleÊý¾Ý¿âÔ´±íºÍÄ¿±ê±í£¬²»ÐèÒª¶ÔdateÐÍÊý¾Ý×öÈκÎת»»£¬Ö±½ÓʹÓÃĬÈϼ´¿É£¬µ«¶ÔÓÚinformixµÈһЩÊý¾Ý¿â£¬ÔòÐèҪʹÓÃoconv£¬iconvº¯Êý½øÐÐת»»£¬²¢ÔÚoutputÖÐÏàÓ¦µÄÐÞ¸Äoutput sqlÖеÄÈÕÆÚ¸ñʽ
Individual 2007-10 5 / 64
Dastage¾Ñé×ܽá
2.9 ÐÐÁл¥»»Ö®Horizontal Pivot£¨Pivot Stage£©
ÁбäÐÐ,¼´¿í±í±äÕ±í,×ֶαäÉÙÁË,¼Ç¼Êý±ä¶àÁË£¬Ç£Éæµ½ColumnÊýÁ¿µÄ±ä»¯£»×¢ÒâÒªÔÚPivot-?OutputµÄDerivationÖÐдÉÏת»»×ֶεÄÀ´Ô´×Ö¶Î,×Ö¶ÎÖ®¼äÓöººÅ¸ô¿ª Àý×Ó£º
PIVOT Input¼Ç¼ÈçÏ£º
Id col1 col2 col3
2 Rootpath Workdate EdsDbname 3 Rootpath Workdate AsdmDbname PIVOT Output¼Ç¼ÈçÏ£º Id colum 2 Rootpath 2 Workdate 2 EdsDbname 3 Rootpath 3 Workdate
3 AsdmDbname
2.10 ÐÐÁл¥»»Ö®Vertical Pivot
Pivot StageÊÇ¿í±í±äÕ±í£¬Ò²¼´£ºHorizontal Pivot£»Êµ¼ÊÓ¦ÓÃÖл¹»áÇ£Éæµ½Õ±í ¿í±í£¬¼´Vertical PivotµÄÓ¦Óá£ÀýÈ磺 ÊäÈëInput¼Ç¼ÈçÏ£º Id Column 2 Rootpath 2 Workdate 2 EdsDbname 3 Rootpath 3 Workdate 3 AsdmDbname
ÎÒÃÇÏëÒªµÄÊä³öOutput¼Ç¼ÊÇÕâÑùµÄ£º Id NewCol 2 Rootpath£¬Workdate£¬EdsDbname 3 Rootpath£¬Workdate£¬AsdmDbname
½â¾ö·½·¨ÈçÏ£º
Server JobµÄ×ö·¨£º
Sequence File---? Transform---? Hash File Ô´±í½á¹¹£º Id varchar 10 Column varchar 10
Define Transform as follows
Individual 2007-10 6 / 64
Dastage¾Ñé×ܽá
Stage Variables£º currentKey
Initial value = \ Derivation = L1.Id newRecord
Initial value = \
Derivation = if currentKey=lastKey Then newRecord:\lastKey
Initial value = \
Derivation = currentKey L2 Deriviations L2.key = L1.Id
L2.line = newRecord
Ä¿±ê±í½á¹¹£º
Id varchar 10 (marked as the key) Newcol varchar 200
£¨×¢Ò⣺Stage VariableµÄÓÐÏȺó˳ÐòµÄ£¬ËüÊǰ´ÕÕÏȺó˳ÐòÀ´¸³ÖµµÄ,ËùÒÔlastKeyÒªÔÚnewRecordºóÃæ£©
Èç¹û°ÑNewcolµÄÖµ·ÅÔÚ²»Í¬µÄ×Ö¶ÎÖУ¬¸ñʽÈçÏ£º
Id Col1 Col2 Col3
2 Rootpath Workdate EdsDbname 3 Rootpath Workdate AsdmDbname
½â¾ö·½·¨ÊÇ£º°ÑNewColmµÄÖµ¶Á³öÀ´¸³¸øÒ»¸öStage Variable£¬È»ºóʹÓÃField(NewCord, \£¬Field(NewCord, \µÈµÈ£¬°ÑÖµ¸³¸øÃ¿¸öColm¡£
Parallel JobµÄ×ö·¨£º£¨°´ÕÕSERVER JOBµÄ×ö·¨£¬È»ºó¸Ä³É´®Ðз½Ê½Ò²ÄÜʵÏÖ£© 1. ʹÓÃSort Stage¶ÔKey Column£º Id ½øÐзÖÇøºÍÅÅÐò£»²¢ÉèÖÃCreate Key Change
Column=True£¨×÷ÓÃÊǵÚÒ»Ìõ¼Ç¼»á±êʶΪ1£¬ÆäËü0£©£¬²úÉúKeyChange Column£»
ÔËÐгöÀ´µÄ½á¹ûÈçÏ£º Id Column KeyChange
-- ---------- ---------- 2 Rootpath 1 2 Workdate 0 2 EdsDbname 0 3 Rootpath 1 3 Workdate 0 3 AsdmDbname 0
2. ÔÚTransform StageÀï´´½¨Stage Variable; ´´½¨±äÁ¿ºó£¬¸ù¾ÝKeyChangeµÄÖµÀ´ÉèÖñäÁ¿µÄÖµ£»È磺´´½¨±äÁ¿svBuildColum£¬
¸³Öµ£ºif DSLink12.keyChange=1 then DSLink12.Column else svBuildColumn : \ÔËÐгöÀ´µÄ½á¹ûÈçÏ£º
Individual 2007-10 7 / 64
Dastage¾Ñé×ܽá
Id Column KeyChange svBuildColum
-- ---------- ---------- ------------------------------------------------ 2 Rootpath 1 Rootpath 2 Workdate 0 Rootpath $Workdate 2 EdsDbname 0 Rootpath $Workdate $EdsDbname 3 Rootpath 1 Rootpath 3 Workdate 0 Rootpath $Workdate 3 AsdmDbname 0 Rootpath $Workdate $AsdmDbname
3. ʹÓÃRemove_Duplicates Stage£¬¸ù¾ÝKey Colum£ºIdÈ¥³ýÖØ¸´ÐУ¬²¢Retain Last; ÔËÐеĽá¹ûÈçÏ£º
Id svBuildColum
----- ---------------------------------------------- 2 Rootpath $Workdate $EdsDbname 3 Rootpath $Workdate $AsdmDbname
4. Èç¹û°ÑsvBuildColumµÄÖµ·ÅÔÚ²»Í¬µÄ×Ö¶ÎÖУ¬Ê¹ÓÃField(NewCord, \£¬
Field(NewCord, \µÈµÈ£¬°ÑÖµ¸³¸øÃ¿¸öColm. ×îºó½á¹ûÈçÏ£º
Id Col1 Col2 Col3
2 Rootpath Workdate EdsDbname 3 Rootpath Workdate AsdmDbname 2.11 Oracle EE StageÔÚVIEWÊý¾Ýʱ³öÏֵĴíÎó¼°½â¾ö·½·¨
´íÎóÐÅÏ¢ÈçÏ£º
##I TOSH 000002 04:05:22(001)
>##E TOSH 000205 04:05:22(004)
>##E TOSH 000000 04:05:22(005)
>##E TOSH 000000 04:05:22(006)
>##E TCOS 000029 04:05:22(007)
½â¾ö·½·¨£º
running 7.5x2 EE on the Windows platform
1. cd to your C:\\Ascential\\DataStage\\PXEngine\\install
2. type sh
3. ORACLE_HOME=\ 4. export ORACLE_HOME
5. APT_ORCHHOME=\ 6. export APT_ORCHHOME 7. sh install.liborchoracle
Individual 2007-10 8 / 64
Dastage¾Ñé×ܽá
then you will see the message on the screen; Installing Oracle Drvie
Using C:/Your_Oracle_Client as ORACLE_HOME Installing drive for Oracle version 9i or 10g Oracel installation is complete.
Reboot the machine after above is done
2.12 DataStage SAP StageµÄʹÓÃ
¼û¸½¼þ£º
E:\\¸öÈËѧϰ\\DataStage SAP StageµÄ
2.13 Colum Import StageµÄʹÓÃ
½«Ò»¸ö×Ö¶ÎÖеÄÊý¾ÝÊä³öµ½¶à¸ö×Ö¶ÎÖÐ, Íê³É·Ö¸îµ¥¸ö×Ö¶ÎÊý¾Ýµ½¶à¸ö×ֶεÄÄ¿µÄ;
ÊäÈëÊý¾ÝӦΪ¶¨³¤»òÕßÓпÉÒÔ±»Ê¶±ðµÄ¿É·Ö¸îµÄ½çÏÞ£¬±ØÐëÊÇString»òÕßBinaryÀàÐ͵ģ¬Êä³öÊý¾Ý¿ÉÒÔÊÇÈκÎÊý¾ÝÀàÐÍ;
Individual 2007-10 9 / 64
Dastage¾Ñé×ܽá
×ֶηָîºó£º
Individual 2007-10 10 /
64
Dastage¾Ñé×ܽá
2.14 Colum Export StageµÄʹÓÃ
ÓëColumn Import StageÏà·´£¬½«¶à¸öÀàÐͲ»Í¬µÄ×ֶκϲ¢³ÉÒ»¸östring»òÕßbinaryÀàÐ͵Ä×Ö¶Î
Individual 2007-10 11 /
64
Dastage¾Ñé×ܽá
ºÏ²¢×ֶκó£º
2.15 Got ERROR: Cannot find any process number for stages in Job Jobname½â¾ö
µ±ÎÒÃÇÓÃDirectorÀ´ClearUp Resources »ò Clear Status File ʱºò£¬»á³öÏÖÉÏÃæµÄ´íÎóÌáʾ£» ÔÒòÊÇ£º
incorrect permissions settings.
Following correct settings were done to solve the problem: -rwsr-x--x 1 root dstage 1519616 Nov 13 2003 dsdlockd -rwsr-x--x 1 root dstage 1499136 Nov 13 2003 dslictool -rwsr-x--x 1 root dstage 3678208 Nov 13 2003 dstskup
Individual 2007-10 12 /
64
Dastage¾Ñé×ܽá
-rwsr-x--x 1 root dstage 1519616 Nov 13 2003 list_readu -rwsr-x--x 1 root dstage 1486848 Nov 13 2003 upduvtrans -rwsr-x--x 1 root dstage 53248 Nov 13 2003 uv
-rwsr-x--x 2 root dstage 3796992 Nov 13 2003 uvbackup -rwsr-x--x 1 root dstage 49152 Nov 13 2003 uvdls
-rwsr-x--x 2 root dstage 3796992 Nov 13 2003 uvrestore -rwsr-x--x 1 root dstage 16384 Nov 13 2003 uvsetacc
Settings for all the above was found to be incorrect. dsadm was the owner instead of root and also permissions were incorrect.
2.16 Unable to create RT_CONFIGnnn
Ôì³ÉÕâÖÖÎÊÌâµÄ×îÆÕ±éµÄÁ½¸öÔÒòÊÇ£º
Is the file system on which your project directory exists full£» Do you have write permission to your project directory
2.17 ²é¿´jobºÍclientµÄ¶ÔÓ¦µÄºǫ́½ø³Ì
$ps -fu dsadm
UID PID PPID C STIME TTY TIME CMD
dsadm 11779 11776 0 09:02:02 ? 0:14 phantom DSD.StageRun loadDataDayAg. loadupdIRCashIVDayAg.xfm 3 0/0
dsadm 1761 1760 2 08:56:27 ? 23:16 phantom DSD.RUN
Batch::MasterControlOrderDetail. 0 ParameterFile=/var/opt/dat ǰÕßÊÇJob stage thread£¬ºóÕßÊÇJob main thread
dsadm 29865 29863 0 Oct 25 ? 2:57 dsapi_slave 8 7 0 £¨User client database slave£©
2.18 Ç¿ÖÆÉ±ËÀDS½ø³Ì Cd $DSHOME/bin list_readu
ps ¨Cef | grep username
Individual 2007-10 13 /
64
Dastage¾Ñé×ܽá
2.19 ²é¿´Server EngineµÄ½ø³Ì
$netstat -a|grep uv or $netstat -a|grep dsrpc
*.uvrpc *.* 0 0 24576 0 LISTEN------Daemon listener ...... ...................ESTABLISHED------Clients attached
$ ipcs ------Shared memory usage
$ ps -ef |grep uni------Engine daemon
root 12970 1 0 Oct 09 ? 0:11 /opt/Ascential/DataStage/unishared/unirpc/unirpcd-----Engine daemon
2.20 ²é¿´Server Locks
$ cd `cat /.dshome` $ . ./dsenv
$ bin/uvsh------DSEngine command prompt ÉÏÃæµÄ²Ù×÷µÈͬÓÚDataStage
Adminitratot--->Projects(tab)--->Command(button) >DS.TOOLS
Individual 2007-10 14 /
64
Dastage¾Ñé×ܽá
Verb \ >LOGTO yourprojectname >DS.TOOLS
Which would you like? ( 1 - 6 ) ?5 Which would you like? ( 1 - 11 ) ?4 >LISTU----Users in DataStage
>LIST.READU----List lock table command ÉÏÃæ²Ù×÷µÈͬÓÚ$DSHOME/bin/list_readu >QUIT
ͬÑù£¬Ôڲ鿴job pid¼°locksÒ²¿ÉÒÔͨ¹ýdatastage director--->Jobs--->Clearup Resources 4,DataStage Filesystem Mount Points $ cd `cat /.dshome` $ df -k .
5,DataStage Engine Daemon $ cd /etc/rc2.d $ more S999ds.rc
2.21 ¹ØÓÚUNIXϵͳÏÂÎÞ·¨Æô¶¯·þÎñµÄ½â¾ö°ì·¨ ÔÚÕï¶ÏÆô¶¯Ê§°ÜµÄÔÒò֮ǰ£¬ÏÈ˵˵ÈçºÎÍ£Ö¹·þÎñ¡£
ÆôÍ£·þÎñµÄÃüÁî´ó¼Ò¶¼ÖªµÀ£¬Òª×¢ÒâµÄÊÇÍ£Ö¹·þÎñ֮ǰӦÏÈÈ·±£ÎÞclientÁ¬½Ó¡¢ÎÞ¶Ë¿ÚÁ¬½Ó:
1. ʹÓÃps -ef|grep ds ²é¿´clientÁ¬½ÓÇé¿ö£¬Èç¹û»¹ÓÐclientÁ¬½Ó£¬ÄãÓÖÎÞ·¨²éÕÒÊÇË,
¼±ÐèÖØÆô£¬¿ÉÒÔͨ¹ýdirector½«ËùÓеÄÁ¬½Ólog off
2. ʹÓÃnetstat -a|grep dsrpc ²é¿´ÍøÂ·Á¬½Ó×´¿ö£¬È·±£Ö»ÓÐlisten״̬ ÕâÑù£¬½«·þÎñÍ£Ö¹£¬»áºÜ˳ÀûµÄÖØÆô·þÎñ¡£
µ±Ö´ÐÐÍêÖØÆôÃüÁîºó£¬Ê¹ÓÃps -ef|grep dsrpcd ²é¿´·þÎñÊÇ·ñÆô¶¯£¬Èç¹û´Ë·þÎñûÓÐÆô¶¯£¬²é¿´£º
1. ps²é¿´ÓÐÎÞclientÁ¬½Ó£¬É±µô½ø³Ì¡£
2. netstat²é¿´ÍøÂçÇé¿ö£¬ÓÐÎÞFIN_WAIT_2 or CLOSE_WAITµÈµÄtcp״̬£¬Èç¹ûÓУ¬
ÔòʹÓÃndd ÃüÁîµ÷ÕûdatastageµÄ¶Ë¿ÚÁ¬½Ó£¬ ·½·¨ÈçÏ£¨Èçhp-unix£©£º
²éÕÒ½ø³ÌºÅ£ºndd -get /dev/tcp tcp_status |grep -e state -e FIN_WAIT_2 ¶Ï¿ªÁ¬½Ó£¬ÊͷŶ˿ڣºndd -set /dev/tcp tcp_discon 0x+½ø³ÌºÅ
Individual 2007-10 15 /
64
Dastage¾Ñé×ܽá
Èç¹ûÉÏÊöÇé¿ö¶¼ºËʵºó£¬ÈÔÆô¶¯Ê§°Ü
ÇëʹÓà \À´Æô¶¯·þÎñ£¬ÔÚ dsrpcd.log ÎļþÖп´µ½Æô¶¯ÈÕÖ¾ÐÅÏ¢£¬¸ù¾Ýʵ¼ÊÇé¿ö½â¾ö¡£
2.22 Locked by other user
Æô¶¯DataStag Director £¬Job---->Clearup Resources,ÔÚÕâ¸ö²Ù×÷´°¿ÚÖУ¬Ê×ÏÈÑ¡Ôñ´°¿Úϲ¿ \ÖеÄ\Äã¿ÉÒÔ¿´µ½´°¿ÚÏÔʾÁËËùÓÐlockµÄÐÅÏ¢£ºPID££££££Lock Type££££Item Id¡£ÔÚItem IdµÄÁбíÀïÕÒµ½ÄãÐèÒªÖØÐ´ò¿ªµÄjob/routineºÍÆä¶ÔÓ¦µÄPID££Öµ¡£È»ºóÑ¡ÔñÉϰ벿·Ö\ÖеÄ\All\Êó±êÑ¡ÖиղŲ鵽µÄPID£££¬È»ºóLogOut¡£ Èç¹û²»Ê¹ÓÃDiretor£¬Äã¿ÉÒÔÔÚDS administratorÖÐʹÓÃ\»òÕß\command£¬Í¬Ñù»áÁгöËùÓеÄlockÐÅÏ¢¡£That's Ok!
2.23 dataStage Job LogµÄ´¦Àí
ÈçºÎÔÚ²Ù×÷ϵͳ²ãÃæÉÏ£¬Ê¹ÓÃcommandµÄµ½job log£¿
ÔÚ²Ù×÷ϵͳÖÐÎÒÃÇ¿ÉÒÔʹÓÃengine(UNIX DSEngine)/bin ϵÄÃüÁ dsjob -log [-info | -warn]
dsjob -logsum [-type
dsjob -lognewest [-userid]
event type = INFO|WARNING|FATAL|REJECT|STARTED|RESET|BATCH
dsjob -logdetail [useid]
2.24 һЩBASICÓïÑÔÖд¦Àí×Ö·û´®µÄº¯Êý
Individual 2007-10 16 /
64
Dastage¾Ñé×ܽá
a
ʹÓÃðºÅ\£º\×÷Ϊ×Ö·û´®Á¬½ÓµÄ·ûºÅ¡£
ÀýÈ磺\µÈ¼ÛÓÚ×Ö·û´® \ ʹÓÃÖÐÀ¨ºÅ[ ]À´È¡³öij¸ö×Ö·û´®µÄ×Ó´®£¬ÆäÓï·¨ÈçÏ£º
expression [ [ start, ] length ]
ÀýÈ磺strA=\ÄÇôstrA[1,3]µÄÒâ˼¾ÍÊÇ´ÓÐòºÅΪ1µÄ×Ö·û¿ªÊ¼£¬Ò»¹²È¡³öÈý¸ö×Ö·û£¬Æä½á¹û¾ÍÊÇ\¡£BASICÓïÑÔÖÐÊý×é»òÕß×Ö·û´®µÄµÚÒ»¸öÔªËØµÄÐòºÅÊÇ1¡£
b
c
Count (string, substring)ÓÃÀ´¼ÆËã×Ö·û´®ÖеÄij¸ö×Ó´®³öÏֵĴÎÊý¡£
ÀýÈ磺¼ÆËã×Ö·û´®\ÖеÄ×Ó´®\³öÏֵĴÎÊý£¬arrCnt = Count(\\£¬ÄÇôarrCnt¾ÍµÈÓÚ2¡£
Len (string) ÓÃÀ´¼ÆËã×Ö·û´®Öаüº¬µÄ×Ö·ûµÄ¸öÊý¡£ ÀýÈ磺Len(\µÄÖµ¾ÍÊÇ3¡£
TRIMF (string) ÓÃÀ´É¾µô×Ö·û´®Êײ¿µÄ¿Õ¸ñ¡£ TRIMB (string) ÓÃÀ´É¾µô×Ö·û´®Î²²¿µÄ¿Õ¸ñ¡£ ÀýÈ磬×Ö·û´®strA=\£¬ÆäÊ×β¸÷Óжà¸ö¿Õ¸ñ¡£¾¹ýstrA= TRIMF (strA)ºÍstrA= TRIMB (strA)ÕâÑùµÄ´¦Àí¾Í¿ÉÒÔ³ýµô×Ö·û´®Ê×βµÄËùÓпոñÁË£¬Æä½á¹ûÊÇ\¡£ Index (string, substring, instance) ÓÃÀ´µÃµ½×Ö·û´®ÖеÄij¸ö×Ó´®µÄλÖá£ÆäÖÐinstance±íʾÕâ¸ö×Ó´®ÊÇÔÚÕû¸ö×Ö·û´®ÖÐÊǵڼ¸´Î³öÏÖ¡£
ÀýÈ磺×Ö·û´®Îª\£¬Òª¼ÆËã×Ó´®\µÚ¶þ´Î³öÏÖÔÚ×Ö·û´®ÖеÄλÖá£Index (\µÄ½á¹û¾ÍÊÇ5¡£
d
e
f
2.25 BASIC³ÌÐòÖÐʹÓõ½µÄһЩÓ﷨֪ʶ
(1). BASICÓïÑÔÓÐËÄÖÖ·ûºÅÓÃÀ´±ê¼Ç×¢ÊÍ£¬·Ö±ðÊÇREM£¬*£¬! £¬$*¡£ÀýÈ磬
*Initial. Validate the input parameters.
ÕâÒ»ÐÐÒÔ\ÐǺſªÍ·£¬¾Í±íʾÕâÒ»ÐÐÄÚÈÝÊdzÌÐòµÄ×¢ÊÍ¡£
(2). Ìõ¼þÅжÏÓï¾ä£¬ÆäÓï·¨½á¹¹ÈçÏ£º
If condition Then statements End
[Else statements End]
ÆäÖÐcondition¿ÉÒÔÊÇÒ»¸öÊý×Ö£¬Ò²¿ÉÒÔÊÇÒ»¸ö±È½Ï¹ØÏµÊ½¡£µ±Ìõ¼þÎªÕæÊ±£¬³ÌÐòÖ´ÐÐThenºóÃæµÄ±í´ïʽ£»µ±Ìõ¼þΪ¼Ùʱ£¬Ôò»áÖ´ÐÐElseºóÃæµÄ±í´ïʽ¡£ÔÚBasicÓïÑÔÖУ¬Âß¼¹ØÏµÔËËã·ûÊÇÕâÑùµÄ£º
? AND (»òÕß·ûºÅ &)£¬±íʾÂß¼ÓëµÄ¹ØÏµ¡£
Individual 2007-10 17 /
64
Dastage¾Ñé×ܽá
? ?
ÀýÈ磺
OR (»òÕß !)£¬±íʾÂß¼»òµÄ¹ØÏµ¡£ NOT£¬±íʾÂß¼·ÇµÄ¹ØÏµ¡£
If bitCount > arrCnt Then
Ans=\ Call DSLogWarn(Ans,\ GoTo ExitFunc End
ÓÉBitValueת»¯¶øÀ´µÄ¶þ½øÖÆÊýµÄλÊý´óÓÚ×Ó´®µÄ¸öÊýʱ£¬¾ÍÔÚÈÕÖ¾ÐÅÏ¢ÖиæËßÓû§BitValueµÄÖµºÍOriStrµÄÖµÊDz»¿ÉÄÜÒ»Ò»¶ÔÓ¦µÄ£¬ÊäÈëµÄÊý¾ÝÓдíÎó¡£
If BitValue >= 0 AND Count(BitValue, \ mask=Oconv(BitValue, \End Else
Ans=\ Call DSLogWarn(Ans,\ GoTo ExitFunc End
µ±ÊäÈë±äÁ¿BitValueµÄÖµ´óÓÚÁãÇÒ²»ÊÇСÊýµÄʱºò£¬¾Í°ÑËüת»¯Îª¶þ½øÖƵÄÊý£»·ñÔòΪÓû§Ìá³ö¾¯¸æÐÅÏ¢²¢ÇÒÀ뿪Õâ¸öº¯Êý¡£
(3). ʹÓÃBASIC×Ô´øµÄһЩ¹¦Äܺ¯Êý¡£
Oconv(expression, conversion)
ÆäÖÐexpression±íʾһ¸ö×Ö·û´®£¬conversionÔò±íʾÕâ¸ö×Ö·û´®µÄÊä³ö¸ñʽ¡£ Oconv(\µÄ¹¦ÄÜÊǰÑÊ®½øÖÆÊý\£¬×ª»¯Îª¶þ½øÖÆÊý\£»¶ø Oconv(\µÄ¹¦ÄÜÊǰÑÊ®½øÖÆÊý\µÄСÊýµã×óÒÆÒ»Î»£¬×ª»¯Îª\¡£ DSLogInfo (Message, CallingProgName)ºÍDSLogWarn (Message, CallingProgName) µÄ¹¦ÄÜÊ®·ÖÏàËÆ£¬¶¼ÊÇÔÚÖ´ÐÐServer JobµÄʱºò£¬ÊäÈëһЩ±ØÒªµÄÈÕÖ¾ÐÅÏ¢£¬°ïÖúÓû§Á˽â³ÌÐòµÄÖ´ÐÐÇé¿ö¡£ÆäÖÐMessageΪÊä³öµÄÈÕÖ¾ÐÅÏ¢µÄÄÚÈÝ£¬CallingProgName¾ÍÊǵ÷ÓÃÕâ¸öº¯ÊýµÄ³ÌÐòÃû¡£Çø±ðÔÚÓÚDSLogInfoÊä³öµÄ½ö½öÊÇÆÕͨµÄÈÕÖ¾ÐÅÏ¢£¬¶øDSLogWarnÔòÊÇÊä³öһЩ¾¯¸æµÄÐÅÏ¢¸øÓû§¡£
ÀýÈ磺
Ans=\Call DSLogWarn(Ans,\
Call DSLogInfo(\
(4). Á½ÖÖÑ»·Ìõ¼þÓï¾ä
a). For¡NextÓï¾ä£¬Æä»ù±¾Óï·¨ÈçÏ£º
For variable = start To end [Step increment] [loop.statements] Next [variable]
ÆäÖÐstart To end¶¨ÒåÁ˱äÁ¿±ä»¯µÄÇø¼ä£»¶øincrement¶¨ÒåÁËÿ´Î±äÁ¿Ôö¼ÓµÄÖµ£¬µ±startµÄÖµ´óÓÚendµÄÖµ£¬incrementµÄÖµ¿ÉÒÔÊǸºÊý¡£
For num = 1 To arrCnt - bitCount mask = \
Individual 2007-10 18 /
64
Dastage¾Ñé×ܽá
Next num
Èç¹û¶þ½øÖÆÊýµÄλÊýСÓÚ×Ó´®µÄ¸öÊý£¬ÔòÔÚ¶þ½øÖÆÊýmaskµÄÇ°Ãæ²¹ÉÏ\¡£±ÈÈ磬OriStrÖÐÓÐÈý¸ö×Ó´®\£¬BitValueµÄֵΪ2£¬°ÑÊ®½øÖƵÄÊý\ת»¯Îª¶þ½øÖƵÄÊý\¡£Õâʱ£¬¶þ½øÖÆÊýµÄλÊýСÓÚ×Ó´®µÄ¸öÊý£¬¾ÍÐèÒªÔÚ¶þ½øÖÆÊýÇ°Ãæ²¹ÉÏ\£¬Ê¹Æä±ä³É\²ÅÄܺÍÈý¸ö×Ó´®Ò»Ò»¶ÔÓ¦ÆðÀ´¡£
b). Loop¡RepeatÓï¾ä£¬Æä»ù±¾Óï·¨ÈçÏ£º
Loop
[statements]
[While | Until condition Do] [statements] Repeat
ÆäÖУ¬Loop¶¨ÒåÁËÑ»·µÄ¿ªÊ¼£¬Repeat¶¨ÒåÁËÑ»·µÄ½áÊø¡£
While condition Do µÄº¬ÒåÊÇ£¬µ±Ìõ¼þÎªÕæµÄʱºòÖ´ÐÐÑ»·ÌåÖеĴúÂë¡£µ±Ìõ¼þΪ¼ÙµÄʱºò£¬Í˳öÑ»·¡£ Until condition Do µÄº¬ÒåÕýºÃÏà·´£¬µ±Ìõ¼þΪ¼ÙµÄʱºòÖ´ÐÐÑ»·ÌåÖеĴúÂë¡£µ±Ìõ¼þÎªÕæµÄʱºòÔòÍ˳öÑ»·¡£ ÀýÈ磺
pos = 1 start = 1 Ans=\ Loop
While pos <= arrCnt Do
idx = Index(proStr,separator,pos)
If mask[pos,1] = \
subStr = proStr[start,idx - start]
subStr=trim(subStr)
*make sure every substring matches the specified pattern If subStr match \ Ans=Ans:\ End Else
Ans=\ Call DSLogWarn(Ans,\ GoTo ExitFunc End
End
start = idx+1 pos+=1
Individual 2007-10 19 /
64
Dastage¾Ñé×ܽá
Repeat
Õâ¶Î´úÂëµÄ¹¦ÄÜÊÇ´ÓÊäÈëµÄ×Ö·û´®ÖаÑÿһ¸ö×Ó´®·ÖÀë³öÀ´£¬È»ºóÅжÏÿһ¸ö×Ó´®¶ÔÓ¦µÄ¶þ½øÖÆÊýÖеÄÖµÊÇ·ñΪ\¡£Èç¹ûÆä¶ÔÓ¦µÄÊýÊÇ\£¬¾ÍÖ±½Ó½øÐÐÏÂÒ»¸öÑ»·È¥´¦ÀíÏÂÒ»¸ö×Ó´®¡£Èç¹ûÆä¶ÔÓ¦µÄÊýÊÇ\Ôò¼ÌÐøÅжÏÕâ¸ö×Ó´®ÊÇ·ñ·ûºÏÃüÃûµÄ¹æÔò£¬Èç¹û·ûºÏ¾Í°Ñ×Ó´®Ìí¼Óµ½Êä³ö×Ö·û´®ÖУ»Èç¹û²»·ûºÏ¹æÔò¾ÍÔÚÈÕÖ¾ÐÅÏ¢ÖÐÌáʾÓû§ÊäÈëµÄ×Ö·û´®ÓдíÎó£¬Ö®ºóÌø³öÑ»·¡£
ÔÚÑ»·Óï¾äÖпÉÒÔʹÓÃÁ½¸öÓÃÀ´¿ØÖÆÑ»·µÄ¹Ø¼ü×ÖContinueºÍExit£ºContinueÓÃÀ´½áÊø±¾´ÎÑ»·£¬½øÐÐÏÂÒ»´ÎÑ»·£»¶øExitµÄ¹¦ÄÜÊÇÍ˳öµ±Ç°Ñ»·¡£ (5). һЩBASICÓïÑÔÖд¦Àí×Ö·û´®µÄº¯Êý¡£
? ?
ʹÓÃðºÅ\£º\×÷Ϊ×Ö·û´®Á¬½ÓµÄ·ûºÅ¡£
ÀýÈ磺\µÈ¼ÛÓÚ×Ö·û´® \ ʹÓÃÖÐÀ¨ºÅ[ ]À´È¡³öij¸ö×Ö·û´®µÄ×Ó´®£¬ÆäÓï·¨ÈçÏ£º expression [ [ start, ] length ]
ÀýÈ磺strA=\ÄÇôstrA[1,3]µÄÒâ˼¾ÍÊÇ´ÓÐòºÅΪ1µÄ×Ö·û¿ªÊ¼£¬Ò»¹²È¡³öÈý¸ö×Ö·û£¬Æä½á¹û¾ÍÊÇ\¡£BASICÓïÑÔÖÐÊý×é»òÕß×Ö·û´®µÄµÚÒ»¸öÔªËØµÄÐòºÅÊÇ1¡£
? Count (string, substring)ÓÃÀ´¼ÆËã×Ö·û´®ÖеÄij¸ö×Ó´®³öÏֵĴÎÊý¡£
ÀýÈ磺¼ÆËã×Ö·û´®\ÖеÄ×Ó´®\³öÏֵĴÎÊý£¬arrCnt = Count(\£¬ÄÇôarrCnt¾ÍµÈÓÚ2¡£
? ?
Len (string) ÓÃÀ´¼ÆËã×Ö·û´®Öаüº¬µÄ×Ö·ûµÄ¸öÊý¡£ ÀýÈ磺Len(\µÄÖµ¾ÍÊÇ3¡£
TRIMF (string) ÓÃÀ´É¾µô×Ö·û´®Êײ¿µÄ¿Õ¸ñ¡£ TRIMB (string) ÓÃÀ´É¾µô×Ö·û´®Î²²¿µÄ¿Õ¸ñ¡£
ÀýÈ磬×Ö·û´®strA=\£¬ÆäÊ×β¸÷Óжà¸ö¿Õ¸ñ¡£¾¹ýstrA= TRIMF (strA)ºÍstrA= TRIMB (strA)ÕâÑùµÄ´¦Àí¾Í¿ÉÒÔ³ýµô×Ö·û´®Ê×βµÄËùÓпոñÁË£¬Æä½á¹ûÊÇ\¡£
? Index (string, substring, instance) ÓÃÀ´µÃµ½×Ö·û´®ÖеÄij¸ö×Ó´®µÄλÖá£ÆäÖÐinstance±íʾÕâ¸ö×Ó´®ÊÇÔÚÕû¸ö×Ö·û´®ÖÐÊǵڼ¸´Î³öÏÖ¡£
ÀýÈ磺×Ö·û´®Îª\£¬Òª¼ÆËã×Ó´®\µÚ¶þ´Î³öÏÖÔÚ×Ö·û´®ÖеÄλÖá£Index (\\µÄ½á¹û¾ÍÊÇ5¡£
(6). ¶ÁÕß¿´µ½´úÂëÖеÄÕâÒ»ÐÐsubStr match \£¬Ò²Ðí»á¾õµÃÃÔ»ó£¬ÏÂÃæ¾ÍÖØµã½²½âÒ»ÏÂBASICÓïÑÔÖеÄģʽƥÅ乿Ôò(Pattern Matching)¡£ ±í1. DataStage BASICÓïÑÔÖеÄģʽƥÅ乿Ôò ģʽÃû ¡ 0X nX 0A nA 0N nN 'string' ~ º¬Òå ÈÎÒâÀàÐÍÈÎÒâ¸öÊýµÄ×Ö·û ÈÎÒâÀàÐÍÈÎÒâ¸öÊýµÄ×Ö·û n¸öÈÎÒâÀàÐ͵Ä×Ö·û ÈÎÒâ¸öÊýµÄ×Öĸ n¸ö×Öĸ ÈÎÒâ¸öÊýµÄÊý×Ö n¸öÊý×Ö µ¥ÒýºÅ»òÕßË«ÒýºÅÖаüº¬µÄ¾ßÌå×Ö·û´® ²»Æ¥ÅäijÖÖģʽ Individual 2007-10 20 /
64
Dastage¾Ñé×ܽá
\ģʽ¾ÍÊÇÏÞÖÆ×Ö·û´®Ö»Äܰüº¬°Ë¸ö×Ö·û£¬²¢ÇÒǰÎå¸ö×Ö·û±ØÐëÊÇ×Öĸ£¬µÚÁù¸ö×Ö·ûÊÇÏ»®Ïß\£¬×îºóÁ½¸ö×Ö·û±ØÐëÊÇÊý×Ö¡£×Ö·û´®\ÄÜÆ¥ÅäÉÏÕâÖÖģʽ£¬¶ø×Ö·û´®\»òÕß\¶¼²»Âú×ãÕâÖÖ¸ñʽҪÇó¡£
Èç¹û¹æÔò±ä³É\£¬Õâ¸öģʽ¾ÍÊÇÏÞÖÆ×Ö·û´®µÄǰÎå¸ö×Ö·û±ØÐëÊÇ×Öĸ£¬µÚÁù¸ö×Ö·ûÊÇÏ»®Ïß\£¬¶ø×îºóÁ½¸ö×Ö·û±ØÐëÊÇ·ÇÊý×ÖµÄ×Ö·û£¬ÀýÈ磺\ÄܺÍÕâ¸ö¹æÔòÆ¥ÅäÉÏ¡£Õâʱ£¬×Ö·û´®\²»ÔÙ·ûºÏйæÔòµÄÒªÇó£¬×Ö·û´®\Ò²²»ÄÜÂú×ãÒªÇó¡£
(7)£®¶Ô±àдºÃµÄ´úÂë½øÐбàÒë¡£Óû§Ö»ÐèÒªµã»÷ͼ8ÖеıàÒë(Compile)°´Å¥¼´¿É£¬±àÒëµÄ½á¹û³öÏÖÔÚNew Server Routine±à¼´°¿ÚÖÐCode±êÇ©Ò³ÃæµÄϲ¿ÇøÓòÄÚ¡£Ê¹ÓñàÒëÆ÷¶Ô³ÌÐò½øÐбàÒë²»½ö¿ÉÒÔ°ïÖúÓû§¼ì²é³ÌÐòÖÐDZÔÚµÄÓï·¨´íÎ󣬸üÖØÒªµÄÊÇ£¬±àÒë³É¹¦ºóµÄÔ´´úÂ뽫ת»¯Îª¿ÉÖ´ÐеĶÔÏó´úÂë(object code)¡£
3 DSÖг£¼ûÎÊÌâ¼Ç¼
3.1 ȨÏÞ¹ÜÀíÎÊÌâ
DATASTAGE¿ª·¢È¨ÏÞÉÏ´¦Àí£¬·ÇDSTAGE×éÓû§ÎÞ·¨µÇ½DS£¬Èç¹û½«Æä·ÅÈëDSTAGE×飬ÓÉÓÚDSÊǸù¾Ý×éÀ´¿ØÖÆÈ¨ÏÞËùÒÔ»áÔì³É¿ÉÒÔ·ÃÎÊÆäËûproject¡£ÈçºÎ´¦Àí·ÇDSTAGE×éµÄÓû§ÊÚȨ£¬ÈÃÆäÖ»·ÃÎÊ×Ô¼ºµÄproject £¿ ´ð£º
ÏȽ¨Á¢Ò»¸ö×飬ÔÚ½¨Á¢Ò»¸öuser,½«¸ÃÓû§·ÅÔÚ¸Ã×éÖУ¬È»ºó¸ø../Ascential/DataStageĿ¼ÏµÄDSEngineºÍPXEngine.751.1¡¢PXEngine.751.2¡¢PXEngine¡¢DSParallel¡¢ScratchĿ¼°üÀ¨Æä×ÓĿ¼¸³£·£·£·È¨ÏÞ£¬ÊÕ»ØprojectĿ¼ÏÂµÄÆäËûÏîÄ¿µÄ¿É¶ÁȨÏÞ¡£¼ÙÉè¸ÃÓû§Ö»ÄÜ·ÃÎÊtrainingÕâÏîÄ¿£¬ÄÇô¸ø¸ÃÏîÄ¿¸³¿É¶ÁдȨÏÞ¡£
Ìí¼ÓdatastageÓû§£º ½øÈësmit 3.2 job may be being monitored»òÕßÊÇcleanupÎÊÌâ
ÔÚdatastageÖÐÓÐÒ»¸öjobÃûΪN_Cv_DataStore_TT_PART_LEND_ITEMºÍN_Cv_ServiceLink_TT_SGM_PT_ADVANCERATE²»¿ÉÒÔ±àÒ룬±¨job may be being monitored,µ«ÊÇÕÒ²»µ½Èκνø³ÌÔÚµ÷ÓøÃjob. ´ð£º
ÔÚDirectorÖÐÑ¡ÖиÃJob£¬µ½²Ëµ¥ÖÐÑ¡ÔñJob--Clear Status File¼´¿É½â¾ö¡£
3.3 ɾ³ýÎļþµÄÎÊÌâ
»áÓÐÒªÊÖ¶¯ÇåÀíÈÕ־״̬ÎļþµÄÇé¿ö³öÏÖ
Cannot get exclusive access to executable file for job I_Cv_DOL_TM_ORG_TYPE - job may be being monitored. Ôõô½â¾ö£¿ ´ð£º
Individual 2007-10 21 /
64
Dastage¾Ñé×ܽá
Èç¹ûÇå³ý²»³É¹¦£¬¿ÉÒÔʹÓøü¸ßȨÏÞµÄÓû§½øÐÐÇå³ý¡£
3.4 sequenceµ÷¶È³öÏֵĴíÎóÎÊÌâ
ÊÖ¶¯±àÒëÏà¹ØJOBºó£¬ÓеÄJOBµÄʧ°ÜÒòΪÏÂÃæÕâ¸ö´íÎó¡£ GC job ÏÔʾFINISH µ«SC JOBÏÔʾ finish(see log) ÀïÃæµÄ´íÎóÌáʾÊÇ£º
I_Ss_Source_DOL..JobControl (fatal error from @Coordinator): Sequence job will abort due to previous
unrecoverable errors¡£
a. CNTR_WDolTmOrgTypeCif,0: Unable to run job - -2. ´ð£º
ÊÇÓÉÓÚϵͳ×ÊÔ´²»¹»ÒýÆð£¬½¨Òé¼õÉÙ²¢ÐÐÔËÐеÄjob¸öÊý ¡£
3.17 ×Ö·û¼¯ÎÊÌâ
DataStageÈ«¾Ö×Ö·û¼¯ÉèΪUTF-8£¬³éÈ¡Oracle GB2312×Ö·û¼¯µÄÊý¾ÝÔ´¡¢SQL Server GB2312×Ö·û¼¯µÄÊý¾ÝÔ´¼°GB2312×Ö·û¼¯µÄCSV¸ñʽÎı¾ÎļþʱÎÞ·¨Õý³£´¦Àí £¿ ´ð£º
²ÉÓÃGBK×Ö·û¼¯ ¡£ 3.18 VersionControlµÄÎÊÌâ
½«¿ÉÒÔÕý³£ÔËÐеÄJOBÌá½»µ½VersionControlºó£¬ÔÙ´ÓVersionControlÌá½»µ½167ÉÏÔËÐУ¬³ÌÐò±¨NLS Mapping errorµÄWarning,ÖÐÎÄ×Ö·û»á±äΪÂÒÂë¡£ ÀýÈ磺167ÉϵÄJOB N_Tr_EDS_TI_SWA_CLAIMS_ORIGIN_02
167ÉϵŤ³ÌSGMEDWÓë¶ÔÓ¦µÄVersionControl¹¤³ÌVERSION_EDSµÄNLS¶¼ÒѾÉèÖóÉÒ»Ö¡£
ERROR LOG:
N_Tr_EDS_TI_SWA_CLAIMS_ORIGIN_02.0.CNTR_WEdsTiSwaClaimsOriginLdf.SF_TI_SWA_CLAIMS_ORIGIN_LDF.LK01: nls_map_buffer_out() - NLS mapping error, row 1 (approx), row = \\\\\\ \
\ 0. 0.00 8.070200000 0.00 \\\\\\\\\\CHANGE OIL\\ 00000000. 00000000. \\ 00006476. 00010416. 0.00 0.00 \\91.19 735.93 \´ð£º
Á½Õß°æ±¾²»Ò»ÖÂÔì³ÉµÄ£¬¿ª·¢»úÆ÷ÉÏDATASTAGE°æ±¾Îª7.5.1AÉý¼¶µ½7.5.2°æ±¾¾ÍûÎÊÌâÁË¡£
Individual 2007-10 22 /
64
Dastage¾Ñé×ܽá
3.19 sequenceµ÷²»ÆðJOBµÄÎÊÌâ
Sequence Job µ÷²»ÆðÏà¹ØµÄ JOB
´íÎóÌáʾ£º I_Ss_Source_Fo08..JobControl (@Fo08_TM_VEHICLE_PRODUCT): Controller problem: Error calling DSRunJob(I_Gc_Fo08_TM_VEHICLE_PRODUCT), code=-99 [General repository interface 'other error'] ´ð£º
´¦Àí·½·¨£º±àÒëÖØÅÜ ¡£
3.20 sequenceµ÷¶Èʧ°ÜµÄÎÊÌâ
Sequence Job ×Ô¶¯Ê§°Ü
´íÎóÌáʾÈçÏ£º Job control process (pid 835698) has failed ´¦Àí·½·¨£º±àÒëÖØÅÜ
3.21 ÓÃstageµ÷Óô洢¹ý³ÌÔËÐÐʧ°ÜµÄÎÊÌâ
ÎÊÌâÃèÊö£º×î³õÓÃetlmainÕʺÅÔÚÊý¾Ý¿âÖд´½¨ÁËÒ»¸ö´æ´¢¹ý³Ì£¬È»ºóÓÃstageÀ´µ÷ÓúÜÕý³££»ºóÀ´etlmainÕâ¸öÕʺű»É¾³ýµôÁË£¬È»ºóÔÚÓÃÆäËûÕʺÅÀ´µ÷ÓÃÕâ¸ö´æ´¢¹ý³ÌµÄʱºò¾Í±¨ÈçϽØÍ¼ÉϵĴíÎó(¾¡¹ÜÆäËûÕʺŶÔÕâ¸ö´æ´¢¹ý³ÌÓµÓеÄȨÏÞºÍetlmainÒ»Ñù)£¡
Individual 2007-10 23 /
64
Dastage¾Ñé×ܽá
½â¾ö·½·¨£º
Óõ±Ç°´æÔÚµÄÕʺÅÖØÐ±àÒëetlmain´´½¨µÄÏà¹Ø´æ´¢¹ý³Ì(Ëùν±àÒëÆäʵ¾ÍÊÇɾ³ýÖØ½¨)£¬È»ºóÔÙµ÷ÓþÍûÓÐÎÊÌâÁË¡£½¨ÒéÔÚ´´½¨´æ´¢¹ý³ÌµÄʱºòÓø߼¶±ðÕʺÅÈ¥´´½¨£¬ÀýÈçrootÕʺţ¬ÒòΪ´æ´¢¹ý³ÌµÄÊôÖ÷ÕʺÅÒ»µ©±»É¾³ý£¬ÄÇô´æ´¢¹ý³ÌÒ²¾ÍÐèÒªÖØ½¨ÁË£¡ 3.22 DS·¢ËÍÓʼþµÄÅäÖÃÎÊÌâ
DSÖз¢ËÍÓʼþÐèÒª×öÄÄЩÅäÖã¿ ´ð£º
DataStage·¢ËÍÓʼþµÄ»úÖÆÔÚwindowsƽ̨ºÍUnixƽ̨ÊDz»ÏàͬµÄ¡£
ÔÚwindowsƽ̨£¬datastageÄÚÖÃÁËÒ»¸öС³ÌÐò½Ðdssmtpmail.exe,ͨ¹ý´Ë³ÌÐò¿ÉÒÔ·¢ËÍÓʼþ¡£ ÔÚUNIXƽ̨DataStageͨ¹ýµ÷ÓÃ/usr/lib/sendmailÀ´·¢ËÍÓʼþ¡£
½â¾ö·½·¨£ºÐ轫SGMµÄSMTP·þÎñÆ÷µØÖ·¼ÓÈëETLµÄ·þÎñÆ÷µÄSMTPµØÖ·ÁбíÖÐ
ÀýÈç,ÔÚAIX»·¾³ÖеÄÅäÖÃÈçÏ£º DataStage ·¢ÓʼþÉèÖÃ
/etc/mail/ sendmail.cf ²ÎÊý
Individual 2007-10 24 /
64
Dastage¾Ñé×ܽá
DSsmtp:[210.75.71.180] dssendmail_template.txt
* On UNIX to run sendmail, the template looks like this (doesn't require a
/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
½â¾ö·½·¨£º
ĿǰÐÞ¸ÄÁËÒÔϲÎÊý£¬Á¬ÐøÁ½Ììδ·¢ÏÖËæ»ú´íÎó£º
1.APT_MONITOR_SIZE to 100000 and APT_MONITOR_TIME to 5 2.¿ÉÄÜÊÇÒòΪÔÚParallel JobÖÐʹÓÃÁËServer Share Containerµ¼Öµģ¬ ´ò¿ªProject Property
È·±£ÒѾѡÔñEnable row buffer,²¢ÇÒÑ¡ÔñInter process ×îÖÕÈ·ÈϵÄÔÒò£º
1.Default.appÉèÖõIJ¢ÐнڵãÊýΪ4£¬ÄǶÔÓÚÒ»¸öStage¾Í»áÆð4¸ö½ø³Ì£¬stage¹ý¶à»áµ¼ÖÂ×ÊÔ´ºÄ¾¡ ½â¾ö·½°¸£º
1.¾¡Á¿½µµÍ²¢·¢¶È
2.Ê×ÏȲÉÓÃ1¸ö½ÚµãÔËÐУ¬´ýÎȶ¨ºóÖð²½Ôö¼Ó½ÚµãÊý£¬Ò²¿É¶Ô¸´ÔÓJOB½øÐÐ 3.24 DSÖеÄÈÕÆÚÎÊÌâ
ÔÚDatastage7.5.1AÖУ¬ÈÕÆÚ³éÈ¡ÎÊÌ⣬ÀýÈ磬ʱ¼äÎÊÌ⣬'2006-04-12'µÈÈÕÆÚÔÚdatastageÖбäΪ '2006-04-11' ´ð£º
ÎÊÌâÔÒò£º
dsenv µÄTZÉèÖò»ÄÜʹÓñðÃûBEIST£¬È±Ê¡ÖµÎªGMT0Õâ±íʾ¸ñÁÖ±ê׼ʱ¼ä ½â¾ö·½·¨£º
Datastage dsenv²ÎÊýTZ=\GMT-8±íʾµÄ¾ÍÊDZ±¾©Ê±¼ä
Individual 2007-10 25 /
64
Dastage¾Ñé×ܽá
3.25 DSÁ¬½ÓoracleÎÊÌâ
DATASTAGE +oracle 10g ¿Í»§¶ËÁ¬½Ówindowsƽ̨ÏÂoracle 10GÊý¾Ý¿âʧ°Ü£¬±¨plug_in³õʼ»¯Ê§°Ü¡£ ´ð£º
ÔÒò£ºÎ´½«ETLÕË»§¼ÓÈëµ½DBAȨÏÞ×éÖС£¼ÓÈëÒÔºó¾Í½â¾öÁË¡£
3.26 ÔÚSequence File StageÖеĿÕÖµ´¦ÀíÎÊÌâ
ÔÚʹÓÃSequence File Stage, ,¸øCHARÐ͵ȹ̶¨³¤¶ÈµÄ×ֶθ³¿Õֵʱ»á±¨´í ¡£
ÀýÈçÔÚÍùÒ»¸ö¿ÉÒÔΪNULL²¢ÇÒÀàÐÍÊÇCHAR(20)µÄ×Ö¶ÎFI_CARLINE ÖÐдNULLÊý¾Ýʱ»á±¨ÈçÏÂÐÅÏ¢£º
Sequential_File_8: When checking operator: When validating export schema: At field \µ«ÊÇÈç¹ûÊÇvarcharÀàÐ͵ľÍûÓÐÎÊÌâ¡£ ½â¾ö·½·¨£º
ÔÚDataStage AdministratorÖеÄÕâ¸öProjectµÄUser DefinedÖÐÌí¼ÓÒ»¸ö²ÎÊýAPT_IMPEXP_ALLOW_ZERO_LENGTH_FIXED_NULL ÀàÐÍΪstring²¢ÇÒÖµÉèΪ0 ¾Í¿ÉÒÔÁË¡£¡¾×¢Ò⣺ÊÇÊý×ÖÖеÄ0¡¿
3.27 ÔÚDSÖÐʹÓÃOracle Enterprise Stage±ØÐëµÄȨÏÞ Oracle Enterprise Stage±ØÐëÓÐÒÔÏÂȨÏÞ²ÅÄÜʹÓà 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ÀàÐÍת±ä³ÉÕûÐ͵ķ½·¨
ÔÚdatastageÖУ¬´ÓcharÀàÐͱä³ÉÕûÐÍÓÿÉÒÔstringToDecimalÕâ¸öº¯Êý£¬²»ÄÜÓÃAsInteger£¬¸ü²»ÄÜÖ±½Óת ¡£
ÔÚ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ÊDZíʾÐèÒª´¦ÀíµÄ×Ö¶Î,×¢ÒâºóÃæÒªÓøö±ðÃû£¡
Individual 2007-10 26 /
64
Dastage¾Ñé×ܽá
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µÄλÖã¬Òª²ú¿´Ä³¸öprojectµÄJOBÐÅÏ¢¾Í½øµ½ÏàÓ¦µÄ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¡¯¡± ¶¼¿ÉÒÔʵÏÖ²éѯ¡£ÈçÏÂͼËùʾ£º
3.30 DatastageºÍÊý¾Ý¿âµÄÁ¬½Ó·½·¨
DatastageºÍÊý¾Ý¿âÓÐÁ½ÖÖ·½·¨Á¬½Ó£º
Ò»ÖÖÊÇͨ¹ýODBCÁ¬½Ó£¬Õâ¸ö¿ÉÒԲ鿴.odbc.iniÎļþÀï²é¿´ ÁíÒ»ÖÖ·½·¨ÊÇͨ¹ý¿Í»§¶ËÁ¬½Ó£¬¾ÍÏóÊÇoracleµÄtnsnames.oraÎļþ»¹ÓÐdb2µÄdirectoryÒ»Ñù¡£ ´Óºǫ́²é¿´·þÎñÆ÷ÅäÖÃÁËÄÄЩdb2¿Í»§¶ËÓÃdb2 list db directory 3.31 ÔÚdatastageÖÐʹÓû·¾³±äÁ¿µÄÎÊÌâ
ÔÚdatastageÖÐÈç¹ûÓõ½ÁË»·¾³±äÁ¿µÄ»°£¬ÄÇôÕâ¸ö»·¾³±äÁ¿Ò»¶¨Ò²ÒªÔÚ/$dshome/dsenv ÖÐÅäÖÃһϣ¬È»ºóÖØÆôdatastage·þÎñÆ÷ÒÔºó ²Å»áÉúЧ£¡
ÀýÈ磺ÔÚdsadmÓû§Ï嵀 .profile ÎļþÖÐÅäÖÃÁËÒ»¸ö»·¾³±äÁ¿ export ETLPATH=/SGMEDWETL/dsdata/projects ÄÇôͬÑùÎÒÃÇÒ²ÒªÔÚ/$dshome/dsenv ÖÐÅäÖÃһϠexport ETLPATH=/SGMEDWETL/dsdata/projects
Individual 2007-10 27 /
64
Dastage¾Ñé×ܽá
ÎÞÂÛÊÇÔÚdatastage µÄroutines ÖÐÓõ½Õâ¸ö»·¾³±äÁ¿»¹ÊÇÓÃÒ»¸östageµ÷ÓÃshell³ÌÐò¶¼ÒªÕâÑù×ö£¬Ö»ÒªÊÇͨ¹ýdatastage À´Óõ½Õâ¸ö»·¾³±äÁ¿£¬ÄÇô¶¼ÒªÔÚÁ½¸öÎļþÖÐÅäÖã¡
3.32 IConv ºÍ OConv
IConv ½«Ò»¸ö×Ö·ûÐ͵ÄÈÕÆÚת»»³ÉÒ»¸ö¹ú¼ÊÊý×Ö£¬ÊÇÌìÊý £» OConv ½«Ò»¸öÈÕÆÚµÄ¡®ÌìÊý¡¯×ª»»³ÉÒ»¸ö¾ßÓиñʽµÄ×Ö·û´®£» ÀýÈ磺 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\\'' ±¾ÉíÓ¦¸ÃÊÇ¡®SGM¡¯
×¢Ò⣺ÓÃÀ´ÅжÏÊÇ·ñÆ¥ÅäµÄ×Ö¶ÎÖµ²»ÄÜΪNULL£¬Èç¹ûÓÐΪNULLµÄ¿ÉÒÔÓÃһϷ½·¨À´Ì滻һϣº ÀýÈ磺
Èô×Ö¶ÎÊÇ×Ö·ûÐεģºcoalesce(ah.STORAGE_CODE,'\\'1\\'')=coalesce(sh.STORAGE_CODE,'\\'1\\'') Èô×Ö¶ÎÊÇÊý×ÖÐεģºVALUS£¨ah.STORAGE_CODE,1£©£½VALUS£¨sh.STORAGE_CODE,1£©
×¢ÊÍ: ÈçºÎ°ÑË«ÒýºÅ°üº¬µ½echoÃüÁîµÄ×Ö·û´®ÖÐ,ÒýºÅÊÇÒ»¸öÌØÊâ×Ö·û,ËùÒÔ±ØÐëҪʹÓ÷´Ð±¸Ü \\ À´Ê¹shell
ºöÂÔËüµÄÌØÊ⺬Òå!ÀýÈçÄãÏ£ÍûÊä³ö×Ö·û´®: \ÄÇôֻÐèÒªÔÚÒýºÅÇ°Ãæ¼ÓÉÏ·´Ð±¸Ü \\ ¾Í¿ÉÒÔÁË
echo \ \
4 ²¿·Ö³£ÓÃStage µÄʹÓÃ˵Ã÷
StageÃû³Æ Transformer ˵Ã÷ ¶ÔÈκÎÐèҪת»»µÄÊäÈëµÄÊý¾Ý¼¯ºÏ½øÐÐת»»,²¢½«Êý¾Ý´«Êäµ½ÆäËû»î¶¯µÄStage ÖлòÒ»¸ö½«Êý¾ÝдÈëÊý¾Ý¿â»òÎļþµÄStage ÓÃÀ´²¢ÐÐÖ´Ðиü¸´ÔÓµÄÅÅÐò²Ù×÷ Individual 2007-10 28 /
Sort 64
Dastage¾Ñé×ܽá
Merge Join ½«Ò»¸ö»ò¶à¸öÅÅÐòµÄ¸üÐÂÊý¾Ý¼¯ºÏºÏ²¢³ÉÒ»¸öÅÅÐòµÄÖ÷Êý¾Ý¼¯ºÏ ÔÚÒ»¸ö»ò¶à¸öÊäÈëÊý¾Ý¼¯ºÏÉÏÖ´ÐÐÁ¬½Ó²Ù×÷²¢Êä³öÒ»¸ö½á¹ûÊý¾Ý¼¯,Á¬½Ó²Ù×÷Ö§³Ö:Inner, Left Outer, Right Outer ºÍ Full Outer Join ¶ÔÓÚÊäÈëµÄÊý¾Ý¼Ç¼½øÐзÖ×é²¢ÇÒ¼ÆËãÿһ×éµÄºÏ¼ÆºÍ×Ü¼Æ ¶Ô¶à¸ö±í½øÐÐ×óÍâÁ¬½Ó²Ù×÷ °Ñ¶à¸öÊý¾Ý¼¯ºÏ²¢³ÉÒ»¸ö´óµÄÊý¾Ý¼¯,ÇÒ±í½á¹¹ÒªÏàͬ ɾ³ýÖØ¸´µÄ¼Ç¼ »ùÓÚÓû§Ö¸¶¨µÄÔ¼Êø(¡°where ×Ó¾ä),½«ÊäÈëÊý¾Ýת»»µ½²»Í¬µÄÊä³öÊý¾Ý¼¯(Link),¶ÔÓÚ¹ýÂ˼ǼÊǷdz£ÓÐЧµÄ Ï൱ÓÚCÓïÑÔÖÐSwitch¹¦ÄÜ,ͨ¹ýselectorÀ´Ñ¡¶¨×Ö¶Î,caseÀ´Ö¸¶¨Öµ,×î¶à128¸öoutput, 1¸öreject link ¿½±´Ò»¸öÊäÈëÊý¾Ý¼¯µ½¶à¸öÊä³öÊý¾Ý¼¯;¶øÇÒ²»ÐèÒªÐÞ¸Ä ×¥È¡Á½¸öÊäÈëÊý¾Ý¼¯£¬±íÏÖΪǰºÍºó£¬²¢ÇÒ»ñÈ¡ºóÃæµÄÊý¾Ý·Êä³öÒ»¸ö¼Ç¼±íÏÖÒѾ¸Ä±äµÄÊý¾Ý¼¯. ÐÐÁл¥»» ½«¼Ç¼×Ö¶ÎÖµÏÔʾµ½×÷ÒµÈÕÖ¾»ò·Ö¿ªµÄoutput link,¾ÍÏóCopy Stage½«ÊäÈëµÄÊý¾Ý¿½±´µ½Ò»¸ö»ò¶à¸öÊä³öÊý¾Ý¼¯. IBM DB2 UDB ·ÃÎÊ ? ´ÓÊý¾Ý¿â¶ÁÈ¡Êý¾Ý»ò½«Êý¾ÝдÈëDB2Êý¾Ý¿â ? ˳ÐòÖ´Ðлò²¢ÐÐÖ´ÐÐ ? Ö§³ÖDB2µÄHASH·ÖÇø ? Ö§³ÖWRITE,UPSERTºÍLOADµÄд·½·¨ ? Ö§³Ö±í,×Ô¶¯²úÉúSQLºÍÓû§¶¨ÒåSQL¶Á·½·¨ OracleÊý¾Ý¿â·ÃÎÊ ? ´ÓORACLEÊý¾Ý¿â¶ÁÈ¡Êý¾Ý»ò½«Êý¾ÝдÈëÊý¾Ý¿â ? ˳ÐòÖ´Ðлò²¢ÐÐÖ´ÐÐ ? Ö§³ÖLOADºÍUPSERTд·½·¨ ? Ö§³ÖTABLEºÍQUERY¶Á·½·¨ TeradataÊý¾Ý¿â·ÃÎÊ ? ´ÓTERADATAÊý¾Ý¿â¶ÁÈ¡Êý¾ÝºÍ½«Êý¾ÝдÈëÊý¾Ý¿â ? FastExport: Table, Auto-generated SQL, User-generater SQL ? FastLoad: Create, Append, Replace, Truncate ? ˳ÐòÖ´ÐкͲ¢ÐÐÖ´ÐÐ ? Ö§³ÖTUF6.1, TTU7.0 Informix XPS Êý¾Ý¿â·ÃÎÊ ? ´ÓINFORMIX XPSÊý¾Ý¿â¶ÁÈ¡Êý¾Ý»ò½«Êý¾ÝдÈëÊý¾Ý¿â Individual 2007-10 29 / Aggregator Lookup Funnel Remove Duplicates Filter Switch Copy Change Capture Pivot Peek Surrogate_Key_Generator ÓÃÓÚ²úÉúÒ»¸ö´úÀí¼ü DB2 Oracle Teradata Informix XPS 64
Dastage¾Ñé×ܽá
? ˳ÐòÖ´Ðлò²¢ÐÐÖ´ÐÐ ODBC ʹÓÃODBC ·ÃÎÊÊý¾Ý¿â 5 dsjob Ó﷨˵Ã÷:
µÇ½DataStage·þÎñÆ÷,ÊäÈë:cd $DSHOME/bin;ÔÚÊäÈëdsjob »Ø³µ,½øÈëdsjobÃüÁî;
Command Syntax:
dsjob [-file
Valid primary command options are: -run -stop -lprojects -ljobs
-linvocations -lstages -llinks
-projectinfo -jobinfo -stageinfo -linkinfo -lparams -paraminfo -log -logsum -logdetail -lognewest -report -jobid -import ÃüÁî˵Ã÷ Óï·¨ ÃüÁî -run -stop -lprojects -ljobs -lstages -llinks 64
ÔËÐÐJOB,Ò²¿É»ñµÃJOBSTATUS Í£Ö¹JOBÔËÐÐ ÏÔʾ·þÎñÆ÷ÉϵÄËùÓй¤³ÌÃû ÏÔʾһ¸ö¹¤³ÌÉϵÄËùÓÐJOBÃû ÏÔʾһ¸öJOBÖÐËùÓеÄstageÃû ÏÔʾһ¸östageÖк¬ÓеÄLINKÃû dsjob ¨Crun
ÈçºÎ´ÓDataStage·þÎñÆ÷µ¼³öËù¿ª·¢µÄJOBSÁбí
²½ÖèÈçÏ£º
1. µÇ½DataStage·þÎñÆ÷,ÊäÈëµÇ½ÕÊ»§,½øÈëϵͳ;
Individual 2007-10 31 /
64
Dastage¾Ñé×ܽá
2. ÊäÈëÃüÁî: cd $DSHOME,½øÈëDSEngineÒýÇæ;
3. ÊäÈëcd bin,½øÈëbinĿ¼
Individual 2007-10 32 /
64
Dastage¾Ñé×ܽá
4. ÊäÈëdsjob,½øÈëdsjobÃüÁî°ïÖú
Individual 2007-10 33 /
64
Dastage¾Ñé×ܽá
5. ÊäÈëdsjob -ljobs SGMDM05 > /SGMEDWETL/tmp/hf_jobs,°ÑPROJECTΪ
SGMDM05ϵÄJOB·Åµ½Ä¿Â¼/SGMEDWETL/tmpϵÄhf_jobsÎļþÀï;
Status code = 0?±íʾµ¼³ö³É¹¦
ÊäÈëcd /SGMEDWETL/tmp,½øÈë¸ÃĿ¼,ÓÃÃüÁîmore hf_jobs,²é¿´µ¼³öµÄJOBS
Individual 2007-10 34 /
64
Dastage¾Ñé×ܽá
Èç¹ûÏë°Ñ·þÎñÆ÷µÄhf_jobsµ¼µ½±¾µØ»úÆ÷ÉÏ,¿ÉÒÔʹÓÃFTPµ½±¾µØ,Ò²¿ÉÒÔʹÓõÚÈý·½¹¤¾ßÈç: filezilla.
7 ²é¿´µ±Ç°·þÎñÆ÷״̬ÐÅÏ¢µÄ·½·¨:
1. cd $DSHOME/bin 2. uv ¨Cadmin ¨Cinfo ÈçÏÂͼ£º
8 ÈçºÎÔÚÁ½Ì¨»úÆ÷Ö®¼ä½øÐÐFTPÎļþ
¼ÙÉè°Ñ»úÆ÷167ÉϵÄÎļþ/SGMEDWETL/tmp/hf_jobs FTP µ½»úÆ÷33ÉÏ.
1. µÇ½µ½33»úÆ÷, ÊäÈëÃüÁî:ftp 210.75.71.167, ½øÈë167»úÆ÷,ÊäÈë167µÄµÇ½ÕÊ»§½ø
Èë167ϵͳ;
Individual 2007-10 35 /
64
Dastage¾Ñé×ܽá
2. ÊäÈëtype binary,ÉèÖô«ÊäʱËùÓõÄ×Ö·û¼¯,binary±íʾ¶þ½øÖÆ
3. ÊäÈëÃüÁî:get /SGMEDWETL/tmp/hf_jobs /SGMEDWETL/tmp/hf_jobs_ftp,
Individual 2007-10 36 /
64
Dastage¾Ñé×ܽá
/SGMEDWETL/tmp/hf_jobs ±íʾremotefile; /SGMEDWETL/tmp/hf_jobs_ftp ±íʾlocalfile 4. ÊäÈëquitÍ˳öFTP.
9 ÈçºÎ»ñµÃJobstatus ,²½ÖèÈçÏÂ:
1. µÇ½µ½DataStage ·þÎñÆ÷,ÊäÈëÃüÁî: cd $DSHOME/bin ½øÈëbin Ŀ¼;
2. ÊäÈëÃüÁî: dsjob ¨Crun;
Individual 2007-10 37 /
64
Dastage¾Ñé×ܽá
10 dsjob ¨Crun µÄÓ÷¨
dsjob -run
[-mode
[-opmetadata
Èç¹ûÎÒÃÇÏë²é¿´JOB: N_Tr_ASDM_TF_PT_VHCL_MODEL_DISTRIBUTION_month_02µÄ״̬,ÊäÈë: dsjob ¨Crun ¨Cjobstatus SGMEDW N_Tr_ASDM_TF_PT_VHCL_MODEL_DISTRIBUTION_month_02 »Ø³µÔËÐиÃÃüÁîʱ,¶ÔÓ¦µÄJOB: N_Tr_ASDM_TF_PT_VHCL_MODEL_DISTRIBUTION_month_02 »áÅÜÆðÀ´,µÈJOB ÅÜÍêÁ˻᷵»ØÒ»¸öÕûÐÍÖµ,Õâ¸öÖµ¾ÍÊÇjobstatus
Jobstatus=1 jobÔËÐгɹ¦,¶øÇÒûÓÐWARNING;
Individual 2007-10 38 /
64
Dastage¾Ñé×ܽá
Jobstatus=2 jobÔËÐгɹ¦,µ«ÊÇÓÐWARNING; Jobstatus=3 jobÔËÐÐʧ°Ü.
11 ÈçºÎÔÚºǫ́ÔËÐкÍÍ£Ö¹Ò»¸öJOB
ÎÒÃÇ¿ÉÒÔʹÓÃÃüÁîÔÚºǫ́Æô¶¯ºÍÍ£Ö¹Ò»¸öJOB,ÔËÐÐÒ»¸öJOB ¿ÉÓà dsjob ¨Crun ÃüÁî; Í£Ö¹Ò»¸öJOB ¿ÉÓà dsjob ¨Cstop ÃüÁî.
? ÔËÐÐJOB,²½ÖèÈçÏÂ:
1. µÇ½DataStage ·þÎñÆ÷,ÊäÈë $DSHOME/bin ½øÈëbin Ŀ¼; 2. ÊäÈëdsjob ,½øÈëdsjobÃüÁî;
3. ÊäÈë: dsjob -run SGMEDW N_Tr_ASDM_TF_PT_VHCL_MODEL_DISTRIBUTION_month_02, »Ø³µ
ÔËÐÐ,¾Í»áÔËÐÐSGMEDW ProjectϵÄJOB
N_Tr_ASDM_TF_PT_VHCL_MODEL_DISTRIBUTION_month_02.
Individual 2007-10 39 /
64
Dastage¾Ñé×ܽá
JOBÔËÐгɹ¦µÄ»°,»áÏÔʾ: Status code = 0?
? Í£Ö¹JOB,²½ÖèÈçÏÂ
1. ²½ÖèͬÔËÐÐJOBµÄ1,2 Á½²½;
2. ÊäÈëÃüÁî: dsjob -stop SGMEDW N_Tr_ASDM_TF_PT_VHCL_MODEL_DISTRIBUTION_month_01,
»Ø³µÔËÐÐ, ¾Í»áÍ£Ö¹SGMEDW ProjectϵÄJOB
N_Tr_ASDM_TF_PT_VHCL_MODEL_DISTRIBUTION_month_01µÄÔËÐÐ(Èç¹û¸ÃJOBÕýÔÚÔËÐеϰ)
Individual 2007-10 40 /
64
Dastage¾Ñé×ܽá
12 DS Oracle EE Stage ÅäÖÃ
1°²×°Oracle¿Í»§¶Ë
2Ìí¼ÓOracleÓû§µ½dsadm group×éÑ¡Ïî 3ÅäÖÃDS·þÎñÆ÷dsenvÎļþ 4ÅäÖÃtnsnames.oraÎļþ 5ÖØÆðDS·þÎñÆ÷
6 ÅäÖÃOracle Stage³éÈ¡µÄSelectȨÏÞ 7 Oracle EE StageÅäÖýáÊø
11.1 °²×°Oracle¿Í»§¶Ë
±¾²¿·ÖÇëDBAÐÖúÍê³É¡£
ÔÚDataStage·þÎñÆ÷Éϰ²×°Oracle¿Í»§¶Ë¡£
11.2 Ìí¼ÓOracleÓû§µ½dsadm group×éÑ¡Ïî
±¾²¿·ÖÇë²Ù×÷ϵͳ¹ÜÀíÔ±ÐÖúÍê³É¡£
ÐÞ¸ÄDataStage·þÎñÆ÷ÉÏdsadmÓû§Group Set£¬Ìí¼ÓOracleÓû§×é
11.3 ÅäÖÃDataStage·þÎñÆ÷dsenvÎļþ
Individual 2007-10 41 /
64
Dastage¾Ñé×ܽá
´´½¨»·¾³±äÁ¿ORACLE_HOME,²¢ÉèÖóÉ$ORACLE_HOME·¾¶£» ´´½¨»·¾³±äÁ¿ORACLE_SID£¬²¢¸³ÖµÕýÈ·µÄ·þÎñÆ÷Ãû
Ìí¼Ó $ORACLE_HOME/bin µ½PATH; Ìí¼Ó $ORACLE_HOME/lib µ½LIBPATH, LD_LIBRARY_PATH
×¢Ò⣺PATH·¾¶ÖУ¬$APT_ORCHHOME/bin±ØÐëÔÚ$ORACLE_HOME/binÇ°Ãæ ####### ORACLE ######## ORACLE_HOME=/oracle/product/9.2; export ORACLE_HOME PATH=$PATH:$DSHOME/bin:$APT_ORCHHOME/bin:$APT_ORCHHOME/osh_wrappers:$ORACLE_HOME/bin export PATH LIBPATH=$LIBPATH:$ORACLE_HOME/lib32:$ORACLE_HOME/rdbms/lib32:$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib export LIBPATH ORACLE_SID=pr011.shanghaigm.com export ORACLE_SID export NLS_LANG=\export TZ=\11.4 ÅäÖÃtnsnames.ora
PR009 =
(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = PR009.SHANGHAIGM.COM)(PORT = 1521)) )
(CONNECT_DATA =
(SERVICE_NAME = PR009.SHANGHAIGM.COM) ) )
11.5 ÖØÆðDataStage·þÎñ
¶Ï¿ªËùÓÐDataStage¿Í»§¶Ë¡£
Í£Ö¹DataStage·þÎñ£¬Ö´ÐÐÃüÁîuv ¨Cadmin ¨Cstop
µÈ´ý30Ãëuv -admin -startÖØÐÂÆô¶¯DataStage·þÎñ¡£
11.6 ÅäÖÃOacle Stage³éÈ¡µÄSelectȨÏÞ
ÈôʹÓÃOPS(Oracle Parallel Server)£¬ÔòÐèÒªsys.gv_$instanceºÍsys.v_$cache: GRANT select ON sys.gv_$instance TO public;
GRANT select ON sys.v_$cache TO public;
Individual 2007-10 42 /
64
Dastage¾Ñé×ܽá
ÆäËûSelectȨÏÞÓУº
dba_extents dba_data_files dba_tab_partitions dba_tab_subpartitions dba_objects all_part_indexes all_part_tables all_indexes
½¨Òé´´½¨½ÇÉ«À´¸³È¨ÏÞ£¬ÈçÏ£º
CREATE ROLE DSXE;
GRANT SELECT on sys.dba_extents to DSXE; GRANT SELECT on sys.dba_data_files to DSXE; GRANT SELECT on sys.dba_tab_partitions to DSXE; GRANT SELECT on sys.dba_tab_subpartitions to DSXE; GRANT SELECT on sys.dba_objects to DSXE; GRANT SELECT on sys.all_part_indexes to DSXE; GRANT SELECT on sys.all_part_tables to DSXE; GRANT SELECT on sys.all_indexes to DSXE; GRANT DSXE to
11.7 Oacle EE STAGEÅäÖýáÊø
´´½¨²âÊÔjob£¬²âÊÔ´ÓOracleÊý¾Ý¿âÖгéÈ¡Êý¾Ý
ÅäÖùý³ÌÖУ¬²»¿ÉËæÒâ¸ü¸Ä·¾¶Ë³Ðò¡£
13
DS ODBC µÄÅäÖÃ
ODBCµÄÅäÖÃÖ÷ÒªÊÇÈý¸öÎļþµÄÅäÖÃ:dsenv, .odbc.ini, uvodbc.config
12.1 ÐÞ¸Ä$DSHOME /dsenv
ODBC·ÃÎʵÄÈκÎÊý¾ÝÔ´,¶¼ÒªÔÚdsenvÖÐÅäÖû·¾³±äÁ¿,ÀýÈç·ÃÎÊORACLE,DB2¿â,¶¼Òª½øÐÐORACLE,DB2µÄ»·¾³ÅäÖÃ,Ö÷Òª°üÀ¨: ? Êý¾Ý¿â¿Í»§¶ËÁ¬½Ó±ØÐèµÄ»·¾³±äÁ¿ ? ÉèÖÃ$PATH ? ÉèÖÃ$LIBPATH
DsenvµÄÐÞ¸Ä,ÒªÖØÆð·þÎñ²ÅÓÐЧ.
12.2 ÐÞ¸Ä$DSHOME/.odbc.ini, À´ÌṩÊý¾Ý¿âÁ¬½ÓÐÅÏ¢;
¶ÔÓÚ²»Í¬Æ½Ì¨µÄÅäÖÃʾÀý,ÔÚDSµÄ·¾¶£º$DSHOME/../branded_odbc/IBM_Tools ÏÂÓÐʾÀý£¬ÏÂÃæÊÇÓ¦ÓÃÀý×Ó£º
Individual 2007-10 43 /
64
Dastage¾Ñé×ܽá
[PRINTDB_JQS]
Driver=/SGMEDWETL/dshome/Ascential/DataStage/branded_odbc/lib/VMmsss.so
Description=DataDirect SQL Server Wire Protocol Database=SGMPRINT LogonID=sgmprint Password=sgmprint Address=210.75.67.1,1022 IANAAppCodePage=113 QuotedId=No AnsiNPW=No
[SAPSTAGING] QEWSD=39400
Driver=/SGMEDWETL/dshome/Ascential/DataStage/branded_odbc/lib/VMor820.so
Description=DataDirect 5.00 Oracle ApplicationUsingThreads=1 ArraySize=60000
CatalogIncludesSynonyms=1 CatalogOptions=0
DefaultLongDataBuffLen=1024 DescribeAtPrepare=0 EnableDescribeParam=0 EnableNcharSupport=0 EnableScrollableCursors=1 EnableStaticCursorsForLongData=0 EnableTimestampWithTimeZone=0 LocalTimeZoneOffset= LockTimeOut=-1 LogonID=
OptimizeLongPerformance=0 Password=
ProcedureRetResults=0 ServerName=SWAPRD UseCurrentSchema=1
12.3 ÐÞ¸Ä$DSHOME/uvodbc.config, À´Ö¸¶¨DSN(data source name).
ÔÚ$DSHOME/../branded_odbc/IBM_Tools ÏÂÒ²ÓÐuvodbc.configʾÀý£»
DBMSTYPE = ODBC ----×¢Òâ¡°=¡±Á½±ßÓпոñ
DNSµÄÃû×ÖÒªºÍ.odbc.iniÖеÄÃû×ÖÒ»Ñù£¬ÈçÏ£º
Individual 2007-10 44 /
64
Dastage¾Ñé×ܽá
Note: Ò»°ãÇé¿öÏÂProject directoryÏÂÒ²Òª·ÅÖÃÒ»¸öuvodbc.config,ĬÈÏÇé¿ö
ÏÂ,DataStageÔÚProjects directoryÏÂѰÕÒuvodbc.configÎļþ,ÕÒµ½Á˾ÍÔÚ¹¤³ÌĿ¼ÀïʹÓÃËü£¬·ñÔò»áµ½$DSHOMEÏÂѰÕÒuvodbc.configÎļþ¡£
14
ETLϵͳÀ©Õ¹
µ±ÏµÍ³×ÊÔ´²»×ãʱ,ÓÐÁ½ÖÖ·½Ê½À©Õ¹ÏµÍ³ÐÔÄÜ:SMPºÍMPP
1. SMPºÍMPPµÄÇø±ð
SMPÊǾùºâµÄ¶à´¦Àíϵͳ,Ôö¼ÓµÄCPUºÍMemory±»ËùÓеÄProject¹²Ïí,ºÃ´¦
ÊÇÀ©Õ¹ÊµÊ©¼òµ¥,Ö»ÐèÐÞ¸ÄConfig File;ȱµãÊÇÊÜ»úÆ÷Time WindowµÄÏÞÖÆ,×î¸ß¿ÉÀ©Õ¹µ½64 CPU.
MPPÊǶàÊý¾ÝÁ¿µÄ²¢Ðд¦Àíϵͳ,À©Õ¹µÄ·þÎñÆ÷ÓëÔ·þÎñÆ÷Ö®¼äû¹ØÏµ,CPU
ºÍMemory¸÷×Ô¶ÀÕ¼, ·Ö±ð¶ÀÁ¢ÔËÐÐ; À©Õ¹µÄ·þÎñÆ÷ÓëÔ·þÎñÆ÷»ùÓÚÓ¦ÓõŤ×÷Á¿£¬½«Ó¦Ó÷ֱð·ÖÅäµ½Á½Ì¨»úÆ÷¶ÀÁ¢ÔËÐÐ.
2. Á½ÖÖÀ©Õ¹·½Ê½¿É½áºÏʹÓÃ: µ±SMPµÄÀ©Õ¹³¬³ö¼«ÏÞ£¬Ñ¡ÔñMPP×÷Ϊ²¹³ä,¼´
Ó¦ÓÃÇзÖÀ©Õ¹ 3. ¹²ÓÐÈýÖÖ·½Ê½À©Õ¹MPPϵͳ£¬Ç°ÌáÊÇ£ºÃ¿Á½Ì¨»úÆ÷¼äͨ¹ýRsh½»»¥£»Ã¿Ì¨»úÆ÷
¶¼±ØÐë´´½¨ÏàͬµÄdsadmÓû§¼°dstageÖ÷×飻ÿ̨»úÆ÷Éϵݲװ·¾¶»òÕß¹ÒÔØÂ·¾¶±ØÐëÍêȫһÖ¡£
? À©Õ¹½Úµã°²×°Ò»Ì×еÄDatastage·þÎñÆ÷£¬Í¨¹ýÐÞ¸ÄConfiguration FileºÍ
ÔÓеÄDataStage·þÎñÆ÷×é³ÉMPPϵͳ¡£ ? ʹÓÃ$install_dir/install/ copy-orchdist½Å±¾¸´ÖÆDatastage Engineµ½ÐµÄ
À©Õ¹½Úµã£¬ÐÞ¸ÄConfiguration File¼ÓÔØÐµĽڵ㡣 ? ͨ¹ýNFS¹²ÏíÒÑÓеÄDatastageĿ¼£¬Ê¹ÐÂÀ©Õ¹µÄ½Úµã¿ÉÒÔ·ÃÎʵ½
DataStageĿ¼¡£ÐÞ¸Äconfiguration fileÌí¼ÓеĽڵ㡣
15 Remote Shell (rsh)µÄÅäÖÃ
sisiu056, sisiu057, sisiu058, sisiu060ËĄ̈»úÆ÷ÈÎÒâÁ½Ì¨Ö®¼ä¶¼Ï໥ÐÅÈΣ¨¼´rlogin¶¼¿ÉÒԳɹ¦£©£¬Ï໥֮¼ä¶¼¿ÉÒÔͨÐÅ,ÈÎÒâÁ½¸ö½áµãÖ®¼ä¿ÉÒÔ²»ÐèÒªÃÜÂ룬ͨ¹ýrshÖ´ÐÐÃüÁî»òÕߵǽ£¬Ö÷񻃾¼°µ½Á½¸öÎļþµÄÐÞ¸Ä: .rhostsÎļþºÍ hosts.equivÎļþ¡£
14.1 ´´½¨²¢ÅäÖà .rhostsÎļþ
Individual 2007-10 45 /
64
Dastage¾Ñé×ܽá
? Óû§ÒÔqdb01µÇ¼sisiu056, sisiu057, sisiu058, sisiu060ÖеÄÈÎÒâ
һ̨»úÆ÷¡£
? ÔÚ/home/qdb01Ŀ¼Ï´´½¨ÃûΪ.rhostsµÄÎļþ¡£
vi /home/qdb01/.rhosts
? ½«ÈçÏÂÄÚÈÝÌî¼Óµ½.rhostsÎļþÖС£
sisiu056 qdb01--------hostname username sisiu057 qdb01 sisiu058 qdb01 sisiu060 qdb01
14.2 ÐÞ¸Ä/etc/hosts.equivÎļþ
½«ÈçÏÂÄÚÈÝ·Ö±ð×·¼Óµ½sisiu056, sisiu057, sisiu058, sisiu060ËĄ̈»úÆ÷µÄ/etc/hosts.equivÎļþĩβ¡£
sisiu056 qdb01 sisiu057 qdb01 sisiu058 qdb01 sisiu060 qdb01
ÔËÐÐrlogin hostnameÃüÁî²é¿´rshÊÇ·ñÅäÖóɹ¦¡£
16 dsadminÃüÁîµÄʹÓÃ
15.1 dsadminÃüÁîµÄʹÓÃ
µÇ½DataStage·þÎñÆ÷,ÊäÈë:cd $DSHOME/bin;ÔÚÊäÈëdsadmin »Ø³µ,½øÈëdsadminÃüÁî;
Command Syntax:
dsadmin [-file
Valid primary command options are: -createproject -deleteproject -oshvisible -enablercp
-enablejobadmin -envadd -envdelete
Individual 2007-10 46 / 64
Dastage¾Ñé×ܽá
-envset
-advancedruntime -basedirectory
-deploymentdirectory -customdeployment -listprojects -listproperties -listenv
-enablegeneratexml
ÃüÁî -createproject -deleteproject -oshvisible -enablercp -enablejobadmin -envadd ÃüÁî˵Ã÷ ´´½¨Ò»¸ö¹¤³ÌProject ɾ³ýÒ»¸ö¹¤³ÌProject ʹ²úÉúµÄOSH´úÂë¿É¼û ʹRCPÓÐЧ»òʧЧ ʹJOB´¦ÓڿɹÜÀí״̬ Ôö¼Ó»·¾³±äÁ¿£¬Ò²¼´¿É×÷ΪJOBµÄ²ÎÊý Óï·¨ dsadmin -createproject
Dastage¾Ñé×ܽá
PXDeployGenerateXML=0 -listenv -enablegeneratexml ÏÔʾһ¸ö¹¤³ÌµÄËùÓл·¾³±äÁ¿ ÊÇ·ñ²úÉúXML dsadmin -listenv
12.2 ×Ô¶¨Òå»·¾³±äÁ¿µÄʹÓÃ
ÔÚdatastageÖУ¬Ê¹ÓÃSequential_FileµÄʱºòÐèÒª¶ÔNULLÖµ×ö´¦Àí£¬µ«ÊÇǰÌáÊÇÒªÔÚDataStage AdministratorÖеÄuser definedÖÐÌí¼ÓÒ»¸ö»·¾³±äÁ¿ Name: APT_IMPEXP_ALLOW_ZERO_LENGTH_FIXED_NULL Type: string Value: 0
17 ÈçºÎÆô¶¯JobMonApp
½øÈë/Ascential/DataStage/PXEngine/javaĿ¼£¬»ò$APT_ORCHHOME/java,ÊäÈëÃüÁsh jobmoninit À´Æô¶¯JobMonApp
×¢£º$APT_ORCHHOMEÊDz¢ÐÐÒýÇæµÄĿ¼
18 DS.TOOLS
ÏȽøÈë cd $DSHOME/bin
È»ºóÓÃuvshÃüÁî½øÈëµ½tclÓïÑÔ½çÃæ£¬ÈçÏ£º
Individual 2007-10 48 /
64
Dastage¾Ñé×ܽá
È»ºóÓÃLOGTO SGMINF_MQ ÃüÁîµÇ¼µ½project SGMINF_MQµÄĿ¼
È»ºóÊäÈëDS.TOOLSÃüÁî¾Í¿ÉÒÔ½øÈëµ½DS.TOOLS¶Ô»°¿ò½çÃæÁË£¬ÈçÏ£º
×¢Ò⣺Í˳öµÄʱºòÒªÏȰ´¡®»Ø³µ¼ü¡¯£¬È»ºóÊäÈë¡®Q¡¯Ôٻسµ¾Í¿ÉÒÔÁË£¡
DS.TOOLSËù°üº¬µÄÄÚÈÝÈçÏ£º
DataStage Tools Menu
1. Report on project licenses
2. Rebuild Repository indices ----------ÖØ½¨Ë÷Òý 3. Set up server-side tracing 4. Administer processes/locks 5. Adjust job tunable properties ¡¡¡¡.
Which would you like? ( 1 - 5 ) ?
Individual 2007-10 49 /
64
Dastage¾Ñé×ܽá
½øÈëDS.TOOLSµÄ²½Öè¼°ÊÍ·ÅËø£º
1. Connect in the server through Telnet
2. Execute the dsenv file: cd $DSEngine ; . dsenv 3. Go to the directory of the project£ºcd $DSHOME/bin
4. Execute the uvsh»òdssh located in $DSEngine/bin starting from the path of the
project.
5. Execute the command DS.TOOLS
6. Choose the option 4 for processes and locks. 7. Choose the option 4 again (to list all the locks)
8. Identify the name of the job and your respective PID.
9. Select the option 7 to liberate lock for number of the process and inform PID 10. It will be requested a confirmation, type Y to confirm.
11. To leave of the application, type enter until that returns to the prompt of the
universe ¡°>¡± and type Q.
ÁгöËùÓÐËøµÄÃüÁLIST.READU EVERY
·½·¨Ò»£º¸ÃÃüÁî¸úÉÏÃæµÄOption 4 ? Option 4(list all the locks) µÄ¹¦ÄÜÒ»Ñù ·½·¨¶þ£ºcd $DSHOME/bin£¬ È»ºóÊäÈëÃüÁîlist_readu
·½·¨Èý£ºcd $DSHOME/bin£¬ È»ºóÊäÈëÃüÁîuvsh »òÕßdssh £¬
È»ºóÊäÈëÃüÁîLIST.READU EVERY
Individual 2007-10 50 /
64