您的位置:首页 > 运维架构 > 网站架构

ebs系统架构简介2——三层结构和Environment file下篇

2013-08-16 02:56 941 查看
整理自:http://www.itpub.net/thread-1409361-1-1.html

Database Tier:
我们看R12的后台数据库。

Oracle Applications 充分使用 Oracle 数据库提供的各种数据类型:
select object_type, count(*) from dba_objects where owner not like '%SYS%' group by object_type order by 1;

OBJECT_TYPE           COUNT(*)

------------------- ----------

CLUSTER                      1

DATABASE LINK               60

EVALUATION CONTEXT          30

FUNCTION                   109

INDEX                    56080

INDEX PARTITION           5128

INDEX SUBPARTITION        3266

INDEXTYPE                    2

JAVA CLASS                 968

JAVA RESOURCE                9

JAVA SOURCE                  2

JOB                          2

LIBRARY                     18

LOB                       2086

LOB PARTITION              326

LOB SUBPARTITION           752

MATERIALIZED VIEW          768

OPERATOR                     7

PACKAGE                  53673

PACKAGE BODY             52528

PROCEDURE                  285

QUEUE                      264

RULE                        21

RULE SET                    87

SEQUENCE                 11659

SYNONYM                  78416

TABLE                    33005

TABLE PARTITION           3106

TABLE SUBPARTITION        1586

TRIGGER                   6630

TYPE                      4240

TYPE BODY                  119

VIEW                     34631

XML SCHEMA                  91

可看到既有数据,也有各种 code ,JAVA,PL/SQL,Trigger 等。还有hybrid的如MATERIALIZED VIEW。

R12 支持 Multiple Languages,有关的translated data 放在 translation table (_TL)中。

所有的product 都各自有自己的Product Schema 放数据 object 例如tables , indexes, sequences。 

所有的 code object 例如 triggers ,views, pl/sql, synonyms

等都集中在一个 统一的 schema 叫 APPS 上。 应用通过 这个 schema来 access data。

数据库上 R12 并没有用到什么特别的 Database Features.

Database Tier 有关的 Server Process Scripts 可在以下目录找到:

<RDBMS ORACLE_HOME>/appsutil/scripts/<CONTEXT_NAME>

除了以上的基本配置外, 其他一些稍微复杂的配置考虑:

1. Load balancing ,这主要有以下两方面:

- Network 层面 - 主要采用 hardware load balancer ,象 F5 这样的系统,外置在oracle appserver 外,然后两者结合 。最简单有效的就是,一个 hardware load balancer 的web 入口,然后指到 几个不同的 EBS app server
上。

- Concurrent processing 及database 层面 - 采用 Parallel Concurrent Processing (PCP)和 Oracle RAC 的技术。

具体,可参考 Using Load-Balancers with Oracle E-Business Suite Release 12 (Doc ID 380489.1)。

2. Failover

在这方面, R12比11i 有进步, 每一个 app server 的安装都是一样的,所以app server 之间services 可以 互相 failover。 例如,一开此,系统如下运行:

app server 1:Web, Forms.

app server 2: Concurrent Processing

假如 app server 1 停了,你可以将 Web,Forms 的服务 在 app server 2 上启动。

app server 1: 

app server 2: Web, Forms, Concurrent Processing 

R12 还提供 shared app tier file system 的安装,所以两台机器间的failover 比较方便。

具体,可参考 

Sharing The Application Tier File System in Oracle E-Business Suite Release 12 (Doc ID 384248.1)

===============================================================================================
Environment Files

R12的环境非常复杂,目录众多,所以 Oracle 准备了很多 Environment Files。

上面提到的三个 Oracle HOME ,每一个 都有各自的 Environment File,另外,

APPL_TOP 也有自己的Environment File。

它们分别是: ( <CONTEXT_NAME> is <SID>_<hostname> ) 

${RDBMS Oracle HOME}/<CONTEXT_NAME>.env

${10.1.2 Oracle HOME}/<CONTEXT_NAME>.env

${IAS Oracle HOME}/<CONTEXT_NAME>.env

$APPL_TOP/<CONTEXT_NAME>.env

除此以外,Apps Tier 还有一个总的Environment File。

$APPL_TOP/APPS<CONTEXT_NAME>.env

Key Parameters in <CONTEXT_NAME>.env:

APPL_TOP:

ADMIN_SCRIPTS_HOME:

GWYUID:

FND_TOP

AU_TOP:

<product>_TOP

PATH

APPLCSF: 

APPLLOG

APPLOUT:

APPLTMP : Temporary Files 的位置

APPLPTMP : PL/SQL output 的位置

INST_TOP

还有一些变量 定义在其他文件,但引用在 <CONTEXT_NAME>.env 里,例如

$APPL_TOP/admin/adovars.env, 它包含有:

JAVA_TOP : all java files 

OA_JRE_TOP : jre location

OAH_TOP : HTML files location

LD_LIBRARY_PATH

CLASSPATH

