DATASTAGE日常运维手册.doc_第1页
DATASTAGE日常运维手册.doc_第2页
DATASTAGE日常运维手册.doc_第3页
DATASTAGE日常运维手册.doc_第4页
DATASTAGE日常运维手册.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DATASTAGE日常运维手册项目名称: DATASTAGE运维编制时间: 2015 年 11 月修改记录编号日期描述版本作者审核发布日期本文档中所包含的信息,如无中国建设银行的书面许可,任何人都无权复制或利用。?Copyright 2011 by China Construction Bank第 1章 Datastage介绍1.1 产品概述DataStage 企业版是Ascential Software公司所有企业整合系列产品中关键产品。企业版支持大容量数据的收集、整合和转换, 数据从简单结构到很复杂的结构。基于高可扩展性的软件架购, 企业版使得企业能够通过高性能来解决大部分业务问题,并行处

2、理大容量数据。强大的企业元数据管理能力使得可以在数据整合生命周期中在所有工具中共享和使用工具。DataStage 企业版发布了四个核心功能来成功实施企业数据整合:1) 先进的开发和简单化的维护;2) 企业级别的开发、监测和管理;3) 在吞吐量和性能方面提供了无限制的高扩展的体系架构;4) 端对端的企业级元数据管理。DataStage企业版提供了全面的功能去最优化用户在建立、升级和管理数据整合架构时的速度、灵活性和效率。DataStage企业版增强的功能减少了学习的周期、简单化了管理和优化了开发资源的使用,减少了数据整合应用的开发和维护周期。结果,DataStage企业版使得企业能够花更少的时间

3、开发他们的整合应用,更多的时间是不断的从中受益。1.2 基础架构1.3 客户档介绍用户通过各个客户端工具访问DataStage 企业版的开发、 配置和维护功能。 这些工具包括:Designer :用来建立和编辑DataStage 作业和表的定义。 Designer中的“Job Sequencer ”控制作业的执行,其他作业成功完成(或失败,等)的条件。Administrator:用来执行管理任务,如建立DataStage 用户、建立和删除工程并且建立清洗标准。Manager:用来编辑管理用户工程的DataStage 资料库。Director:用来验证、时序安排、运行和监测企业版作业。第 2章

4、日常操作2.1 登录客户端2.1.1登录 Datastage Administrator客户机点击图标选择需要登录的服务器,输入用户名,密码登录进去后点击项目,可进行项目增加,删除,设置项目属性2.1.2登录 DatastageDesigner 客户机点击图标选择需要登录的域,输入用户名,密码,选择需要登录的项目登录成功:2.1.3登录 DatastageDirector客户机点击图标选择需要登录的域,输入用户名,密码,选择需要登录的项目登录成功:2.2 启停服务端以 dsadm用户进入,执行以下命令:1) Server 启动命令: $HOMEDIR/uv admin -start注意:启动前

5、, 需要查看端口是否被释放, 通过 netstat af inet |grep ds查看,如果有连接,则需要等待操作系统自动释放后在启动服务。2) Server 停止命令: $HOMEDIR/uv admin /stop注意:停止前最好确保没有Client连接,可以通过onstat a |grepds查看,是否还存在Client连接,否则要通知相应登录的client端彻底退出。2.3 Job 编译登录 DatastageDesigner 客户机,参见2.1.2 ,打开欲编译的Job,具体 Job 编译方法有两种:1) 选择菜单栏的【文件】 - 【编译( M)】,快捷键为 F7。2) 点击工具栏

6、的编译图标。2.4 Job 运行Datastage Job运行有两种方式:一种在Designer中,一种在Director中。1)登录 Designer客户机, 打开欲运行的Job,选择菜单栏的 【文件】 -【运行( R)】,快捷键为Ctrl+F5或者点击工具栏的运行图标。2)登录Director客户机,选中欲运行的作业,选择菜单栏的【作业(J)】 - 【立即运行(N)】,或者点击工具栏的立即运行图标。2.5 监视作业登录 Director客户机,选中欲监视的作业,右键选择【监视】,可以查看作业的运行情况。如下图所示:2.6 查看日志登录 Director客户机,选中欲查看日志的作业,右键选择

