Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1851267
  • 博文数量: 334
  • 博客积分: 11301
  • 博客等级: 上将
  • 技术积分: 3452
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-18 10:19
个人简介

路虽弥,不行不至;事虽少,不做不成。

文章分类

全部博文(334)

文章存档

2013年(4)

2012年(19)

2011年(27)

2010年(71)

2009年(45)

2008年(15)

2007年(84)

2006年(69)

分类: Oracle

2010-03-25 10:29:05

 从一个“普通”的 DBA(数据库管理员)转变为Oracle Applications DBA(Oracle应用程序数据库管理员),有两个内容你必须去弄清楚。第一个内容是如何成为一个Oracle Applications DBA(Oracle应用程序数据库管理员)。第二个内容是你要搞清楚Oracle应用程序背后的架构体系,也就是说你要明白诸如以下产品的结构体系:Oracle电子商务套件、Oracle 11i数据库、Siebel产品等。

    本文首先讲述如何从一个普通的Oracle DBA转变为一个Oracle Applications DBA(Oracle应用程序数据库管理员),接着讲述一些Oracle应用软件架构方面的内容 。

如何成为Oracle应用程序数据库管理员
    首先是角色的转变
    Oracle Applications DBA(Oracle应用程序数据库管理员)对“普通”的Oracle DBA(Oracle数据库管理员)来说是一个很大的挑战。拿Oracle EBS DBA(Oracle 电子商务套件DBA)来说,不仅需要了解EBS的各个组件、服务,而且还要更主动和其他相关人员接触。 一个Oracle Applications DBA(Oracle应用程序数据库管理员)不仅需要和其他DBA一样去负责managing、 sizing、maintaining和 tuning database这些日常的数据库管理的工作,如果他的Apps database是OLTP系统的话,他还需要监察wait和lock 。Oracle E-Business Suite还有一些特性需要DBA去完成,比如从外部资源里灌数据到Apps database里,或支持开发人员从已有数据中提取数据。

接着工作内容的转变
    作为一个Oracle Applications DBA(Oracle应用程序数据库管理员),要想更好的对Oracle Application database做支持,需要仔细记住以下几项。
 1.网络上没有什么比较容易简单的文档让你去熟悉Apps DBA,所以我建议去看帮助。
 2.在你没有经过多次并且得到客户认可的时候不要去打补丁,并且你要确信这个补丁解决了现有的问题,而且没有带来其它新的问题。
 3.记住Oracle Applications会有很多索引,定期rebuild index会对性能有好处,当然做这项工作应该在系统的空闲时间。
 4.不要为了提高性能而在没有询问oracle Support前试着去增加额外的indexes。如果你一定要去做,那千万记住要有文档作记录,因为在这之后你再打patch的时候它可能会把你做的修改自动复原。
 5.知道怎么样是正确的打patch,先计划打哪个patch,然后取得patch,接着打patch,,最后文档记录。
 6.要知道任何时刻数据库都可能会有一些object 是invalid的,你的一些操作也会增加invalid objects,定期检查这些invalid objects的数量,然后定期用utlrp去重新编译,utlrp.squ在ORACLE HOME的rdbms/admin下,需要用SYS运行。在你的DB运行过程中如果碰到错误,就可以先重新编译invalid objects,如果没有解决问题再去递交iTAR(Internet created Technical Assistance Request). 
 7.能看懂日志。
 8.了解Apps database的环境,包括操作系统和DB的,当你对你的工作环境了如指掌后,一切也就变得容易了,那时,你就是一个悠闲的Apps DBA了。

    另外,对于APPS DB(应用程序数据库)来说,你可能需要创建或拷贝(克隆)多个生产库以外的数据库,比如测试和开发数据库,当然,需要多少数据库是由你的商业需求所决定的。开发环境数据库是供开发人员进行report,PL/SQL等开发的,这个环境可以在开发人员觉得数据已经不再满足开发需求的时候,当然也可以在这个环境测试补丁(patches)。当然最终使用patch的时候还需要在测试环境做测试,因为测试数据库是和生产数据库环境最接近的。(上面说的克隆cloning是一种将applications layer和database layer完全复制的一种方法。)所以,当你拥有这三个数据库的时候,打patch的步骤是先development database再test database最后才在production database环境应用。

构架应用体系
    如果你研究过Oracle Forms,使用过Application Server和Developer Suite来开发、配置部署form和report,并且曾经作为一名Oracle DBA,经历过许多管理和维护的工作如patching和cloning的话,那么你就已经能够掌握了OA 90%的内容。Oracle Apps应该是这样的应用软件,高速度、低拖延的ERP应用软件,使用Oracle所能提供的最好的web和数据库组件。我说的对吗?实际上不完全对,在11.5.9的版本里,你能看到应用最早期的一个版本,并且Oracle的版本还是8.0.6。

    EBS环境最简单配置也包括两个,这两个服务器也就是我们熟知的两层:数据库层,和中间层,也叫应用层。数据库层就如字面的意思,就是应用程序的后端数据库。中间层就类似Application Server(应用程序服务器)。
中间层

    在中间层,更确切的说运行在中间层上的还有几种服务。所有的服务都不相同,有OC4J、report engine、form等。你能看到应用服务器(Application Server)存在于中间层,另外还有Oracle应用程序具体的服务器。总的来说,有六种服务器存在于中间层和应用层,它们是:
• Web 服务器
• Forms服务器
• Reports 服务器
• Discoverer服务器
• 并发处理服务器
• Admin服务器
   
    至于Application Server,上面列举的其它服务器和Application Server性质不同的就是并发处理服务器了。对于并发处理服务器,我们可以认为它是一个助手的角色,在EBS用户请求和数据处理过程中协调作业和过程;另外,如现代的Application Server,上面列举的服务并不是每个都必须在相同的服务器上。

    我们可以类似的认为Oracle Apps配置就是对Forms 和 Reports 服务,以及后端数据库的配置。在app server 和数据库之间物理或者逻辑关系是什么样的?在Oracle应用程序世界里,在中间层生成的文件能够,有时是需要放到数据库层。这些文件大多以文本文件的形式存在,包括配置信息。其他文件是与cloning相关的。

[1]  


-
阅读(1054) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~