另外,还有一些 Environment file, 例如 adconfig.txt,fndenv.env ,devenv.env ,但不常用。

有了正确的 Environment file 后, Oracle 提供 Application Tier Server Control Scripts 给 我们 start/stop/status app tier 的 各个components。所有的 scripts 都在 ADMIN_SCRIPT_HOME 目录上。

常用的有

cd $ADMIN_SCRIPTS_HOME (  $INST_TOP/admin/scripts ) 

adstrtal.sh

adstpall.sh

adautocfg.sh

adalnctl.sh

adapcctl.sh

adcmctl.sh

adopmnctl.sh

这些 Environment Files 都是由 Oracle 的 Autoconfig 自动管理。

Oracle Applications 可以支持 NLS 和 MLS。 NLS 指 支持某一种语言,比如中文;MLS指在一个安装中同时支持几种语言,比如一家公司同一个安装下,既有中国分公司,也有美国分公司,所以需要同时支持中文和英文。

要支持非英语的语言或同时支持几种语言,就要考虑 Character Sets 的问题。

除了在数据库层要考虑合适的Character Sets外, 还要考虑 database tier,application tier, 和 desktop tier 三者的 Character Sets 要一致。比如,如果在 db tier 选了 UTF8,那么 application tier 和 desktop tier 也要 UTF8。

除了语言支持外, Oracle Applications 还有Country-specific Functionalities 以达到Globalizations 的目的。这在 rapid install 时选择。

============================================================
Oracle Application file systems

了解了 Environment Files 和 start/stop control scripts 后,我们可以进一步了解Oracle Applications 的 file systems。

先看Database Tier , File System 没什么特别,最简单的就是一个file system装software binary, 

一个 file system 装 data。像下面这样:

/u03/db/tech_st/10.2.0

/u04/db/apps_st/data/

        
在Application Tier File System 上, 就主要有:APPL_TOP , COMMON_TOP, TOOLS Oracle HOME,IAS Oracle HOME 和 INST_TOP.



APPL_TOP:                /u01/apps/apps_st/appl          ——oracle ebs 产品的目录和文件。在 APPL_TOP 目录下, 每一个 product 有各自的 Product Directories。 例如 

gl,ad,fnd 等等。在每一个 Product Directory 下,有着相同的 目录结构。

COMMON_TOP:                /u01/apps/apps_st/comn       ——包括java的类文件,HTML的页面文件等。



在COMMON_TOP下的admin目录,是concurrent manager 的日志和输出数据的默认目录。当并行管理器(concurrent manager)运行ebs的report的时候,会写日志文件还有临时的文件到admin目录下的log目录和out目录。在admin下还有一个install子目录,放的是Rapid Install的日志文件。admin的scripts子目录包含了启动和停止一些服务的脚本,比如listener和concurrent manager等服务的。。

TOOLS Oracle Home:        /u01/apps/tech_st/10.1.2
IAS Oracle HOme:        /u01/apps/tech_st/10.1.3
INST_TOP:                /u02/inst/apps/PROD_mis

我们看一个appl目录下某个模块的目录:

[applvis@mis appl]$ ls $APPL_TOP/gl/12.0.0

admin  forms  html  lib  mds    mesg  patch    sql

bin    help   java  log  media  out   reports

$APPL_TOP/admin 主要有 给 AD utilities 用的 各种文件。其他需要注意的direcrory 

还有:

AD Directory: $APPL_TOP/ad, adadmin/adpatch/adconfig.sh etc.

AU Directory:  $APPL_TOP/au

Common Components Directory :                         $COMMON_TOP

Applications Technology Stack Directory :         Tools and IAS Oracle HOME.

Database Directories:                                 rdbms Oracle Home . $ORACLE_HOME/appsutil etc.

有关 Applications 的配置参数,Oracle 都放在一个 Applications Context File 上。

$INST_TOP/appl/admin/<SID>_<HOSTNAME>.xml. 这也是 AUTOCONFIG 的设计。

重点再讲讲instance home 这个目录:

在applmgr用户下面的环境变量表示为:$INST_TOP

instance home提供了在多个实例上共享应用程序,共享代码的功能。比如,一个开发的实例和一个测试的实例。支持只读的文件系统,支持日志文件集中化等。。



上面说到了日志文件集中化,Instance Home这样做,集中管理了:



==============================================================

应用层的file systems 共享:

共享的应用层系统,所有的应用层文件被安装到一个单独的共享的被挂载到每个应用层节点的存储上,任何的应用节点可以提供标准web 或者 form,或者 concurrent processing等服务:



好处有如下:

1)大部分的管理、打补丁、维护等只需要在单个应用节点上进行一次。

2)对共享文件系统的模式的更改会迅速的被其他节点识别,应用。

3)分布式进程在多个节点上并行运行。

4)降低了过多的磁盘访问

5)更容易的添加新的应用节点。

另外对于共享的应用层文件系统,其可以访问多个数据库,此时只是应用层的文件系统被共享,数据库层没有共享。

============================================================

环境参数设置:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: