如何给OracleERP报表添加Excel查看方式

pic1

如何实现如上图在查看Oracle ERP报表时可以选择Microsoft Excel类型?很简单,作下面的设置就可以了。

用sysadmin登录Oracle ERP系统,选择Install -> Viewer Options,然后添加一条新记录。新纪录的File Format为”Text”,Mime Type为”application/vnd.ms-excel”,Description为”Microsoft Excel”,保存。

pic2

记在这里,作个备忘。

Oracle Apps DBA工作小结

开始Oracle Apps DBA的工作到现在差不多有2周了,为了清理思路作个小的总结。

日常需要做的工作包括:
1。Oracle Apps的克隆,复制,因为有各个省份的生产环境,测试环境,开发环境,所以克隆,复制的需求量很大,这是个熟能生巧的事情,同时也是个比较无聊的工作,没什么技术含量。

2。Oracle Apps的troubleshooting,通过对Oracle Forms做trace,再加上反应不算快速的Metalink支持,基本上也可以应付。但是看见旁边的同事疲于应付各种求助,感觉上也有些烦躁。

3。数据库的备份,使用HP OpenView Storage Data Protector+RMAN,以前没有用过omni,但是仍然属于熟能生巧的事情,而且有HP工程师作技术支持,也不是什么问题。目前需要做的是备份策略还没有完全测试过,这是这周的主要工作。

4。编写文档,文档的模版比较正规,但是内容仍然需要改善,各个省份的文档都是Ctl+C, Ctl+V,然后全局替换的产物。

5。SQL Tuning,一般是对于客户化开发功能的SQL调优,目前我对于应用还很不熟悉,所以这部分工作还没有开始。

需要接触的技术:
HP主机 + Oracle数据库 + Oracle Apps 11i + HP OpenView Storage Data Protector

工作之外需要进一步学习IT管理,也许今年内可以把ITIL认证拿下。

Oracle Applications – Concepts

根据自己制定的Study Plan [Flickr Image],今天浏览完了Concepts文档,总算在脑子里面有个Oracle EBS大致的轮廓了。

1. Oracle Applications Architecture
典型三层结构,Desktop Tier + Application Tier + Database Tier
Desktop Tier通过浏览器,利用Oracle自己的JVM – JInitiator跟Application Tier通讯,将表单以JAR文件的形式缓存在本地。
Application Tier是业务层,通过自带的Oracle806数据库(Net8)跟底层Database Tier中的Oracle9i通讯,包含这么几个服务:Web server, Forms server, Concurrent Processing server, Reports server, Discoverer server (optional), Admin server。
Database Tier不用多说,业务数据都保存在这个数据库中,EBS11.5.9默认安装Oracle9201,需要手动打patch到9206。

2. Release 11i Enhancements
因为从来没有接触过以前的版本,所以这个Enhancements部分对我而言没什么意义。
只需要登录一次E-Business Suite Home就可以了,不再需要单独登录其它的工具或者产品。
提供了Oracle Applications Manager(OAM)工具来配置,监控,诊断Oracle Applications系统。
Application Tier部分使用了Oracle9iAS。
Database Tier支持且为cost-based optimization (CBO)做了优化,支持Database Resource Manager,支持Partitioned Tables,启用了Invoker Rights功能保证大部分的包都只安装在APPS用户下以节省维护成本,支持实体化视图(MV),支持RAC。

3. Internationalization Support
因为开始支持UTF8字符集,所以不再需要特殊的处理方法,在一个实例中就可以解决多语种问题了。
在任何一层如果选用了UTF8字符集,那么其它层也必须使用此字符集。
在安装的时候就应该筹划好字符集的选择,否则事后再修改是一件困难的工作。

4. File System
这一部分花了一段时间去学习,并且登录了四川移动的开发Portal来比对文档中提到的目录结构,基本上还算明朗,最后自己用SmartDraw画了一个Oracle Application File System Map [Flickr Image] 来清理思路。

还有不少environment setup files以及其中的环境变量需要以后慢慢去熟悉。

5. Data Model
各个产品的数据对象,比如表,索引,约束,序列等,都存在自己的产品用户下,我现在使用的系统中有220个用户,粗略估计一下大概有200个用户是Oracle Applications产品相关的。

SQL> select count(*) from dba_users;

COUNT(*)
----------
220

所有产品的编码对象,比如视图,包,存储过程,函数,触发器等,都保存在APPS用户下,同时每个产品用户都授权给APPS用户访问自己数据的权限,所以我们只需要通过APPS用户就可以直接访问各个产品用户的数据。很明显这个特点让维护成本大大降低。

多组织(Multiple Organization)构架通过分区表来实现,正常情况下,用户访问的是根据分区关键字返回的视图(通过FND_CLIENT_INFO包?),而不会去访问后缀为”_ALL”的基表。

这边没有用到多币种报表(Multiple Reporting Currencies),跳过。

推荐的Release 11i的Oracle9i Server Tablespaces包含:SYSTEM, Rollback, Temporary以及每个产品使用自己的表空间,每个产品有两个表空间,一个给数据用,一个给索引用,通常命名规则是’产品简称+D’表示数据表空间,’产品简称+X’表示索引表空间,比如HRD和HRX。我使用的这个测试环境中,表空间有371个。

SQL> select count(*) from dba_tablespaces;

COUNT(*)
----------
371

Release 11i要求Database Block Size最少是8K。

最后提到了”Sizing Factor”,这里有个奇怪的问题,既然前面已经提到全部产品表空间都是LMT,为什么还要提单个Object的NEXT参数设定?对于LMT的表空间来说NEXT参数还有什么意义?并且居然还强调“Do not use a sizing factor of 0%.”,哪位可以给我一个解答

以上只是很简单的一个印象,文档中的很多东西一时还无法理解,不过感觉有Oracle RDBMS基础,对于理解Oracle Applications会有很大帮助,不管如何,它只是一个应用程序,最终去读取存储在Oracle Database中的数据而已。

BTW:我们的测试环境是IBM AIX。

SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
PL/SQL Release 9.2.0.6.0 - Production
CORE 9.2.0.6.0 Production

TNS for IBM/AIX RISC System/6000: Version 9.2.0.6.0 - Production
NLSRTL Version 9.2.0.6.0 - Production

再BTW,我现在周围的情景是,前后左右的女孩儿不停地从抽屉里翻出各种各样的零食塞进嘴里,然后满足地发出“啊哟,好撑啊”的感慨。Cool,下班!