7、【查看日志】出现:2.7 作业解锁2.7.1方法如遇到断网等一些情况可能导致作业被某一锁定,从而无法对作业进行修改。解锁方法:在浏览器输入Server 端 IP 地址跟端口,如:9080,出现如下界面:输入用户名,密码,登录后选择【管理】 - 【会话管理】 -【活动会话】,对那个被锁定作业的会话,选择【断开链接】2.7.2方法1 用管理员用户登录DataStage Administrator2 打开对应PROJECT的【命令() 】3 执行LIST.READU查看 Locks4 通过最后一列item id找到被锁的对应的作业名5 执行下面命令解锁UNLOC

8、K USER Userno ALL其中 username 为 LIST.READU 所列出的信息中对应的Userno 。2.8 Job 导入登录 Designer 客户机,选择菜单栏的【导入(I )】 - 【 Datastage组件( C)】,选择所需导入的dsx 文件,界面如下:2.9 Job 导出登录 Designer 客户机,导出Datastage Job有两种方法:( 1)选择菜单栏的【导出(X)】- 【 Datastage组件( C)】,界面如下:点击 添加按钮,选择所需的导出的DatastageJob,在 要导出的作业组件一般选择“导出不带可执行文件的作业设计”,在 导出到文件 中

9、选择本地的保存路径跟文件名。( 2)在所需导出的Job 上右键单击,在弹出菜单中选择【导出(X)】,在如上界面中的导出到文件 选择本地的保存路径跟文件名。2.10 数据库表定义导入datastage登录 Designer客户机,选择菜单栏的【导入(I )】- 【表定义( T)】- 【插件元数据定义()】选择表定义所在的数据库,输入用户名,密码选择【导入() 】第3章 Datastage配置3.1 常见目录说明1) 主机下发数据目录: /appdata/DATA#DATE2) Datastage 转码生成公共数据集目录: /appdata/DSDATA/$DATE/3)DataStage的配置目

10、录,/usr/datastage/InformationServer/Configurations,其下有其配置文件,可以设置运行结点数,Dataset数据文件目录,Dataset日志文件目录。node node1fastname T219N2V3pools resource disk /appdata/DSDATA/DATASET pools resource scratchdisk /appdata/DSDATA/SCRATCH pools node node2fastname T219N2V3pools resource disk /appdata/DSDATA/DATASET pool

11、s resource scratchdisk /appdata/DSDATA/SCRATCH pools Dataset数据文件目录:resource disk /appdata/DSDATA/DATASETDataset日志文件目录:resource scratchdisk /appdata/DSDATA/SCRATCH4)DataStage的引擎所在目录,/usr/datastage/InformationServer/DSEngine,其下有bin ,lib等,其中include里面有个dsapi.h很有用,定了很多错误,遇到错误,可以到文件里面找,不过这里只能找到常见错误,一些unex

12、pected error无法在里面找到错误原因。3.2 DataStage Administrator配置登 录Administrator客户 机 , 选择 【项 目 】标签 , 选 择要 配置 的project, 在General-Enviroment中1. 在 General 类型下:TMPDIR=XXX (将其指向一个相对较大的目录,不填写就是指缺省的/tmp 目录,此处需要讨论 ) 。2.在 Parallel类型下:APT_CONFIG_FILE,配置文件及其运行节点数,其配置文件为:/usr/datastage/InformationServer/Configurations/cis

