datastage与oracle,datastage经验总结
导读:DSsmtp:[210.75.71.180]dssendmail_template.txt*OnUNIXtorunsendmail,thetemplatelookslikethis(doesn'trequireasection):#!/bin/sh/usr/lib/sendmail-t<///From:%from%To
DSsmtp:[210.75.71.180]
dssendmail_template.txt
* On UNIX to run sendmail, the template looks like this (doesn't require a 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
解决方法:
目前修改了以下参数,连续两天未发现随机错误:
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设置的并行节点数为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"
GMT-8表示的就是北京时间
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 "FI_CARLINE": "null_field" length (0) must match field's fixed width (20)
但是如果是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是表示需要处理的字段,注意后面要用个别名!
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
无论是在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
忽略它的特殊含义!例如你希望输出字符串: "/dev/abc" 那么只需要在引号前面加上反斜杠 \ 就可以了
echo "\"/dev/abc"\"
"/dev/abc"
4 部分常用Stage 的使用说明
五星文库wxphp.com包含总结汇报、人文社科、经管营销、考试资料、办公文档、文档下载、党团工作以及datastage经验总结等内容。
datastage与oracle,datastage经验总结相关推荐
- datastage配置oracle,Datastage 8.5 连接远程Oracle 数据库
工作中需要使用Datastage 把Oracle的数据导到DB2 中,发现IBM 的文档不是很全, 在问了很多人,包括同事老杜.Bryan Zhang, Robert等,终于可以连接Oralce 了 ...
- datastage配置oracle,配置datastage与oracle 10g连接
配置datastage与oracle 10g连接以及一些问题的解决办法 首先安装这两款软件,我使用的是oracle 10g 与datastage V7.5,安装完成后,编辑$DSHOME 下的dsen ...
- linux怎么运行datastage,ETL工具Datastage入门+实例(易理解)
引言 传统的数据整合方式需要大量的手工编码,而采用 IBM WebSphere DataStage 进行数据 整合可以大大的减少手工编码的数量,而且更加容易维护.数据整合的核心内容是从数据源中抽取 数 ...
- datastage中oracle组件,Datastage常用组件使用方法(详尽版)
常用组件使用方法: Sequential file1 功能特点:适用于一般顺序文件(定长或不定长),可识别文本文件或IBM大机ebcdic文件. 使用要点: 按照命名规范命名 点住文件,双击鼠标,在g ...
- datastage配置oracle,IBM Datastage8.5配置问题
大家好,最近因学习需要,在虚拟机REHL5.5上安装了IBM Datastage8.5的服务器端,在windows端安装客户端,调试连接时,提示密码不正确,我修改了密码,重启了服务器,还是提示密码不正 ...
- datastage java_使用 DataStage Java Integration Stage 和 Java Pack 从 Excel 源文件中
简介 IBM InfoSphere Information 服务器由一套可帮助企业从遍布多个数据源系统的信息中获取业务价值的数据集成产品组成.它有助于以某种具有成本效益的方式从多个异构数据源中分析.清 ...
- Mysql转Oracle的经验分享
目录 一.背景 二.历程 1.数据库准备 2.工具选择 3.表结构迁移(先解决可能存在的问题) 1)命名长度超长 2)命名重复 3)列重复创建索引 4)创建唯一索引失败 5)模型转换 6)脚本大小写处 ...
- oracle 导出导入exl,关于oracle导出excel和excel导入oracle的经验总结【转】
一.oracle导出excel 方法一:最简单的方法---用工具plsql dev 执行File =>new Report Window .在sql标签中写入需要的sql,点击执行或按快捷键F8 ...
- 关于oracle导出excel和excel导入oracle的经验总结
http://blog.csdn.net/xieyunchao/article/details/5218974 一.oracle导出excel 方法一:最简单的方法---用工具plsql dev 执行 ...
最新文章
- 对于U盘做系统,win8降级到win7系统的心得体会
- 退出MFC应用程序的方法集
- Spring / Hibernate使用log4jdbc改进了SQL日志记录
- 推荐几个NLP出论文的好方向!!
- 买了小区一楼的感受是怎样的?
- JSK-347 打印图形【打印图案】
- C# 通过反射获取枚举类型
- mysql 重启爆红,MySQL 启动报错
- Echarts滚动条
- 相似图片搜索原理和JAVA代码实现
- Garbled Circuits介绍 - 1 引言
- JAVA生成带LOGO的二维码
- SAP汇率转换函数[BAPI_EXCHANGERATE_GETDETAIL]
- Android Sendor框架介绍
- mui-app开发之项目类型概览
- 健身运动燃烧脂肪的三个必要条件
- 细说http状态码之301,304
- php 微信支付闪了一下,php,_微信公众号JS API支付,安卓没有效果(会闪一下就消失了),php - phpStudy...
- 从研发效能的视角解析软件系统“故障复盘”
- HttpWebRequest 请求HTTPS协议时报错:The requested security protocol is not supported. (不支持请求的安全协议)
热门文章
- 计算机毕业设计 SSM疫情防控志愿者管理系统 志愿者服务信息系统 大学志愿者管理系统Java Vue MySQL数据库 远程调试 代码讲解
- JIRA 集成 Gitlab
- python输入姓名专业班级口号_有创意的班级口号14班
- PC上一款非常好用的PDF阅读器,支持免费格式转换、支持云端同步
- 项目经历:基于TM4C LaunchPad的电能质量分析仪
- 利用c51单片机实现测频仪(基于proteus仿真)
- Linux 下易用的光盘镜像管理工具(虚拟光驱软件)转载
- 硬盘对拷怎么操作?这个方法更简单!
- linux 拍照的软件,六款优秀的Linux照片管理软件
- php商品详情显示页面代码,商品详情页是怎么生成的?