Datastage7.5.2.1问题汇总
更新时间:2024-04-24 00:52:01 阅读量: 综合文库 文档下载
Datastage7.5.2.1问题汇总 2010-08-14 16:59
环境:Red Hat Linux As 4 Update 8 x86_64 + Datastage 7.5.2.1 + Oracle 10g x86_64 + MS SQL Server 2005
如果你使用Datastage7.5.x来做ETL,那么建议你先看下一IBM官方公布的已修正的BUG,
http://www-01.ibm.com/support/docview.wss?uid=swg21438499 个人看法:DS的BUG真是多啊!
遇到问题了,先去修正的BUG列表看看的,说不定又是什么BUG!
工作中用到了DS,也遇到了很多的问题,在此记录一下!不对的地方请高手斧正!
1.DS所在的操作系统
这次项目(银河ACRM)中DS采用的环境是借鉴了中投数据中心的经验,所以就选择了Red Hat Linux As 4 Update 8 x86_64 + Datastage 7.5.2.1。 后来,在解决问题的过程中从发行注记中发现这么一句话“Windows/Linux platforms are only supported on Intel x86 32-bit Processor”, 经验证:此次选择了在Linux X86_64上安装DS造成后续的一些问题!
以后安装软件,一定要看软件的发行注记哦!如果适用于32bit的系统,那就别选择64bit的操作系统了!
建议:Red Hat Linux As 4 Update 8 x86 + Datastage 7.5.2.1
2.complier的选择
在32位系统中你不会遇到这个问题! 因为选择了64位的系统,但是Datastage 7.5.2.1只支持32位的系统,所以在环境变量中的编译器部分做如下调整: IBM官方给出的配置:
APT_COMPILEOPT:-O -fPIC -Wno-deprecated -c -m32 APT_COMPILER:g++32 -m32 APT_LINKER:g++32 -m32
APT_LINKOPT:-shared -32 -Wl,-Bsymbolic,--allow-shlib-undefined 我自己的配置:
APT_COMPILEOPT:-O -fPIC -Wno-deprecated -c APT_COMPILER:g++32 -m32 APT_LINKER:g++32 -m32
APT_LINKOPT:-shared -Wl,-Bsymbolic,--allow-shlib-undefined 3.Oracle lib的选择
因为是64位的操作系统,所以也就安装了Oracle 10g的64位客户端,在$ORACLE_HOME的目录下就有了lib,lib32两个目录,
DS是使用lib32的,所以在$DSHOME/dsenv的LD_LIBRARY_PATH中添加
$ORACLE_HOME/lib32.
4.Oracle字符集转换的问题
在操作系统环境变量,DS环境变量中设定NLS_LANG,而且还要做字符集映射, 在/home/dsadm/Ascential/DataStage/PXEngine.752.1/etc/oracle_cs.txt 中增加:
GBK ZHS16GBK ZHS16GBK GBK
第一列是DS内置的字符集,第二列是Oracle的字符集,依照这个说法那就不需要第二行了,这里我还是加上了!
5.DS共享内存调优 在DS8.1之前的版本,命令SHMTEST只在Linux 32-bit上才有效,在Linux 64-bit上选入无限循环,IBM已在8.1中进行了修复! BUG修复地址:
http://www-01.ibm.com/support/docview.wss?rs=14&uid=swg1JR32113,此处不再摘录!
6.DS连接到Oracle RAC
如果Oracle数据库使用了RAC,曾经叫做(Oracle Parallel Server,OPS),用于数据抽取的数据库用户在拥有其他权限的同时,必须拥有访问SYS.GV_$INSTANCE的权限。
另外,还必须在Datastage Administrator中,添加Project的环境变量,APT_ORACLE_NO_OPS = 1。
7.DS中Oracle用户的权限问题
DS使用oracle时候要对以下视图赋权限 DBA_EXTENTS DBA_DATA_FILES DBA_TAB_PARTITONS DBA_OBJECTS
ALL_PART_INDEXES ALL_PART_TABLES ALL_INDEXES
SYS.GV_$INSTANCE (Only if Oracle Parallel Server is used or RAC) datastage自带的联机帮助文档上说明这一点,
We suggest that you create a role that has the appropriate SELECT privileges, as follows: CREATE ROLE DSXE;
GRANT SELECT on sys.dba_extents to DSXE; GRANT SELECT on sys.gv_$instance 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_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;
Once the role is created, grant it to users who will run DataStage jobs, as follows:
GRANT DSXE to
8.DS启动关闭
在datastage中使用uv -admin -stop关闭DS之前,要退出所有的客户端连接,必须使用ps -ef| grep ds来查看连接到DS的进程,找到PID用kill命令杀掉, 或者在director中清除掉所有的连接,之后再使用uv -admin -stop来关闭DS,否则存在DS连接的情况下关闭DS,使用uv -admin -start启动DS时,
可能无法启动dsrpcd如果尝试多次无法启动dsrpcd,请参考文章“Linux环境下Datastage的dsrpc追踪方法”;最后的办法就是重启机器!
9.抽取速度慢的问题
Datastage 7.5.2 抽取Oracle数据太慢,检查JOB日志发现,JOB运行时检查/home/dsadm/Ascential/DataStage/Configurations目录下的default.apt文件,
此文件用于用于指定DS的节点,一般是每个CPU对应一个节点,而我的文件中只有一个节点,依据CPU个数增加节点数,重启DS。
在此抽取时,监控JOB发现多个节点同时使用,抽取速度剧增!
10.MS SQL SERVER中TEXT类型转换
Datstage通过ODBC获取MS SQL Server的数据时,将text类型字段默认为Longvarchar,view data时出错,将以在自定义SQL语句中使用convert将text转化为varchar(4000),
并将字段类型改为varchar,否则会出现错误:DSP.Open GCI $DSP.Open error -100.
11.DS抽取抽取Oracle数据时默认将空格转换为NULL
Datastage 7.5.2.1中,DS中的Oracle Stage从Oracl抽取数据时,默认把空格转换为NULL,即使将DS环境变量中的APT_ORACLE_PRESERVE_BLANKS设置为True也无济于事。
经查找,IBM官方认为这是个bug,建议升级打补丁. 补丁地址:
http://www-01.ibm.com/support/docview.wss?rs=14&uid=swg1JR33670 打补丁之前,请备份DS的整个目录,然后再打补丁!
我自己打补丁时,关闭了DS相关的所有进程,但是安装提示有错误,让去找系统管理员,但是查看/home/dsadm/Ascential/patches/patch_JR35216/log没有发现错误。
安装时的错误提示:
Upgrading the Stage ...
An error has occurred during DataStage initialization
Please contact the system administrator Error code: 2 2 Done!
幸运的是重新启动DS,一切正常,而且通过设定DS环境变量中的APT_ORACLE_PRESERVE_BLANKS,就可以控制空格向NULL的转换了! 幸运是短暂的,打补丁之后,从ODBC抽取SQL Server数据的JOB报错了,看样子是因为补丁的问题! 错误信息:
main_program: Fatal Error: Fatal: Shared library (drsenu.so) failed to load: errno = (2), system message =
(/home/dsadm/Ascential/DataStage/DSEngine/lib/drsenu.so: undefined symbol: DSCUVTextMark)
虽然打补丁之前有备份,恢复回去是没有问题的,所以先想想办法去解决的! 在网上找到了一个解决办法,相同的错误,只是别人遇到的是
$DSHOME/lib/dsdb2enu.so: undefined symbol: DSCUVTextMark,那就试一下的! 地址:http://www.docin.com/p-42820466.html
先备份$DSHOME/etc/operator.apt文件,使用VI编辑该文件,将dscapiop dscapiop 1修改为dscapiop @dscapiop 1,保存退出!
关闭DS,重新启动!不知道为什么这么干!寻遍官方文档都没找到一点相关内容,网上给出的解决办法,当前问题是解决了,但是依据是什么呢? 会不会因此而产生其他的潜在问题?! 在这里鄙视一下DS!
12.JOB排错,开启详细日志输出 日志提示有警告,可是不知道是哪个stage提示警告,那么设置APT_DUMP_SCORE = TRUE,可以在log的警告信息中看到stage名称。 另外,还有一些选项用于log日志输出。
内存使用情况,APT_PM_PLAYER_MEMORY = TRUE CPU使用时间,APT_PM_PLAYER_TIMING = TRUE 数据抽取条数,APT_RECORD_COUNTS = TRUE
13.DS性能调优 详见官方文档。
APT_DEFAULT_TRANSPORT_BLOCK_SIZE = 131072 改为 APT_DEFAULT_TRANSPORT_BLOCK_SIZE = 1048576
APT_BUFFER_MAXIMUM_MEMORY = 3145728 (3 MB) 改为 APT_BUFFER_MAXIMUM_MEMORY = 6291456 (6 MB)
APT_BUFFER_FREE_RUN = 0.5 改为 APT_BUFFER_FREE_RUN = 0.6
14.DS运行中发现的Oracle DB的问题
DS运行时,LOG日志报错,竟然都是TNS和ORA的错误,尤其是并行多个JOB时,有JOB失败。
请寻求DBA协助,做数据库的优化!
15.DS中对Oracle中特殊字符的处理(例如:# $)
DS_ENABLE_RESERVED_CHAR_CONVERT = TRUE 处理特殊字符#,$
16.Transformer stage中的substr功能
Transformer stage中的substr功能在抽取数据时,按字符对象截取字符,可是加载至目标库时,是按字节计算长度。
尤其是对含有中文的字段截取时,有些中文字符的最后一个字符被截成了乱码,在加载至目标表时报错,
可以在/home/dsadm/Ascential/DataStage/Scratch文件夹下bad文件中找到出错的数据条目。、 建议:
对于含有中文的字段,目标表的字段长度尽可能的与源表字段长度一致。 17.从MS SQL Server 2005抽取数据至Oracle时,中文乱码解决 NLS为GBK,view数据时正常,但是抽取至Oracle时,中文乱码。 在Transformer中把中文字段的extend都设置为unicode。
正在阅读:
Datastage7.5.2.1问题汇总04-24
珍贵的礼物作文450字07-13
实验四 验证牛顿运动定律09-22
新疆阿尔泰大东沟铅锌矿床地质特征及稳定同位素地球化学研究_刘敏08-10
2016年北京师范大学翻译硕士MTI考研历年真题解析,考研参考书,考研经验,考研复试分数线05-24
文学理论期末考点04-24
2022年中考英语复习第一部分随堂演练九全第17课时试题04-17
江阴临港新城概况11-11
2.医疗卫生机构短缺药品信息直报系统医疗机构填报子系统操作手册04-02
雅思写作高频词汇08-27
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- Datastage
- 汇总
- 问题
- 7.5
- 2.1
- 张成兵诉上海市松江区人力资源和社会保障局工伤认定行政案
- 抵押权人放弃抵押权利声明书
- 齿轮齿条转向器设计说明书(没有力传动比)
- 浙江省科学中考复习知识点归纳 - 图文
- 光伏并网发电模拟装置
- 2、下列词语中没有错别字的一项是()
- 浅析建设工程造价咨询合同中的风险控制
- 《管理会计学》在线测试(全对)
- 资源枯竭型城市的转型问题
- 小学书法校本课程教案 - 图文
- 王艳春说课标、说教材演讲稿(已修)
- 软件概要设计说明书
- 浅议信息技术发展对企业管理变革趋势的影响
- 模联基本会议流程
- 毕业设计 - 图文
- 学位论文授权书(新版)201709.doc
- 《中国共产党纪律处分条例》廉政法规知识测试题库及答案
- 3.1 自然资源 教案(商务星球版八年级上) - 图文
- 高三物理(人教版 东部)一轮复习备考:第八单元 曲线运动、万有
- 文学理论期末考点