13、suat.apt,这里需要检查一下指向的内容是否正确。具体详见3.1 中 DataStage 的配置目录。APT_STRING_PADCHAR=缺(省值是0x0 ,我们需要填写一个空格)3.在 Parallel-Operator Specific类型下APT_COPY_TRANSFORM_OPERATOR设置为 True ,在做多结点运行时需要设置。4.在 User Defined类型下:APT_IMPEXP_ALLOW_ZERO_LENGTH_FIXED_设NULL置为 1。(如果目前数据统一为定长无分隔符,或者说不要设置定长的Null 值,就不需要设置) 。第 4章 附录:常见问题FAQ4

14、.1 SQL Loader 导入数据时候报错问题描述: 通过oracle stage,把文本数据写到数据库时候报错:SQL*Loader-925:Errorwhileuldlpim:OCIStmtExecute ; SQL*Loader-2026:the load was abortedbecauseSQL Loader cannot continue.实际上数据是装入成功了。问题解决: 这个问题的原因是客户端和服务器端的版本不一致,装了和服务器一样版本的 client 后就可以了。问题分类: 系统环境问题详细描述:ORA_S_CRD_CICIFADR,0: SQL*Loader-925: E

15、rror while uldlpim: OCIStmtExecuteORA_S_CRD_CICIFADR,0:SQL*Loader-2026:the load was abortedbecause SQLLoadercannot continue.ORA_S_CRD_CICIFADR,0: The call to sqlldr failed; the return code = 256;pleaseseetheloaderlogfile:/home/ap/dsadm/Ascential/DataStage/Scratch/ora.23199.545865.0.log for details.O

16、RA_S_CRD_CICIFADR,1: SQL*Loader: Release .0 - Production on Wed Apr11 19:31:09 2007Copyright (c) 1982, 2005, Oracle. All rights reserved.Control File:ora.23199.545865.1.ctlCharacter Set UTF8 specified for all input.Data File:ora.23199.545865.fifo.1File processing option string: FIX 363Bad Fi

17、le:ora.23199.545865.1.log.badDiscard File: none specified(Allow all discards)Number to load: ALLNumber to skip: 0Errors allowed: 50Continuation:none specifiedPath used:Direct - with parallel option.Table S_CRD_CICIFADR, loaded from every logical record.Insert option in effect for this table: APPENDC

18、olumn NamePositionLen Term Encl Datatype-CI_CUST_NO1:4040CHARACTERNULL if 1:40 = BLANKSCIADR_LL41:466PACKED-DECIMAL(10,0)NULL if 41:46 = 0X000000000000(character )CI_ADDR_COD47:526CHARACTERNULL if 47:52 = BLANKSCIADR_DB_TIMESTAMP53:8634CHARACTERNULL if 53:86 = BLANKSCI_ADDR87:246160CHARACTERNULL if

19、87:246 = BLANKSCI_POSTCOD247:25812CHARACTERNULL if 247:258 = BLANKSCI_TEL_NO259:29840CHARACTERNULL if 259:298 = BLANKSFILLER299:36264CHARACTERNULL if 299:362 = BLANKSORA-00904: MESSAGE_NUM: invalid identifierSQL*Loader-2026: the load was aborted because SQL Loader cannot continue.Table S_CRD_CICIFAD

20、R:128381 Rows successfully loaded.0 Rows 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.Bind array size not used in direct path.Column array rows :5000Stream buffer bytes:256000Read buffer bytes: 1048576Total logica

21、l records skipped:0Total logical records read:128381Total logical records rejected:0Total logical records discarded:0Total stream buffers loaded by SQL*Loader main thread:72Total stream buffers loaded by SQL*Loader load thread:0Run began on Wed Apr 11 19:31:09 2007Run ended on Wed Apr 11 19:31:15 20

22、07Elapsed time was:00:00:06.82CPU time was:00:00:01.304.2 Error calling subroutine: DSR_JOB( Action=5 )问题描述: 无法打开作业,无法建立job问题解决: 原因是机器系统资源耗尽,提高机器性能或者等到机器空闲时候再登陆。问题分类: 系统环境问题详细描述:4.3 This item has no design time information问题描述: 打开作业看作业的详细设计,结果报错:this item has no design timeinformation问题解决: 导出作业的时候没有

