TechTarget中国网站推荐

Oracle数据仓储DBA的MetaBase脚本

2008-8-22  选择字号:  | |
打印本文章
【TechTarget中国原创】对于任何Oracle DBA来说,一个最有挑战性的领域就是对复杂的job stream进行管理。幸运的是,Oracle已经有dbms_scheduler包和Oracle Warehouse Builder MetaBase Plus (OMB)脚本语言可用来对它进行管理。就Oracle数据仓库管理而言,Oracle Warehouse Builder产品提供一种能够整合抽取、转换和装载等命令的OMB脚本,这种整合要依靠能进行错误检测、确认以及数据配置的内部工具才能进行。对OWB环境来说,它就是一种类似TP的检测器(CICS)。

【TechTarget中国原创】

对于任何Oracle DBA来说,一个最有挑战性的领域就是对复杂的job stream进行管理。幸运的是,Oracle已经有dbms_scheduler包和Oracle Warehouse Builder MetaBase Plus (OMB)脚本语言可用来对它进行管理。

就Oracle数据仓库管理而言,Oracle Warehouse Builder产品提供一种能够整合抽取、转换和装载等命令的OMB脚本,这种整合要依靠能进行错误检测、确认以及数据配置的内部工具才能进行。对OWB环境来说,它就是一种类似TP的检测器(CICS)。

一方面Oracle公司在Oracle 10g Enterprise Manager图形用户界面(GUI)方面取得重大进展,另一方面一些高级Oracle专家仍然觉得有必要利用更加活跃的脚本环境。一个图形用户界面不能完成所有的任务,并且有些高级操作需要更加灵活、精确的工作控制逻辑:

预定执行——工作流在预先确定的时间、先决条件下完成。确保“遗漏”工作都是预先确定的。

条件执行——在已完成任务情况的基础上执行新的任务。

对错误警告和工作流的确认——Oracle DBA需要确定所有可能出错的范围并创建用户退出窗口终止执行直到解决所有重要事情。

Oracle数据仓库专家在管理ETL时有两种方法:

亲自动手(DIY)——如果Oracle DBA已经懂得怎样创建batch stream、检测错误和进行有条件执行,那么写ETL就是一种方法。Oracle10g dbms_scheduler包能够用来安排job-stream,或用习惯做法:OS shell脚本。DIY方法更加灵活,这样你就可以选择最佳的处理方法和技术,而不是依靠OWB提供的工具。Tim Hall在这方面撰写了一本很好的书,书名为Oracle Job Scheduling,它是在Oracle环境中执行复杂工作任务的最全面的参考书。

使用OracleMetaBase脚本——OMB是Tcl语言的扩展(全称为tickle),它具有下列强有力的特性:程序设计语言,包括复杂的布尔运算符、变量支持和loop循环(FOR, WHILE, REPEAT-UNTIL)。Oracle数据仓库Tcl扩展是为OMB定做的,所以进行复杂的数据配置以及规划job stream。跟Java一样,OMB有独立的平台而且在Mainframe或者Macintosh上运行MetaBase时不需要做任何的改变。

当然,MetaBase需要你额外购买Oracle Warehouse Builder来处理ETL,但是OWB OMB的脚本语言是一种具有吸引力、并能代替“亲自动手”的方法,这种方法取决于你ETL处理的经验水平。

内部OMB语句

让我们更仔细地观察OMB环境。OMB跟SQL*Plus很相似,它可以调用内部命令目录来处理OWB数据映射。这些数据映射能嵌入(一个层级结构),并且OMB给出命令允许你从Tcl程序中调用这些映射。以下是两种OMB命令:

元数据定义语言(MDL)——如DDL一样,通过它你能创建和下拉OMB对象。MDL对象类型包括项目、模块、表、映射以及工作流程步骤。

OMBalter——用来为Warehouse Builder元件改变元数据。在下列的示例中,要注意类似UNIX反斜线符号命令延续字符:


ombalter mapping ’MAP_NAME’ modify operator ’join’ 
set properties join_condition) 
values (’fact.empno = emp.empno) 

OMBcreate——用这一命令在OWB中创建一个元件,也许是一个项目、模块、表、映射或者工作流程步骤。

OMBdrop——用来下拉存放中的命名对象。

元数据维护语言(MML)——类似Oralce DML,MML命令允许我们改变(增加、更新、删除)命名对象。一些MML命令还包括:

OMBCC——这是“更改内容”命令,其用法和UNIX以及DOS "cd"命令一样,都是用于更改OWB目录。

OMBCOMMIT——负责业务办理。

OMBCOPY——这是一个手动命令,用于复制和该命令同以类型的一个或者多个对象。


ombcopy ’AN_EXTSTING_MAP’ to ’A_NW_MAP’ replacement

OMBDEPLOY——它通过OWB运算时间表给具体的数据库部署一个具体的对象。

OMBLIST——OMBLIST命令包含在目录命令内,该目录在具体的子目录结构中列出了所有OWB对象。

