informatica 怎么获取sqlcommand执行update状态

Archive for the ‘Informatica’ Category
一、 项目背景
&A. 项目背景
本次项目是一个很小的 BI 项目, 数据源包括几个 Oracle 数据库,数据仓库也建在 Oracle 中,然后抽取到 Essbase 11.1.1.3 ,然后提供给 OBIEE 10 做报表展现。
本次项目的 ETL 工具是 Informatica 8.6.1 ,涉及到的数据源表和数据仓库表也不多,加起来也不过是一百多张表而已。
ETL 的顺序是:数据源表 –> 落地表 –> EDW 表 –> DM 表 –> Essbase 。
二、 Session 监控
&A. 通常做法
项目在开发测试阶段,每个 Workflow 对应一个 Session ,通过 Monitor 监控运行结果。实际上线时,会在一个 Workflow 中串联或并联多个 Session ,而且一般管理员很少去 Monitor 查看每天的运行情况。这就需要另外加上监控的功能。
通常的做法,是利用每个 Session 配置中的 Components 属性页来实现事后失败(或成功)时做某项操作,比如发送邮件,或者执行某个命令行(来发邮件或做其他动作)。我嫌这样做太麻烦,需要更改每一个 Session ,改动太多,而且下次单个调试时还麻烦。
另外,按照 Informatica 的官方文档,要使用 Email 控件也有一大堆的麻烦,尤其如果要配置 MAPI 的话,需要安装 Microsoft Office Outlook ,还涉及到 License 等问题。
&B. 项目做法
我的做法是,直接找 Informatica Repository 的后台表,通过后台表查询 Session 简单运行情况,并且抽取到数据仓库中。然后检查如果有错误的 Session ,发送 Email 给管理员。
至于发送 Email 功能,没有使用 Email 控件,而是使用 Command 控件。具体的实现方式,当然是用了好多年的 Apache Ant自动化工具。
我在每个 Workflow的结尾,都增加四个 Task ,用于监控 Workflow 中的其余之前运行完的 Session 的执行情况。
&C. 查询后台表
第一个 Task , s_m_c_etl_session_run 通过查询 Informatica 后台表获得 Session 的执行情况,并保存到 EDW.C_ETL_SESSION_RUN 表中。数据源是一个定制的 Sql Query 。
具体的 SQL 并不标准,但至少在本项目中是正确的。具体如下:
select s.subj_name as folder_name, w.workflow_run_id, w.workflow_name,
t.task_name, to_char(t.start_time, ‘YYYY-MM-DD HH24:MI’) as etl_time,
(t.end_time – t.start_time) * 24 * 60 * 60 as run_seconds,
round((t.end_time – t.start_time) * 24 * 60) as run_minutes,
t.run_err_code, t.run_err_msg
&&from pc_rep.opb_task_inst_run t, pc_rep.opb_wflow_run w, pc_rep.opb_subject s
&where t.workflow_run_id = w.workflow_run_id
and w.subject_id = s.subj_id
and w.workflow_run_id = $PMWorkflowRunId
and t.task_name
‘$PMSessionName’
&order by t.start_time
其中,$PMWorkflowRunId 和 $PMSessionName 是 Session 内置变量,一个是对应 Workflow 本次运行的实例 ID ,一个是对应本 Session 。这两个参数都会在运行时设值,并传递到 Session 中。
&D. 查询出错任务
第二个 Task , s_m_c_etl_error_run 通过查询 EDW.C_ETL_SESSION_RUN 表中本次 Workflow 的ERR_CODE 不为零的记录,保存到文本文件中。 ERR_CODE 不为零,表示对应 Session 出错。
s_m_c_etl_error_run 的 Source Filter 是:
C_ETL_SESSION_RUN.WORKFLOW_RUN_ID = $PMWorkflowRunId and C_ETL_SESSION_RUN.RUN_ERR_CODE
s_m_c_etl_error_run 的输出文件路径为: $PMWorkflowLogDir\$PMFolderName.$PMWorkflowName.csv 。这其中也用了三个内置变量,实际的路径也是在运行时赋值,比如为:
E:\Informatica\PowerCenter8.6.1\server\infa_shared\WorkflowLogs\EDW.wf0_bw_fact_all.csv 。
&E. 判断是否有出错任务
第三个 Task , whether_run_error 是一个判断,判断前一个 Session (s_m_c_etl_error_run) 中的数据源成功条数是否大于零,如果大于零即是有出错任务。
&F. 发送邮件
在第四个 Task (mail_error_run) 执行之前,首先判断 whether_run_error 的判断结果,如果判断为TRUE 才执行 mail_error_run ,否则不执行。 mail_error_run 调用 Apache Ant 命令行,发送错误警告邮件给管理员,并将记录错误运行情况的文本文件作为附件。
命令行中命令,又包括了多个内置变量,在运行时赋值。通过命令行命令,这些值又作为 Apache Ant 的动态参数传递过去。
具体的 Apache Ant 命令将在下一章中做简要介绍。
&G. 邮件内容
警告邮件的附件中列出出错的Session列表、ETL实际、出错代码、及简单的错误描述。管理员阅读邮件后再进入 Informatica 查看具体情况并解决问题。
三、 Apache Ant
&A. 工具介绍
Apache Ant 是一个自动化工具,由Apache软件基金会所提供,大多用于Java环境中的软件开发。 其可以通过简单配置,来实现各种通用功能,比如 通过 SMTP 发送邮件。
&B. 外部类库
本 Apache Ant 的服务器路径为 E:\apache-ant-1.8.1。需要将这个路径加到服务器的 Path 环境变量中。
除了标准的Apache Ant v1.8.1之外,仅增加了两个外部类库用于发送Email。将 activation.jar 和 mail.jar 文件拷贝到目录 E:\apache-ant-1.8.1\lib\ 即可。这两个文件很容易找,甚至在 Informatica 安装目录下就能找到: \Informatica\PowerCenter8.6.1\server\tomcat\webapps\coreservices\WEB-INF\lib\ 。
&C. 环境配置
发送 Email 的代码目录在 E:\email-task ,其中包括一个任务主文件(build.xml),一个配置文件(email.properties)和一个日常的日志文件。
&D. 主文件
任务主文件 build.xml 中有一个用于发送 Session 错误的任务(mail-error-run),其中仅配置了一个动作:发送Email,包括一个附件。具体内容如下:
&?xml version=&#″ encoding=”utf-8″ ?&
&project name=”planning” default=”mail-error-run” basedir=”.”&
&property file=”email.properties” /&
&target name=”mail-error-run” description=”ant main task for send warning mail about error run”&
&mail subject=”The ETL workflow was failed (${workflow.name})”
from=”${mail.from.address}” tolist=”${mail.to.addresses}”
mailhost=”${mail.smtp.host}” mailport=”${mail.smtp.port}”
user=”${mail.account.user}” password=”${mail.account.password}”
ssl=”${mail.smtp.ssl}” &
Please read the attachment for details.
&/message&
&attachments&
&fileset dir=”${workflow.log.dir}”&
&include name=”${folder.name}.${workflow.name}.csv”/&
&/fileset&
&/attachments&
&/project&
&E. 配置文件
配置文件(email.properties)中。其中配置了邮件服务器的机器名、端口,发送账号的用户名、密码,邮件接收者列表(逗号分隔)。当这些内容有任何变更时,必须修改配置文件。比如,当邮件接受者出现变化时,应修改 mail.to.addresses ,删除不需要的邮件地址,加上新人的邮件地址。
# Write by Ferrari Huang ()
# Properties of Ant Tasks
mail.smtp..cn
mail.smtp.port=25
mail.smtp.ssl=false
mail.account.user=etl_pm
mail.account.password=etl_pm
mail.from.address=etl_.cn
mail.to.addresses=.cn,.cn君,已阅读到文档的结尾了呢~~
informatica 培训 informatica informatica lookup informatica 下载 informatica 安装 informatica 教程 etl informatica 西安 informatica informatica 端口 informatica oracle
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
Informatica 基础培训
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口怎样设置断点
首先,打开软件Informatica PowerCenter Designer并打开对应需要调试测试的mapping,从顶部菜单“Mapping”-&”Debugger”-&”Edit Breakpoints”进入断点编辑界面,如下图:
接下来在Instance name中选择mapping对应的实例,然后在Breakpoints选项中点击“Add”,如下图:
点击“Ad……
具体错误代码:
Status:Failed
ERROR:Worklet task instance [xxxxxxxx]:Could not acquire the execute lock for Worklet
出现这个错误的原因,是由于不慎将Worklet的task type属性设置为可重用了(可选中报错Worklet右键“edit”打开)。如下图:
勾选这个选框之后,变成这样,如下图:
可重用工作流的原来跟C语言的继……
Informatica作为一个ETL工具,在实际使用中经常会需要执行UPDATE操作,Update Strategy作为Informatica专门的UPDATE组件,网上有详细介绍的教程并不多,在这里我根据自己实际使用经验,向大家介绍下。
在使用Update Strategy组件之前,我们必须在目标表建立索引,索引字段就是更新的时候需要判断的那个字段,这点非常重要……
问题描述:在Informatica管理中想要将一个正在运行中的workflow程序Aborting掉,在执行右键“aborting”之后,workflow的状态就一直停留在aborting的状态,一直停不下来,通过后台SQL语句查询:“SELECT * FROM Rep_Task_Inst_Run WHERE workflow_name=’接口名称’ AND subject_area=’接口所在文件夹&#8217……
由于任务要求,需要将一个csv格式的excel文件导入到oracle数据库,文件比较大,有将近1G的大小,记录数大概是两千多万条。
我分别测试了oracle常用的导入方法:PL/SQL文本导入工具、sqlplus中用sqlldr工具、informatica导入三种方法。
耗时分别如下:PL/SQL文本导入工具是最慢的,两千多万条记录大概要用时10个小时左右;……
问题描述:
Informatica的Workflow调用中报错:“Session task instance [s_m_self_Join] : [TM_6795 The Repository Service marked the session or session instance as impacted, and the Integration Service is not configured to run impacted sessions.”
原因分析:
发生这种错误,主要是因为workflow中调用的mappi……
pmrep是Informatica自带的workflow管理控制工具,它主要是对元数据进行操作,比如知识库用户、组、密码的管理,权限管理和数据库连接串的管理,元数据的备份导入导出等等。另外它还可以创建、修改、删除文件夹。它跟pmcmd命令一样都是经常会用到的workflow管理控制工具,关于pmcmd命令的介绍,可以参见之前的文章《Inform……
pmcmd是C语言编写的一个专门使用命令来对workfflow流程进行控制管理的一个工具,有了它,我们就可以在shell脚本中很方便的使用命令来调用、暂停、挂起、覆盖workflow,pmcmd工具不需要单独安装,它是Powercenter自带的工具。下面介绍pmcmd的使用方法。
调用workflow命令格式:
Usage: pmcmd startworkflow
问题描述:在用informatica从oracle数据库中导出数据生成文件后,发现其中一列数据导出格式有问题,本来字段为number型,我在PowerCenter Designer 的mapping中没有设置好类型转换,结果生成的文件中格式变成“xxx.000”。刚好这时候oracle中导出源表被同事清空了,没办法再重新导,这时候,只有想着用awk命令……
informatica支持excel类型数据源的抽取,但对于多页excel的抽取并不是很方便,本文简单介绍一下多页excel的抽取方法。
大家都知道,excel并不是平面文件(Flat file),严格来说,它是windows关系型数据库的一种,它跟txt、csv格式的文件都是不同的。所以在抽取excel格式的文件入库时要通过ODBC,配置ODBC是一件麻烦事情,……INFORMATICA-会话抽取条数、用时、运行情况统计_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
INFORMATICA-会话抽取条数、用时、运行情况统计
&&在Informatica的域用户下跟踪INFA执行工作流-&工作集-&会话的ETL情况(记录数、用时、运行情况)
你可能喜欢Informatica命令调用_文档下载
亿万文档 免费下载
当前位置: &
& Informatica命令调用
Informatica命令调用
Informatica提供command和java接口 可以通过来执行Command命令
1、直接在该控件中写PMCMD命令
例如:pmcmd startworkflow -sv repo_dss -d DOMAIN_test_dss -u
Administrator -p Administrator -f DSS_DM -wait DM_SCD_ODS
命令解析如下:
pmcmd startworkflow -sv 集成服务名称 -d 配置域名称 -u
Administrator -p Administrator -f 文件夹名称 -wait 工作流名
2、将PMCMD命令写在批处理文件中,通过该控件调用批处理文件
例如:批处理文件放在D盘的根目录下,在控件中直接写d:\mpcmd.bat
如果需要获取返回结果和错误信息,需要修改命令为:
d:\mpcmd.bat 1&d:\result.log 2&d:\error.log
该命令运行完成后会在D盘的根目录生成result.log和error.log
3、将PMCMD命令写在批处理文件中,通过DOS命令调用
(1)切换到Informatica的bin文件夹下
(2)执行批处理文件,生成返回结果和错误信息的日志
4、直接在DOS下调用PMCMD命令
Word文档免费下载: (下载1-2页,共2页)
informatica调存储过程_计算机软件及应用_IT/计算机_专业资料。informatica 调用存储过程 1、建立源: 2、此处选择文件类型:文件名字为: log 3、源属性中必须建立一个...Informatica配置与开发警告邮件解决方法_计算机软件及应用_IT/计算机_专业资料。...mail_error_run 调用 Apache Ant 命令行,发送错误警告邮 件给管理员,并将记录...informatica9_install_IT/计算机_专业资料。本文介绍了Informatica 9 在常见Unix、linux系统下的安装、配置Informatica 9 安装手册 项目号 文档编号 版本号 保密级别 ...而目前向 Informatica Service 发送任务请求的途径有 3 种方式,一种是常用的 Informatica Client 方式,如 PowerCenter Workflow Manager 执行任务调度;一种是命令行...0202 Informatica8.1.1培训教程 V1.1_计算机软件及应用_IT/计算机_专业资料。...在 Workflow中调用操作系统的命令 3.Email: 在Workflow中发送 email Workflow ...02-Informatica PowerCenter9.5.0安装手册_计算机软件及应用_IT/计算机_专业资料...PWX_DB AT NODE NDEA32A; 然后点击绿色向右的箭头,执行命令,编目 PWX_DB ...1 Informatica数据集成平台介绍 曹顺波 2 目录 ? 概述 ? Informatica数据集成...Workflow中调用操作系统外部命令 ?Workflow中调用Email ?多ETL Server协同工作 …...Informatica PowerCenter交流(ETL)_计算机/互联网_科技_PPT专区。Informatica 公司...数据源为文件列表/为命令返回值(支持通配符) ?Session Recovery ?调用Java、C/...Informatica_PowerCenter 9 培训教材_文学_高等教育_教育专区。Informatica_PowerCenter...Workflow中调用OS外部命令 ? Workflow中调用Email ? 多ETL Server协同工作 …...informatica powercenter8.6简易使用手册_计算机硬件及网络_IT/计算机_专业资料。...本例选择利用手动进行配置如下图所 示: 如上图所示,执行 Create 菜单命令,...}

我要回帖

更多关于 laravel 执行command 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信