23、把job design打上勾(见图),打上勾就能看作业的设计了问题分类: datastage环境问题详细描述:导出的时候,得把job design打上勾4.4 Failed to connect to JobMonApp on port 134xx问题描述: 在运行 Job 时无法显示运行状态(成功的变成绿色、记录条数等都看不见) ,在日志中提示“Failed to connect to JobMonApp on port 134xx” , 或者日志显示Failedto initialize job monitoring。问题解决:1.在 /etc/host里面,是否有localhost,如果

24、没有添加2.手工启动/home/ap/dsadm/Ascential/DataStage/PXEngine/java下面的jobmoninit程序。先执行./jobmoninit stop,再 ./jobmoninit start注: datastage默认的监控端口是13400 和 13401,如果被占用会顺序使用13402问题分类: 系统环境问题详细描述:4.5 Transformer报错: The numerof rejectdatasets“0 ”isless than the number of input datasets“1”问题描述: 在 transformer中使用到系统的变

25、量,结果报错。问题解决: 系统变量不能直接使用,必须用使用函数GetEnviroment问题分类: datastage问题问题详细描述:来导入系统变量出问题的作业如下:使用Row Generator生成随机数据,通过transformer传送到Sequential File中, 在tranformer中添加一列,如下图所示:该列使用系统级的参数,编译不能通过。如果使用作业级的参数,则可以通过。最后通过使用函数GetEnviroment(“ LoadDate ” )4.6 The Connectionwas refusedortheRPC daemonis notrunning问题描述: 连接

26、datastage工程的时候报错:Faileto connect the host : project:UV问题解决: datastage没有正确启动。当还有进程与服务器相连的情况下,重新启动 datastage服务,就会出现这个问题,因为有进程挂起了。解决方法:1.重启服务器(推荐,比较快)。 2. 手工杀掉ds相关的进程, 然后重新启动datastage服务。 3. 等待操作系统自动把挂起的进程清除(等待一段时间),然后在重启服务。建议在执行uv -admin -stop前,先执行ps -ef|grep ds,看看有没有什么ds的进程还在,如果有就少等一会儿,或者把进程杀掉。然后在stop

27、问题分类:datastage环境问题详细描述:4.7 Failed to intializejob monitoring.Monitorinformationwill not be generated.问题描述:在运行job的时候,日志显示:Failedtointializejobmonitoring.Monitorinformation will not be generated.同时ds designer里面作业运行结束后,没有出现绿线。问题解决:在启动服务的时候,监控程序(datastage自带的监控程序)没有正确启动。解决方法是:手工启动/home/ap/dsadm/Ascential

28、/DataStage/PXEngine/java下面的jobmoninit程序。先执行./jobmoninit stop,再 ./jobmoninit start问题分类:datastage环境问题详细描述:4.8 ERROR: Open Jobfailed! errno= -1004问题描述 :在运行作业的时候报错问题解决: datastage 的内部管理库是用 universe 有关,这种数据库本身不是很成熟, datastage 很久未重新启动, 可能导致类似作业打开失败、 作业不存在等错误, 重做则可以,有的作业虽然已经执行完成,但datastage在重置作业状态是有问题导致作业长时间

29、挂住等。解决办法是datastage定期重起问题分类: datastage环境问题详细描述:4.9 No conductor nodes found in export node pool问题描述: 作业运行过程中报No conductor nodes found in export node pool问题解决:1.检查该作业对应的apt文件(/home/ap/dsadm/Ascential/DataStage/Configurations/default.apt)内容,确认里面写得hostname 都是可以访问的机器。问题分类:问题详细描述:SQF_ecif_ods_f1130_add_wr

