DATASTAGE日常运维手册
DATASTAGE日常运维手册
项目名称:DATASTAGE运维
编制时间:2015年 11月
修改记录
本文档中所包含的信息,如无中国建设银行的书面许可,任何人都无权复制或利用。?Copyright 2011 by China Construction Bank
第1章Datastage介绍
1.1产品概述
DataStage企业版是Ascential Software公司所有企业整合系列产品中关键产品。企业版支持大容量数据的收集、整合和转换,数据从简单结构到很复杂的结构。基于高可扩展性的软件架购,企业版使得企业能够通过高性能来解决大部分业务问题,并行处理大容量数据。强大的企业元数据管理能力使得可以在数据整合生命周期中在所有工具中共享和使用工具。
DataStage企业版发布了四个核心功能来成功实施企业数据整合:
1)先进的开发和简单化的维护;
2)企业级别的开发、监测和管理;
3)在吞吐量和性能方面提供了无限制的高扩展的体系架构;
4)端对端的企业级元数据管理。
DataStage企业版提供了全面的功能去最优化用户在建立、升级和管理数据整合架构时的速度、灵活性和效率。DataStage企业版增强的功能减少了学习的周期、简单化了管理和优化了开发资源的使用,减少了数据整合应用的开发和维护周期。结果,DataStage企业版使得企业能够花更少的时间开发他们的整合应用,更多的时间是不断的从中受益。
1.2基础架构
1.3客户档介绍
用户通过各个客户端工具访问DataStage企业版的开发、配置和维护功能。这些工具包括:
Designer:用来建立和编辑DataStage作业和表的定义。Designer 中的“Job Sequencer”控制作业的执行,其他作业成功完成(或失败,等)的条件。
Administrator:用来执行管理任务,如建立DataStage用户、建立和删除工程并且建立清洗标准。
Manager:用来编辑管理用户工程的DataStage资料库。
Director:用来验证、时序安排、运行和监测企业版作业。
第2章日常操作
2.1登录客户端
2.1.1登录Datastage Administrator 客户机
点击图标
选择需要登录的服务器,输入用户名,密码登录
进去后点击项目,可进行项目增加,删除,设置项目属性
2.1.2登录Datastage Designer客户机
点击图标
选择需要登录的域,输入用户名,密码,选择需要登录的项目
登录成功:
2.1.3登录Datastage Director客户机
点击图标
选择需要登录的域,输入用户名,密码,选择需要登录的项目
登录成功:
2.2启停服务端
以dsadm用户进入,执行以下命令:
1) Server启动命令:$HOMEDIR/uv –admin -start
注意:启动前,需要查看端口是否被释放,通过‘netstat –af inet |grep ds’查看,如果有连接,则需要等待操作系统自动释放后在启动服务。
2) Server停止命令:$HOMEDIR/uv –admin /stop
注意:停止前最好确保没有Client连接,可以通过‘onstat –a |grep ds’查看,是否还存在Client连接,否则要通知相应登录的client端彻底退出。
2.3Job编译
登录Datastage Designer客户机,参见2.1.2,打开欲编译的Job,具体Job 编译方法有两种:
1)选择菜单栏的【文件】->【编译(M)】,快捷键为F7。
2)点击工具栏的编译图标。
2.4Job运行
Datastage Job运行有两种方式:一种在Designer中,一种在Director中。
1)登录Designer客户机,打开欲运行的Job,选择菜单栏的【文件】->【运
行(R)】,快捷键为Ctrl+F5或者点击工具栏的运行图标。
2)登录Director客户机,选中欲运行的作业,选择菜单栏的【作业(J)】
->【立即运行(N)】,或者点击工具栏的立即运行图标。
2.5监视作业
登录Director客户机,选中欲监视的作业,右键选择【监视】,可以查看作业的运行情况。如下图所示:
2.6查看日志
登录Director客户机,选中欲查看日志的作业,右键选择【查看日志】
出现:
2.7作业解锁
2.7.1方法1
如遇到断网等一些情况可能导致作业被某一锁定,从而无法对作业进行修改。
解锁方法:
在浏览器输入Server端IP地址跟端口,如http://128.192.140.5:9080,
出现如下界面:
输入用户名,密码,登录后选择
【管理】->【会话管理】->【活动会话】,对那个被锁定作业的会话,选择【断开链接】
2.7.2方法2
1 用管理员用户登录DataStage Administrator
2 打开对应PROJECT的【命令(M)】
3 执行LIST.READU查看Locks
4 通过最后一列item id找到被锁的对应的作业名
5 执行下面命令解锁
UNLOCK USERUserno ALL
其中username 为LIST.READU 所列出的信息中对应的Userno 。
2.8Job导入
登录Designer客户机,选择菜单栏的【导入(I)】->【Datastage组件(C)】,选择所需导入的dsx文件,界面如下:
2.9Job导出
登录Designer客户机,导出Datastage Job有两种方法:
(1)选择菜单栏的【导出(X)】->【Datastage组件(C)】,界面如下:
点击添加按钮,选择所需的导出的Datastage Job,在要导出的作业组件一般选择“导出不带可执行文件的作业设计”,在导出到文件中选择本地的保存路径跟文件名。
(2)在所需导出的Job上右键单击,在弹出菜单中选择【导出(X)】,在如上界面中的导出到文件选择本地的保存路径跟文件名。
2.10数据库表定义导入datastage
登录Designer客户机,选择菜单栏的【导入(I)】->【表定义(T)】->【插件元数据定义(M)】
选择表定义所在的数据库,输入用户名,密码
选择【导入(I)】
第3章Datastage配置
3.1常见目录说明
1)主机下发数据目录:/appdata/DATA#DATE
2)Datastage转码生成公共数据集目录:/appdata/DSDATA/$DATE/
3)DataStage的配置目录,/usr/datastage/InformationServer/Configurations,
其下有其配置文件,可以设置运行结点数,Dataset数据文件目录,Dataset
日志文件目录。
{
node "node1"
{
fastname "T219N2V3"
pools ""
resource disk "/appdata/DSDATA/DATASET" {pools ""}
resource scratchdisk "/appdata/DSDATA/SCRATCH" {pools ""}
}
node "node2"
{
fastname "T219N2V3"
pools ""
resource disk "/appdata/DSDATA/DATASET" {pools ""}
resource scratchdisk "/appdata/DSDATA/SCRATCH" {pools ""}
}
}
Dataset数据文件目录:resource disk "/appdata/DSDATA/DATASET"
Dataset日志文件目录:resource scratchdisk "/appdata/DSDATA/SCRATCH"
4)DataStage的引擎所在目录,/usr/datastage/InformationServer/DSEngine,
其下有bin,lib等,其中include里面有个dsapi.h很有用,定了很多错
误,遇到错误,可以到文件里面找,不过这里只能找到常见错误,一些
unexpected error无法在里面找到错误原因。
3.2DataStage Administrator配置
登录Administrator客户机,选择【项目】标签,选择要配置的project,在General->Enviroment…中
1. 在General类型下:
TMPDIR=XXX (将其指向一个相对较大的目录,不填写就是指缺省的/tmp目录,此处需要讨论)。
2. 在Parallel类型下:
APT_CONFIG_FILE,配置文件及其运行节点数,其配置文件为:/usr/datastage/InformationServer/Configurations/cissuat.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章附录:常见问题FAQ
4.1SQL Loader 导入数据时候报错
问题描述:通过oracle stage,把文本数据写到数据库时候报错:SQL*Loader-925: Error while uldlpim: OCIStmtExecute;SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.实际上数据是装入成功了。
问题解决:这个问题的原因是客户端和服务器端的版本不一致,装了和服务器一样版本的client后就可以了。
问题分类:系统环境
问题详细描述:
ORA_S_CRD_CICIFADR,0: SQL*Loader-925: Error while uldlpim: OCIStmtExecute
ORA_S_CRD_CICIFADR,0: SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.
ORA_S_CRD_CICIFADR,0: The call to sqlldr failed; the return code = 256;
please see the loader logfile: /home/ap/dsadm/Ascential/DataStage/Scratch/ora.23199.545865.0.log for details.
ORA_S_CRD_CICIFADR,1: SQL*Loader: Release 10.2.0.1.0 - Production on Wed Apr 11 19:31:09 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Control File: ora.23199.545865.1.ctl
Character Set UTF8 specified for all input.
Data File: ora.23199.545865.fifo.1
File processing option string: "FIX 363"
Bad File: ora.23199.545865.1.log.bad
Discard File: none specified
(Allow all discards)
Number to load: ALL
Number to skip: 0
Errors allowed: 50
Continuation: none specified
Path used: Direct - with parallel option.
Table S_CRD_CICIFADR, loaded from every logical record.
Insert option in effect for this table: APPEND
Column Name Position Len Term Encl Datatype ------------------------------ ---------- ----- ---- ---- ---------------------
CI_CUST_NO 1:40 40 CHARACTER
NULL if 1:40 = BLANKS
CIADR_LL 41:46 6 PACKED DECIMAL (10, 0)
NULL if 41:46 = 0X000000000000(character '')
CI_ADDR_COD 47:52 6 CHARACTER
NULL if 47:52 = BLANKS
CIADR_DB_TIMESTAMP 53:86 34 CHARACTER
NULL if 53:86 = BLANKS
CI_ADDR 87:246 160 CHARACTER
NULL if 87:246 = BLANKS
CI_POSTCOD 247:258 12 CHARACTER
NULL if 247:258 = BLANKS
CI_TEL_NO 259:298 40 CHARACTER
NULL if 259:298 = BLANKS
FILLER 299:362 64 CHARACTER
NULL if 299:362 = BLANKS
SQL*Loader-925: Error while uldlpim: OCIStmtExecute
ORA-00904: "MESSAGE_NUM": invalid identifier
SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.
Table S_CRD_CICIFADR:
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 : 5000
Stream buffer bytes: 256000
Read buffer bytes: 1048576
Total logical records skipped: 0