OMBRECONCILE——用于协调OWB元数据定义和数据库元数据定义。

ODTUG文件明确提出“用Oracle的MetaBase Plus语言创建和部署映射和工作流”,使用Oracle的MetaBase对传统工作流应用软件来说确实是个很不错的选择,下面是MetaBase范围Tcl工作范例:下面的例子同样说明部署OWB流程指向Oracle Workflow引擎。首先,它连接存储库,改变了STUDENT_YEAR_4模块内容。然后开始用一个特殊的命名模式找回所有的工作流包,内部loop循环还能对该部署什么样的工作流进行控制。


proc owb_deploy_workflows_all {} {
 OMBCONNECT OWB_DEV/XXX@SERVER:1521:DBPROD
 OMBCC ’STUDENT_YEAR_4’
 OMBCONNECT RUNTIME ’SASI_CURR_RT’ USE PASSWORD ’XXX’
 set ModList [ OMBLIST PROCESS_FLOW_MODULES ’CURR_W.*.’]
 set i 1
 foreach ModName $ModList {
    puts "Accessing WF package: $ModName"
    OMBCC ’$ModName’
    set mapList [ OMBLIST PROCESS_FLOW_PACKAGES ’LD_ACNR.*.’ ]
    set J 1
    foreach mapName $mapList {
       puts " deploying: $mapName"
       OMBcreate TRANSIENT DEPLOYMENT_ACTION_PLAN
       ’DEPLOY_PLAN’ ADD ACTION ’WORK_FLOW_DEPLOY’
       SET PROPERTIES (OPERATION)
       VALUES (’create’) SET REFERENCE PROCESS_FLOW_PACKAGE
       ’$mapName’
       OMBDEPLOY DEPLOYMENT_ACTION_PLAN ’DEPLOY_PLAN’
       OMBdrop DEPLOYMENT_ACTION_PLAN ’DEPLOY_PLAN’
       OMBCOMMIT
       incr J
       }
OMBCC ’..’

小结

Oracle数据仓库DBA能否像选择ETL脚本语言一样选择OMB脚本? 由于OWB通常带有数据仓库许可证,因此它一般都是免费工具,任何数据仓库DBA都想希望能够在非GUI环境中处理OWB。唯一的缺点就是需要学习Tcl语言。

还没有登录? 阅读全文请先登录或注册
用户名:(请填写您的E-mail做为登录账号)
  • 获取最新的IT业界资讯、市场动态、行业趋势等独家原创内容。
  • 分享国内外技术专业人士提供的技巧经验。
  • 利用专注IT的技术资源中心,不断更新专业知识。
  • 享受白皮书、Webcast等系列特色增值服务。
  • 免费参加TT中国举办的各种会员活动。
  • 更多的精彩服务,在不断开发中……
用户名:(请填写您的E-mail)
密 码:
 永久登录
请输入您的登录email:
银行破产、全球经融动荡、信贷危机和销售萎靡使公司面临艰难的选择。一些公司仍在拥有少量资源中艰难度日,或者是面临破产,各地的主管都在努力寻找消减公司成本的方法。
由于商业智能(BI)赢得了众多的客户,Oracle在刚刚结束的民意调查中获得了更多的选票。Oracle在Gallup的产品经理Jim Collison表示,Gallup所获得的测验和调查的数据……
甲骨文和英特尔在正于美国旧金山举行的甲骨文全球大会上宣布,将就云计算展开合作,促企业级云计算发展及提高云计算的效率和安全性。
商业数据库在传统领域的市场竞争大的格局已经保持多年未变,而在商业智能方面的竞争日趋白热化。关于BI产产品市场份额的数据各大厂商一直众说纷纭,调查机构的数据……。
什么是BI?BI就是企业在运营上高层主管必须看的各项数据及分析资料。这些资料包括"总体运营状态分析统计资料"、"业务业绩达标率统计"……
本篇文章主要介绍SQL Server数据存储的物理对象和原理,包括SQL Server 2005和2008里的物理数据存储、SQL Server 2008数据类型(即Datetime、字符串、自定义及等)、在SQL Server数据库中加强数据的完整性……
本文为SQL Server 2008初学者指南,主要介绍SQL Server2008 T-SQL支持的基本元素和基本操作。
本篇技术专题主要内容包括SQL Server整合、SQL Server数据库设计灾难、SQL Server数据库查询设计以及SQL Server数据库同步、复制、报告显示。
最新更新
专家答疑
技巧
Brian Peasland
我在使用这个工具的时候就出现了以上的错误。由于出现了这个错误,我就没有顺利地完成备份。你能告诉我是什么原因吗?
Rudy Limeback
我想把这些日期按照月份聚集在一起,这样我们就能查看每个售货员每个月的销售量了。我怎么才能将这些月份的日期聚集在一起呢?
Maria Anderson
我得到了一个错误信息,如“DIM-00019:创建服务错误。”我用你寄给我的解决方案解决这一问题,即:“手动创建和启动服务。”你能告诉我如何手动安装该服务吗?