30、: Error when checking operator: No conductor nodesfound in export node pool.4.10 DS 作业失败,对某些行成功,而对另外一些行则失败,造成进程 CoreDump问题描述: DS作业失败,对某些行成功,而对另外一些行则失败,造成进程CoreDump问题解决 :作业逻辑设计不严密,特别是transform,在一些数据上 ( 空值 ) 调用了非法操作造成,认真检查字段。问题分类: 作业设计问题详细描述:4.11 作业运行失败,错误信息显示为写文件失败或者buffer失败问题描述 : 报写文件失败或者out of buff

31、er问题解决 :原因是1 Scratch空间不足2输出文件的文件系统空间不足;3文件系统最大文件参数错误(ulimit);问题分类: 系统环境问题详细描述:4.12 作业 Link 信息取不到问题描述 :运行 job 后,发现log 里面的统计信息指都是0(在 window 下体现为job运行成功去没有绿线,连线上面也没有统计信息)问题解决 :1. /etc/hosts 中无 localhost 项 ( 详见问题 4) 2 DS Monitor 进程宕掉 ( 详见问题 4)问题分类: datastage环境问题详细描述:4.13 带 有Oracle组 件 的 作 业在RAC 环 境 下无 法

32、运 行 ,APT_ORAInstSet :fail()问题描述 :运行带有ORACLE Stage的作业报出错误:APT_ORAInstSet: fail()问题解决 :在 ORACLE使用到了RAC,必须设置一个变量,方法:dsadmin -envadd APT_ORACLE_NO_OPS -type STRING -prompt no oracle parellel-value 0 projname如果没有使用RAC,该值就是1, 默认情况该值1, 都是这个值是没有显示在Administrator里面。问题分类: 系统环境问题详细描述:4.14 DS 作业无法 Reset ,无法重新启动,

33、甚至无法重新导入作业问题描述 :DS作业无法Reset ,无法重新启动,甚至无法重新倒入作业问题解决 :作业出现异常,使用dssh解锁。使用方法:输入dssh ,然后在后面输入DS.TOOLS,进入ds tools菜单,选择4,根据菜单内容解锁job(如果window 下的client端能够链接到服务器,就用window 下的client链接到服务器,然后用上面的log out 功能把进程解锁)问题分类: datastage环境问题详细描述:4.15 CallDSJob: Job status is NOTRANABLE, cant run it!问题描述 :执行作业报:CallDSJob:

34、Job status is NOTRANABLE, cant run it!问题解决:1. 用 root用户进入project下面,执行uv 或者 dssh,敲入 DS.TOOLS,然后选择42. 选择 113. 输入作业名,注意作业名的大小写,然后输入Y注:还可以尝试使用dsjob -run -mode Reset projectname jobname来对作业状态进行重置复位,有时候等待一段时间后,作业也会自动复位问题分类: datastage环境问题详细描述: Job was stopped by some indeterminate action.Job finished anorma

35、l run with a fatal error。4.16 作业长时间运行 ,不退出 ,进程存在问题描述 :作业长时间运行, 不退出, 进程存在问题解决 :检查作业运行情况, 发现用dsjob -logdetail查询的作业最后finish退出的步骤一直未完成, 重启ds服务后作业运行正常。如果不方便重启,可以使用dsjob -stopprojname jobname.seqid命令来停掉作业, 然后再运行作业。问题分类 :datastage环境( datastagebug,在某些情况下会与子进程失去联系,已经由官方确认过)问题详细描述:程序日志里面写Job was stopped by so

36、me indeterminate action或Job finished a normal run with a fatal error4.17 APT_CombinedOperatorController,1:U_TRUNCATED_CHAR_FOUND encountered.问题描述: 作业报错APT_CombinedOperatorController,1: U_TRUNCATED_CHAR_FOUNDencountered.,但是作业成功返回。问题解决:1、load方式时,可能是数据中存在半个汉字,导致sqlldr出错,( 1)可以设置Check模块的removeEndCNChar参

37、数,设置true,可以替换最后一个字符(大于127)为空格, 设置后测试没有出现同类错误;(2)在 Oracle stage中,将 columns 中该字段长度加1,数据库中实际表的字段长度不变,varchar2类型,还需要入库前在该字段尾部增加一个空格。2、upsert方式时,作业公共代码转换的字段,由于在 CodeConv stage 输出 schema没有设置长度,导致在insert和 update 的 SQL语句中,这些字段会出现错误,可以在sql语句中对这些字段增加取子串操作substr 。问题分类: 作业设计问题详细描述:4.18 Indexes on table s_pt_pr_

38、project_sppl_buil ding preclude direct parallel loading unless an index option is included. Addan index option or drop indexes and rerun step问 题 描 述 : Oracle_Enterprise_39: Indexes s_pt_pr_project_sppl_building preclude direct parallel loading unless an index option is included. Add an index option

39、or drop indexes and rerun step.ontable问题解决 :该 stage采用load方式,并且executionmode为 parallel,oracle的 sqlldr,当采用 parallel方式时,必须设置索引选项或是直接去掉索引,本错误正是由于索引存在而导致的。两种方案:1、设置 oracle stage的execution mode为sequential。2、保持 oraclestage 的executionmode为 parallel,设置Options项下的 Index Mode为 Rebuild ,使 sqlldr 之前忽略索引,结束后重建索引。问

40、题分类: 作业设计问题详细描述 :4.19 oracle upsert时出现如下错误:Hangup detected on fd 0问题描述: oracle upsert时出现如下错误:Hangup detected on fd 0问题解决 :oracle的客户端和服务端版本不一致。问题分类: 系统环境问题详细描述:oracle upsert时出现如下错误:ORA_B_AA_CP_APPLICATION_UPSERT,5: (gdb) (gdb) (gdb) Hangup detected on fd 0ORA_B_AA_CP_APPLICATION_UPSERT,5: error detec

41、ted on stdinORA_B_AA_CP_APPLICATION_UPSERT,5:Operatorterminatedabnormally:receivedsignal SIGSEGV4.20 char 字段,字段入库后会补很多空格问题描述 :char 字段,长度10,只用了5,结果入库时候被补了五个空格问题解决 :针对以下 2 种入库方式有不同的解决方法:1、 load 方式pad char 设置为 0x20,入库前使用 varchar 类型,为了确保数据没有包含空格,需要进行以下 2 种处理:( 1)从源头 Check 模块后就修改为 varchar 类型;(2)在入库前进行tri

42、m处理。2、 upsert方式:pad char设置为0x00,入库的表定义修改为varchar(之前是char没关系)。问题分类: 作业设计问题详细描述:4.21 Error:TRF_TO_ODESC,1:Operatorterminatedabnormally: received signal SIGSEGV问 题 描 述 : Error:TRF_TO_ODESC,1:Operatorterminatedabnormally:receivedsignal SIGSEGV问题解决:查 看 该stage中 对 字 段MEETING_DATETIME 的 处 理 : ifisnull(LK_ch

43、ecked2.MEETING_DATETIME) then else同时,该作业的输入数据为使用抽取组件从源系统oracle数据库直接抽取,而该字段在原系统数据库的表定义中,为not null,出现错误的原因应该是数据从Oracle数据库导入后, link中的 schema,该字段为not null , transformer中对 not null类型的字段使用了 isnull 的判断,使得程序逻辑非法。问题分类: 作业设计问题详细描述:Warning:TRF_TO_ODESC: When checking operator: When binding input interfacefield

44、input0Int8MEETING_DATETIME0tofieldMEETING_DATETIME: Usingnullconversion with non-nullable input.Error:TRF_TO_ODESC,1: Operatorterminatedabnormally:receivedsignalSIGSEGV4.22 scoreload from/tmp/APTps394736a79964onnodenode1 failed问题描述 :score load from /tmp/APTps394736a79964 on node node1 failed问题解决:日志中提到 /tmp 这个目录,查看/tmp 的文件空间,使用100%该程序在处理时可能使用了score ,需

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论