Oracle EBS 11i系统安装与维护

Oracle EBS Documents EBSGuideOracle® Applications Flexfields Guide Release 12Oracle® ApplicationsFlexfields Guide Release 11Oracle® Applications ConceptsRelease 11i (11.5.10) Part No. B13892-01Oracle Applications Develope 阅读详情
This section give you a guide to install Oracle Application on microsoft windows.
OS:            Windows XP With SP1
EBS: 11.5.10IP:                   192.168.1.101
PC Name:         huajhua
Domain: leiko.com, you need not add to domain in deedRAM: 512M, 1.5G Virtual Memory
Disk Space:      80G, 20G For Stage File, 60G For Installation.
 
操作系统
最好是干净的系统。
如果以前装过Oracle相关产品,要删除所有Oracle安装(注册表中的Oracle和服务、系统盘下的/Program Files/Oracle/Inventory、环境变量)。
Setup Printer On Windows
添加打印机,如果无法添加,请检查“Print Spooler”服务是否启动。如果没有装打印机,RPT类型的请求将无法运行,会报REP-3002: Error initializing printer。
可以添加实际的打印机,也可以添加虚拟的打印机,后者需要选择打印端口为“文件”。
接下来是选择驱动程序,如果是虚拟打印机,则随便选一个,比如Epson Stylus COLOR 1520K ESC/PK(图略)。
给打印机命名为“noprint”。
是否打印测试纸选择“否”。
Setup Hosts
设置Host文件,否则安装过程中检查名称解析将通不过。
Setup Static IP Address And DNS Suffix
在“本地连接”的属性里面设置静态IP和DNS后缀。
Setup Microsoft Visual C++ 6.0
Oracle安装过程中需要调用VC6的link命令。安装VC英文版即可,路径:E:/VC98。(Metalink说C:/ VC98,不知道为什么不用VC6默认的安装路径;我改成E盘根目录)。安装VC、ActiveX、Data Access三个组件即可。装完把link.exe拷贝到System32目录,重启。
Setup MKS Toolkit
必须安装MKS Toolkit,Oracle安装过程中需要调用Unix命令(比如which/cc),这些命令在Windows下没有,而MKS Toolkit可以在Windows下模拟大部分Unix命令。安装路径:E:/MKS。(Metalink说C:/MKS,不知道为什么不用MKS Toolkit默认的安装路径;我改成E盘根目录)
Setup GNU Make
Oracle安装过程中需要调用gnumake命令。从http://ftp.gnu.org/pub/gnu/make/下载,比如make-3.80.tar.gz,解压,在命令行下build_w32.bat,第一遍有问题,再运行一遍就可以了;然后把WinRel下的gnumake.exe拷贝到J:/MKS/mksnt。运行
 
Using Stage Directory
可以从DVD光盘安装,也可以把所有文件拷贝到硬盘,然后从硬盘安装,避免安装过程中不停的换光盘。从http://edelivery.oracle.com/EPD/GetUserInfo/get_form下载的文件,解压缩之后自然形成需要的目录结构,如下。
针对11.5.10.2版本,需要Oracle® Applications 11i Release 11.5.10.2 Rapid Install Start Here - Disk 1 (Part 7 of 7)(1张)、Oracle® Applications 11i Release 11.5.10.2 for Microsoft Windows Rapid Install RDBMS - Disk 1(3张)、Oracle® Applications 11i Release 11.5.10.2 for Microsoft Windows Rapid Install Databases - Disk 1(7张)、Oracle® Applications 11i Release 11.5.10.2 for Microsoft Windows Rapid Install Databases - Disk 2(6张)、Oracle® Applications 11i Release 11.5.10.2 for Microsoft Windows Rapid Install Databases - Disk 3(6张)、Oracle® Applications 11i Release 11.5.10.2 for Microsoft Windows Rapid Install Tools - Disk 1(3张)、Oracle® Applications 11i Release 11.5.10.2 for Microsoft Windows Rapid Install APPL_TOP - Disk 1(7张)
Start Rapidwiz
必须从命令行运行startCD/Disk1/rapidwiz下的rapidwiz,启动安装程序。
Welcome Informaiton
出来欢迎界面。
Select Wizard Operation
选择安装模式,初次安装请选择“Install Oracle Application E-Business 11i”,下面的“Use Express Configuration”不要选,这样我们可以自己配制安装选项,了解安装任务。
 
Load Configuration
第一次运行Rapidwiz,没有安装配置文件,所以要选择No,以后再启动Rapidwiz,就可以选择以前保存的安装配置文件。
Install Type
选择Single-node (All Services on a single node),所有服务都装在一台机器上。如果选择Multi-node,那么可以选择数据库和Concurrent Manager装在一台机器上,HTTP/FORM/REPROT服务和Application装在另一台机器上。
 
Define Database Type
选择Vision Demo的话会装一个演示环境,需要90G的空间。选择Fresh Database,会安装一个空的数据库,所有模块的设置都需要从头进行。
Database Install Information
选择数据库安装目录。选择Advance,可以把DB Oracle Home/SYS数据文件/LOG文件/Transaction数据文件/归档文件装在不同的磁盘上。这里没有提供控制文件的安装路径选择,只好待安装完之后,再来移动控制文件。
 
Select Licensing Type
这里的License选择,仅仅代表你买了什么产品,并不会影响功能模块的使用。安装完之后也可以通过OAM来添加License。
E-Business Suite Licensing模式默认选择了一些常用的模块。
Component Applications Licensing模式则需要我们手工选择,如Order Management /Inventory Management/Purchasing/Discrete Manufaturing/Financials/Human Resources。
 
Select Country-specific Functionalities
选择本地化功能,很多国家和地区都有一些特殊的本地化功能,比如Europe。为使安装最小化,这里我不选。
Select Additional Languages
默认只有American English,可以添加其他语言,比如Chinese,启用NLS。这里的选择还不够,需要在安装完之后打相应的语言包。为使安装最小化,这里我不加新的。
 
Select Inernationalization Settings
选择主语言、区域、数据库字符集、应用字符集,如果选择非US7ASCII,那么安装过程中,会自动对数据库进行字符集转换(我猜是针对数据库)。(注,在Adadmin里面也有字符集转换功能,我猜是针对应用)。
Configuration Information for Node
选择工具文件的路径和Application及Application Server的路径;这里同样可以分别定义APPL/ORA/IAS的路径。
 
Global System Settings
必须输入一个域名。同时选择端口的偏移量,比如登录应用默认是8000,如果偏移1则为8001,其他各个端口都是如此;这样可以做到在一台机器上安装多个Instance而端口不会冲突;当然可以个别指定某一服务的端口,特别是当端口已被机器上的其他服务占用时,就必须个别指定了。
Save Instance-Specific Configuration
保存上面辛辛苦苦做的安装设置,以便下次重新安装或者Restart时直接使用。
 
System Check Status
加查各种环境是否满足安装要求,比如端口是否可用、域名解析是否通过、需要的基本命令是否可用、磁盘空间是否足够等等
Validate System Configuration
加查结果。必须所有项目均OK,否则必须查出原因,直到检查通过。我碰到过两个问题:某一端口被其他程序占用(于是我Back到前面步骤改了该端口)、System Unilities Chek通不过(查看明细发现Which命令不成功,于是我卸载MKS后重新安装)。
Component Installation Review
最后Review所有设置,后悔还来得及。
Installation Confirm
确认开始安装。
 
 
Step 1 Of 5
安装数据库,没有问题。
Step 2 Of 5
安装数据库文件,并进行字符集转换,没有问题。
 
 
 
Step 3 Of 5
安装应用服务IAS和8.0.6,有问题,最后一直停留在100%,硬盘也没读写。
关掉安装程序,rapidwiz -restart再次运行,这次要选择上次保存好的配置文件,安装程序自动跳过前两个Step,但Step 3依然有问题,再关掉,再用rapidwiz -restart,通过。
 
 
Step 4 Of 5
安装Application文件和Comn文件,如AU_TOP,Form,SQL,Report等,没有问题。
Step 5 Of 5
系统配置,执行AutoconfigAdadmin等,没有问题。
 
Post-Install Checks
安装完之后的各项检查,自动完成。
Finish
大功告成!
 
 
 
 
登录操作系统
运行%APPL_TOP下的envshell.cmd,进入命令行,envshell.cmd会调用APPSPROD_<Machine>.cmd设置应用的环境变量,比如各个TOP。Unix下用应用帐户直接Telnet上去即可。
进入adadmin
命令行下运行adadmin,除了system的密码需要输入外,各个参数默认即可。
这样就进入到Adadmin主菜单。
Update Snapshot Information
更新快照信息,以后打patch需要,这一步需要近一个小时。需要把并发管理器停掉,最好把应用也停了,只留数据库。
选择2,Maintain Applications Files and Registry Menu。
选择5,Maintain Snapshot Information
选择2,Update Current View Snapshot即可
系统开始更新快照,耐心等待。
Compile Flexfields
在主菜单界面选择3,Compile/Reload Applications Database Entities menu。
进入之后选择3,Compile flexfields。
Apply Maintainace Patch
针对11.5.10,需要打Patch 3140000/346000;从Metalink下载。
下载下来解压到同一个目录,即可用adpatch工具打上去。
Apply 2451368 Patch
这里以打2451368 Patch为例。这个Patch是AR的多组织转换Patch,如果不打,在执行Convert To Multi-Org的时候会报警告。
先运行adadmin,切换到5,Change Maintenance Mode,然后Enable Mainenance Mode。
 
退出adadmin,进入到2451368 Patch所在的目录,如E:/Stage11i/patch/2451368,直接运行adpatch,按照提示操作即可。
打完Patch,再进入adadmin,disable maintenace mode。
 
启停数据库、应用服务
进入Windows服务界面,启动顺序如下:
1、起来数据库服务
2 、起来数据库侦听
3 、起来应用侦听
4 、这几个随便:apache服务,reports服务,forms服务,并发管理器服务
停止的时候反过来即可。
也可以通过命令来完成,请参考本文档相关章节;也可参考下面主页的Machine Admin Scripts。
登录
选择System Adminsitrator职责
定义用户
请参考本文档相关章节。
Assign Responsibility To User
请参考本文档相关章节。
测试报表
运行Active Users报表。
View Output/View Log/Copy File
选择View Output,View Log,并在Tools菜单下选择Copy File…,看是否正常。
测试Export功能
查出上面建的用户,把鼠标移入Responsibility,选择File/Export,看是否弹出保存文件的窗口。
测试TCF Port
进入IE,输入http://192.168.1.101:8000/OA_HTML/jsp/fnd/aolj_tcf_test.jsp?t=1,报“无法显示网页”,烦。
测试Jserv Port
进入IE,输入http://192.168.1.101:8000/OA_HTML/jsp/fnd/aoljtest.jsp,看是否正常。
我的系统报:
Missing e:/oracle/prodcomn/java/apps.zip
Missing e:/oracle/prodora/iAS/portal30/jpdk/lib/partnerApp.jar
Missing e:/oracle/prodora/iAS/mapviewer/lib/sdoapi101.jar
Missing e:/oracle/prodora/iAS/mapviewer/lib/sdovis.jar
Missing e:/oracle/prodora/iAS/mapviewer/lib/mapviewer118.jar
不管它,很多人都碰到;Metalink说可以在jserv.properties等文件中把相关条目注释掉。
选择页面底部的Enter AOL/J Setup Test以进行更多的测试,我的大部分是“无法显示网页”,懒得上Metalink查了,以后用系统有问题再说。
CGI方式登录
http://huajhua.leiko.com:8000/dev60cgi/ifcgi60.exe ,登录报APP-FND-01542,打开$APPL_TOP/admin/<SID>_<hostname>.xml,把里面的s_appserverid_authentication从SECURE改为OFF,adautocfg一下。
不过以后打Patch之前要记得改回来。
测试Workflow
以sysadmin登录,选择Workflow Administrator Web Applications职责,选择Item Type Definition,随便找一个,然后Run,参数随便填。下面是成功运行的工作流Requisition的Diagram。
 
打Patch通用步骤
检查已安装模块版本:
SELECT app.application_short_name, app.application_name, pi.patch_level
 FROM fnd_product_installations pi, fnd_application_vl app
 WHERE app.application_id = pi.application_id
检查已安装Patch:
SELECT * FROM ad_applied_patches WHERE patch_name = '2451368' 。
从Metalink找到需要的Patch,然后
0.      阅读Read readme document,看有没有条件,下载,用Unzip解压
1.      applmgr用户登录操作系统
2.      设置环境变量( $APPL_TOP/APPSORA.env)
3.      停应用 adstpall.sh (至少要停并发服务器),数据库和监听保持启动状态
4.      用adadmin Enable Maintenance Mode
5.      之后,运行adpatch命令,从cxxx.drv开始打,然后是dxxx.drv,gxxx.drv
6.      用adadmin Disable Maintenance Mode
7.      启动应用 adstrall.sh
 
由于我的笔记本只有512M内存,所以有必要调整系统性能,否则跑起来太慢。对于内存超过1G的系统,可以不用考虑。
原来系统起来约用内存1.2G,登录系统后约1.3G-1.5G;经过调整,系统起来约用内存600M,进入系统之后700M多。
停止不必要的Windows系统服务
Windows本身有很多服务是可以停止的。具体可查看网上资料;最后我系统启动之后内存占用不到100M;启动Word2003之后约125M。
停止MKS相关程序和服务
MKS Secure Shell Service/MKS Telnetd/MKSAUTH/NuTCRACKER Service都不需要,可以设为手动。此外还有一个伴随Windows一起启动的MKS程序也干掉。
Oracle相关服务
把所有的Oracle服务设为手动,有些原来自动起来的服务其实一般都用不上,比如:
Oracle Fulfillment Server PROD_huajhua
Oracle Metrics Client PROD_huajhua
Oracle Metrics Server
PROD_huajhuaOracleDiscoverer4i_PROD
。
以后可以根据需要启动,要用数据库,可启动:
OraclePROD_db920_RDBMSTNSListenerPROD
OracleServicePROD
如果要用Application,先启动数据库,再启动应用服务:
OraclePRODOra806_2TNSListener80APPS_PROD
Oracle Apache Server PROD_huajhua
O OracleFormsServer-Forms60PROD_huajhua
如果要运行请求,那么再启动
racleConcMgrPROD_huajhua
如果要运行报表,那么再启动
Oracle Reports Server [Rep60_PROD]
Init<SID>.ora
编辑DB Oracle_Home/9.2.0/dbs下的Init<SID>.ora文件,调整内存参数:
db_cache_size                   = 40000000 #HUAJHUA#Default 163577856
pga_aggregate_target      =150M          #HUAJHUA#Default 1G
shared_pool_size    = 50000000 #HUAJHUA#Default 300000000
shared_pool_reserved_size= 10000000         #HUAJHUA#Default 30000000
java_pool_size                   = 10000000 #HUAJHUA#Default 52428800
由于9i采取自动内存管理(workarea_size_policy=AUTO),所以只要保证后面3个加起来不超过pga_aggregate_target即可。
这时再启动数据库,发现总共内存只用300M多,原来需要700-800M左右。
Apache JServ
Apache一起来就用掉500-600M的内存,我发现可以调整Jserv的配置文件以减少不必要的加载,主要是jar文件。
先备份%IAS_ORACLE_HOME%/Apache/Jserv/etc文件夹
编辑jserv.conf、jserv.properties、jserv.properties.org、jserv_restrict.properties这4个文件,注释掉所有和disco4iviewer、emailcenter、mobile、viewer4i、xmlsvcs、Portal有关的语句。这一步可以减掉约200M内存;数据库、Form/Report、Apache起来之后只有500M。#HUAJHUA#
应该还有其他地方可以调,有空再研究。
注意,运行adautocfg之后,这些都会被覆盖,所以要重新配置,不然会奇怪为什么内存突然又长上去了。
Concurrent Manager
通过Windows Task Manager可以发现,里面有大量的exe文件在运行,有的5个,有的3个。
FNDLIBR.exe
FNDCRM.exe           Conflict Resolution Manager
POXCON.exe
INVLIBR.exe
RCVOLTM.exe
CONCSUB.exe
……
其实这些都是并发管理器,如果把它们调为1,这样又可以少占一些内存,而且可以提高系统运行速度。
N: System Administrator/Concurrent/Manager/Define
查出全部Enabled的并发管理器,点击Work Shifts,可以调整每个管理器的Processes数。Conflict Resolution Manager定2个,Standard Manager定2个,其他的全部调为1。以后如果碰到请求处于Pending状态,再来调整也不迟。如果做得绝一点,只留Internal Manager和Standard Manager,其它的等运行相关请求时报“No Manager”再来调也可以!
这样,整个系统起来之后,加一个Word,一个IE,一个SnagIT,约630M内存!
Scheduled Concurrent Program
参见下个主题。
JVM参数
最近又发现%APPLTOP%/Admin/PROD_huajhua.xml的内容通过adautocfg写到各个地方的配置文件。其中关于JVM的参数很值得怀疑,因为每次Apache起来,系统都有3个java.exe进程,而且狂占内存,我想这个跟JVM的内存参数有关:<jvm_options oa_var="s_jvm_options" osd="NT">-verbose:gc -Xmx512M -Xms128M -XX:MaxPermSize=128M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:+UseTLAB </jvm_options>。这样的内存参数在文件有几个地方。
我把上面的改为-Xmx128M -Xms64M -XX:MaxPermSize=64M;还有几个地方也作类似的调整。
重新运行auto config,然后重新调整了上面提到的“Apache JServ”,发现内存果然锐减!
 
系统安装之后,有几个Scheduled的程序。
OAM Applications Dashboard Collection
如果进入OAM页面,即下面的Oracle Application Manager,那么可以看到很多管理参数和性能参数;OAM Applications Dashboard Collection就是用来动态收集这些信息的。可以考虑把它取消,以后需要的时候手工运行。
Purge Debug Log and System Alerts
还没研究清楚;本来是每天运行,先停掉再说。
Workflow Control Queue Cleanup
还没研究清楚;本来是每天运行,先停掉再说。
Synchronize Workflow LOCAL tables (Report Set)
还没研究清楚,Metalink说是用来同步各个模块的User和Role信息;本来是每天运行,先停掉再说。
这里指嵌在EBS中的Workflow。
中文安装可参考商XXXX的《Oracle_WorkflowServer_Setup_11.5.10.doc》,完整的参考资料见Oracle的《Oracle Workflow Administrator's Guide》。
$FND_TOP/admin/sql下有Workflow管理和诊断脚本。
 
设置步骤
摘自Oracle Workflow Administrator's Guide。下面的章节详细说明Required的和比较有用的设置步骤。
目录服务
Worflow的核心功能之一就是消息(Notification),要发消息,当然要有接收人,这个接收人可能是一个user、一个employee、一个Responsibility、一个客户、一个职位等等。
在EBS中这些接收人分散在各个模块的各个表中,而Worflow Engine仅承认WF_表中的接收人。
Oracle目录服务的作用就是把这些分散的资料按照统一的格式集中起来,存在WF_LOCAL系列的表中,并以来源字段区分。这样我们在程序中如果要找某一个接收人,仅从WF_LOCAL系列的表中查询即可(实际应用中,是调用一个标准API从WF_ROLES视图取数),不需要记住所有的源表。
接收人分用户和角色,角色包含一个或多个用户,对应的视图为wf_users/wf_roles/wf_user_roles。如果消息的接收人为职责,那么这个职责下的所有用户都会收到消息。这个好理解,不多说。
下面以EBS的登录user为例。
1. 原来存储的表为:fnd_user,假定这里面有个用户User_Name为huajhua,User_ID为 1001
2. 对应一个按照目录服务格式要求的视图:
wf_fnd_usr_roles
3. WF Bulk Synchronize Local Tables请求会把wf_fnd_usr_roles的数据同步到wf_local_roles中,orig_system字段标志为
fnd_usr
4. 如果以后我们要发通知给huajhua,那么通过API可以获得该用户:WF_DIRECTORY.GETROLENAME(‘FND_USR’, 1001,x_name,x_displayname)
值得一提的是如果User和Employee关联了,那么orig_system将是PER。举几个例子:
Type of Role
Orig_System
User_Flag
 
 
 
ERP 用户,未和 HR 中的员工建立关联
FND_USR
Y
ERP 用户,和 HR 中的员工建立关联
PER
Y
不是 ERP 用户,而是 HR 中的员工
PER_ROLE
N
客户 / 员工
HZ_PARTY
Y
直接插入 WF_LOCAL_USERS 的记录
WF_LOCAL_USERS
Y
直接插入 WF_LOCAL_ROLES 的记录
WF_LOCAL_ROLES
N
职责
FND_RESP<ID>
N
职位 Position
POS
N
更详细的说明请看Oracle Workflow Administrator's Guide。
所以,总的来说,Workflow的目录服务就是收集用户和角色信息,以统一的格式提供给Workflow消息系统使用。包括:
1. 一套本地表: WF_LOCALXXX
2. 一套实际使用的视图:
WF_USERS/WF_ROLES/WF_USER_ROELS
3. 一套各来源视图:
WF_<Orig_System>_ROLES
4. 一个批量同步请求集:Synchronize Workflow LOCAL tables(增量同步需要安装Patch,请看Notes171703.1)

5. 一套API:WF_DIRECTORY
 
Table Partition
随着业务的增长和历史数据的增多,有几个工作流的表会越来越大,如果不进行分区,其性能(DML和Export/Import)是比较糟糕的。默认情况下,只有目录服务的几个表是按来源分区过的;其他的表,需要运行%FND_TOP%/admin/sql/wfupartb.sql来分区。值得一提的是,wfupartb.sql本身是学习Oracle Partition的最好材料。我的11.5.10没有打补丁,wfupartb.sql是空的;我是从客户那里看wfupartb.sql的,它们是11.5.9。
需要分区的表和索引为:目录服务表、WF_ITEM_ACTIVITY_STATUSES及索引、WF_ITEM_ACTIVITY_STATUSES_H及索引、WF_ITEM_ATTRIBUTE_VALUES及索引、WWF_ITEMS及索引。以WF_ITEM_ATTRIBUTE_VALUES为例,它保留的是工作流实例的各个属性值,华为在Purge之后这个表仍然有7000万条记录,Export这个表要37个小时。
以下SQL用来查看分区情况:
SELECT t.owner, t.table_name, t.partitioned
 FROM all_tables t
 WHERE t.table_name LIKE 'WF%'
 ORDER BY t.partitioned
 
Directory Service
在System Administrator下,跑Synchronize Workflow LOCAL tables即可。该请求集建议计划运行。
如果我们加了个fnd user,但没跑这个同步程序(可能是还没到计划时间),那么Workflow并不知道有这个用户存在,这就导致为什么有“我跑过了Fill Employee Hierarchy,为什么通知还是没发到XXX”的问题。实际上,对于通知没发到XXX的问题,有如下原因:
1. 程序错误,没有设置正确的 Notification Performer
2. 如果是PO,可能没跑
Fill Employee Hierarchy
3. 一个Employee分配给了多个User,那么其实只有第一个User收到了消息

4. 数据还没有同步到Workflow,即没跑Synchronize Workflow LOCAL tables
Background Engines
Workflow Background Process请求用来处理Timeount、Defer、Stuck的工作流;通常情况下我们需要分别为处理超时、阻塞、挂起各Schedule一个Workflow Background Process。
如果我们Schedule了该请求,但有时候等不及,也可手工提交;下面的例子是最常见的处理销售订单行Defer的请求:
 
Global Preferences
定义Workflow全局参数。仅需关注两个参数。
Workflow System Administrator默认是sysadmin,说明只有sysadmin可以查看、管理任何workflow和实例;*表示任何人都可以。
Notification Style,默认是Do not send me mail,说明通知只能通过登录EBS后查看,不能通过Email。
N: SYS/Workflow/Global Preferences
参考SQL: SELECT * FROM wf_resources WHERE NAME = 'WF_ADMIN_ROLE'。参考设置:
Parameter
Value
 
 
Workflow System Administrator
*
Notification Style
HTML mail
 
 
WF_RESOUCE环境变量
WF_RESOURCE环境变量用于存储指向Workflow资源文件,EBS的资源文件为%FND_TOP%/%APPLRSC%/wf<language>.res,不需要设置该变量。
 
目前,Oracle Workflow支持SMTP协议(默认端口是25)处理出站消息、IMAP4协议(默认端口是143)处理进站消息,这也是Oracle Workflow对Mail服务器的要求。可以使用Microsoft Exchange作为Mail服务器,简单点,我们使用Imail。
IMAP4是Oracle Workflow Server对Mail Server的要求,对于用户,其客户端可以使用不支持IMAP4的Foxmail。
Imail设置
1. 按照默认选项安装 Imail
2. 启动Imail的服务:
SMTP/IMAP/Queue Manager/POP3
3. 创建Notification Mailer需要的用户,假定是wfmail;另外再建一个测试账号
huajhua
4. 用邮件客户端(文档说必须,所以我用Imail自带的Client)给wfmail创建三个目录:INBOX、PROCESS、
DISCARD

进入Workflow的配置管理界面
1. 进入OAM,需要有System Administrator职责:
2. Navigate to Worflow Manager 
3. 进入Service Components管理界面
启动两个Container服务
从Container选择Workflow Mailer Service,进入该容器服务控制界面。然后先后启动Workflow Mailer Service和Workflow Agent Listener Service。
* 这两个玩意儿其实是Concurrent Manager的两个Adminster。启动这两个服务后,到系统中去看,这两个Administer也起来了。
回到Service Components管理界面,发现需要的服务只有Workflow Notification Mailer由于没有配置过而没有起来。
配置Workflow Notification Mailer
选择Workflow Notification Mailer,点击下面的Edit按钮,有8个步骤,跳过1、5、6。
参考设置:
Parameter
Value
说明
 
 
 
Inbound Thread Count
0
0 表示没有 Inbound 消息,这样就不要求 Mail 服务器支持 IMAP4
Inbound EMail Account
Server Name
huajhua
邮件服务器
User Name
wfmail
用户名
Password
wfmail
密码
Outbound EMail Account
Server Name
huajhua
邮件服务器
User Name
wfmail
用户名
Test Address
test@huajhua
 
Send
Reply-to Address
wfmail@huajhua
 
 
 
 
第7步是测试,一定要从LOV里面选一个角色,Oracle会按照这个角色的“Notification Style”给前面设置的Test Address发一个通知,请记住ID号。
测试角色有两个要求:emali地址(随意)、mail类型的Notification Style。否则mail无法正确发到Test Address。
第8步完成后,回到Service Components管理界面,发现Workflow Notification Mailer也起来了。
测试
用客户端收test@huajhua的信,看ID号就可以知道是第7步测试步骤发来的;最直接就是在Imail的管理器里面看相应用户的邮箱是否有东西。
 
 
 
 
 
现象
在Windows下,Oracle是以Windows服务的形式存在,比如OracleServicePROD(PROD就是SID),启动它的时候实际启动了Instance(Load Parameter File,Configure SGA/Startup Background Process/Open Alert File and Trace File),接着又启动了数据库(Mount Control File/Open Data File)。
解决
设置注册表项HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0下的ORA_<SID>_AUTOSTART=false即可
Note:If you use a user-friendly name for this customization as the replacement for <Subject>, the following paragraphs will default nicely.
 
 
现象
装完11.5.10,自己登录没有问题,从其他机器登录报ORA-12547: TNS:lost contact。查数据库Home下的network/admin/prod.log,发现信息:
TNS-12546: TNS:permission denied
 TNS-12560: TNS:protocol adapter error
 TNS-00516: Permission denied
原因
11.5.10默认情况下SQL*Net权限验证只允许本机访问。打开数据库Home下的network/admin/sqlnet.ora,有如下语句:
NAMES.DIRECTORY_PATH=(TNSNAMES, ONAMES,HOSTNAME)
SQLNET.EXPIRE_TIME= 10
sqlnet.authentication_services= (NTS)
tcp.validnode_checking = yes
tcp.invited_nodes=(HUAJHUA.leiko.com)
解决
把上面的tcp.validnode_checking设为no,或者在tcp.invited_nodes加入允许访问的IP或机器名。
 
 
现象
我重新安装操作系统之后,恢复了注册表(Software下Oracle分支、System下Oracle服务)、环境变量、C盘Program Files下的Inventory,但是启动的时候报ORA-01031: insufficient privileges。
sqlplus /nolog
connect / as sysdba
ERROR:
ORA-01031: insufficient privileges
原因
在Windows下没有建立ORA_DBA组(Unix是DBA组),并把当前登录用户加进去。执行connect / as sysdba的时候,Oracle要验证执行用户是否属于ORA_DBA组。 
This section give you a guide to install Oracle Application on microsoft windows.
OS:             Windows XP With SP1
EBS: 11.5.10IP:                   192.168.1.101
PC Name:         huajhua
Domain: leiko.com, you need not add to domain in deedRAM: 512M, 1.5G Virtual Memory
Disk Space:      80G, 20G For Stage File, 60G For Installation.
 
操作系统
最好是干净的系统。
如果以前装过Oracle相关产品,要删除所有Oracle安装(注册表中的Oracle和服务、系统盘下的/Program Files/Oracle/Inventory、环境变量)。
Setup Printer On Windows
添加打印机,如果无法添加,请检查“Print Spooler”服务是否启动。如果没有装打印机,RPT类型的请求将无法运行,会报REP-3002: Error initializing printer。
可以添加实际的打印机,也可以添加虚拟的打印机,后者需要选择打印端口为“文件”。
接下来是选择驱动程序,如果是虚拟打印机,则随便选一个,比如Epson Stylus COLOR 1520K ESC/PK(图略)。
给打印机命名为“noprint”。
是否打印测试纸选择“否”。
Setup Hosts
设置Host文件,否则安装过程中检查名称解析将通不过。
Setup Static IP Address And DNS Suffix
在“本地连接”的属性里面设置静态IP和DNS后缀。
Setup Microsoft Visual C++ 6.0
Oracle安装过程中需要调用VC6的link命令。安装VC英文版即可,路径:E:/VC98。(Metalink说C:/ VC98,不知道为什么不用VC6默认的安装路径;我改成E盘根目录)。安装VC、ActiveX、Data Access三个组件即可。装完把link.exe拷贝到System32目录,重启。
Setup MKS Toolkit
必须安装MKS Toolkit,Oracle安装过程中需要调用Unix命令(比如which/cc),这些命令在Windows下没有,而MKS Toolkit可以在Windows下模拟大部分Unix命令。安装路径:E:/MKS。(Metalink说C:/MKS,不知道为什么不用MKS Toolkit默认的安装路径;我改成E盘根目录)
Setup GNU Make
Oracle安装过程中需要调用gnumake命令。从 http://ftp.gnu.org/pub/gnu/make/下载,比如make-3.80.tar.gz,解压,在 命令行下build_w32.bat,第一遍有问题,再运行一遍就可以了;然后把WinRel下的gnumake.exe拷贝到J:/MKS/mksnt。运行
 
Using Stage Directory
可以从DVD光盘安装,也可以把所有文件拷贝到硬盘,然后从硬盘安装,避免安装过程中不停的换光盘。从 http://edelivery.oracle.com/EPD/GetUserInfo/get_form下载的文件,解压缩之后自然形成需要的目录结构,如下。
针对11.5.10.2版本,需要Oracle® Applications 11i Release 11.5.10.2 Rapid Install Start Here - Disk 1 (Part 7 of 7)(1张)、Oracle® Applications 11i Release 11.5.10.2 for Microsoft Windows Rapid Install RDBMS - Disk 1(3张)、Oracle® Applications 11i Release 11.5.10.2 for Microsoft Windows Rapid Install Databases - Disk 1(7张)、Oracle® Applications 11i Release 11.5.10.2 for Microsoft Windows Rapid Install Databases - Disk 2(6张)、Oracle® Applications 11i Release 11.5.10.2 for Microsoft Windows Rapid Install Databases - Disk 3(6张)、Oracle® Applications 11i Release 11.5.10.2 for Microsoft Windows Rapid Install Tools - Disk 1(3张)、Oracle® Applications 11i Release 11.5.10.2 for Microsoft Windows Rapid Install APPL_TOP - Disk 1(7张)
Start Rapidwiz
必须从命令行运行startCD/Disk1/rapidwiz下的rapidwiz,启动安装程序。
Welcome Informaiton
出来欢迎界面。
Select Wizard Operation
选择安装模式,初次安装请选择“Install Oracle Application E-Business 11i”,下面的“Use Express Configuration”不要选,这样我们可以自己配制安装选项,了解安装任务。
 
Load Configuration
第一次运行Rapidwiz,没有安装配置文件,所以要选择No,以后再启动Rapidwiz,就可以选择以前保存的安装配置文件。
Install Type
选择Single-node (All Services on a single node),所有服务都装在一台机器上。如果选择Multi-node,那么可以选择数据库和Concurrent Manager装在一台机器上,HTTP/FORM/REPROT服务和Application装在另一台机器上。
 
Define Database Type
选择Vision Demo的话会装一个演示环境,需要90G的空间。选择Fresh Database,会安装一个空的数据库,所有模块的设置都需要从头进行。
Database Install Information
选择数据库安装目录。选择Advance,可以把DB Oracle Home/SYS数据文件/LOG文件/Transaction数据文件/归档文件装在不同的磁盘上。这里没有提供控制文件的安装路径选择,只好待安装完之后,再来移动控制文件。
 
Select Licensing Type
这里的License选择,仅仅代表你买了什么产品,并不会影响功能模块的使用。安装完之后也可以通过OAM来添加License。
E-Business Suite Licensing模式默认选择了一些常用的模块。
Component Applications Licensing模式则需要我们手工选择,如Order Management /Inventory Management/Purchasing/Discrete Manufaturing/Financials/Human Resources。
 
Select Country-specific Functionalities
选择本地化功能,很多国家和地区都有一些特殊的本地化功能,比如Europe。为使安装最小化,这里我不选。
Select Additional Languages
默认只有American English,可以添加其他语言,比如Chinese,启用NLS。这里的选择还不够,需要在安装完之后打相应的语言包。为使安装最小化,这里我不加新的。
 
Select Inernationalization Settings
选择主语言、区域、数据库字符集、应用字符集,如果选择非US7ASCII,那么安装过程中,会自动对数据库进行字符集转换(我猜是针对数据库)。(注,在Adadmin里面也有字符集转换功能,我猜是针对应用)。
Configuration Information for Node
选择工具文件的路径和Application及Application Server的路径;这里同样可以分别定义APPL/ORA/IAS的路径。
 
Global System Settings
必须输入一个域名。同时选择端口的偏移量,比如登录应用默认是8000,如果偏移1则为8001,其他各个端口都是如此;这样可以做到在一台机器上安装多个Instance而端口不会冲突;当然可以个别指定某一服务的端口,特别是当端口已被机器上的其他服务占用时,就必须个别指定了。
Save Instance-Specific Configuration
保存上面辛辛苦苦做的安装设置,以便下次重新安装或者Restart时直接使用。
 
System Check Status
加查各种环境是否满足安装要求,比如端口是否可用、域名解析是否通过、需要的基本命令是否可用、磁盘空间是否足够等等
Validate System Configuration
加查结果。必须所有项目均OK,否则必须查出原因,直到检查通过。我碰到过两个问题:某一端口被其他程序占用(于是我Back到前面步骤改了该端口)、System Unilities Chek通不过(查看明细发现Which命令不成功,于是我卸载MKS后重新安装)。
Component Installation Review
最后Review所有设置,后悔还来得及。
Installation Confirm
确认开始安装。
 
 
Step 1 Of 5
安装数据库,没有问题。
Step 2 Of 5
安装数据库文件,并进行字符集转换,没有问题。
 
 
 
Step 3 Of 5
安装应用服务IAS和8.0.6,有问题,最后一直停留在100%,硬盘也没读写。
关掉安装程序,rapidwiz -restart再次运行,这次要选择上次保存好的配置文件,安装程序自动跳过前两个Step,但Step 3依然有问题,再关掉,再用rapidwiz -restart,通过。
 
 
Step 4 Of 5
安装Application文件和Comn文件,如AU_TOP,Form,SQL,Report等,没有问题。
Step 5 Of 5
系统配置,执行AutoconfigAdadmin等,没有问题。
 
Post-Install Checks
安装完之后的各项检查,自动完成。
Finish
大功告成!
 
 
 
 
登录操作系统
运行%APPL_TOP下的envshell.cmd,进入命令行,envshell.cmd会调用APPSPROD_<Machine>.cmd设置应用的环境变量,比如各个TOP。Unix下用应用帐户直接Telnet上去即可。
进入adadmin
命令行下运行adadmin,除了system的密码需要输入外,各个参数默认即可。
这样就进入到Adadmin主菜单。
Update Snapshot Information
更新快照信息,以后打patch需要,这一步需要近一个小时。需要把并发管理器停掉,最好把应用也停了,只留数据库。
选择2,Maintain Applications Files and Registry Menu。
选择5,Maintain Snapshot Information
选择2,Update Current View Snapshot即可
系统开始更新快照,耐心等待。
Compile Flexfields
在主菜单界面选择3,Compile/Reload Applications Database Entities menu。
进入之后选择3,Compile flexfields。
Apply Maintainace Patch
针对11.5.10,需要打Patch 3140000/346000;从Metalink下载。
下载下来解压到同一个目录,即可用adpatch工具打上去。
Apply 2451368 Patch
这里以打2451368 Patch为例。这个Patch是AR的多组织转换Patch,如果不打,在执行Convert To Multi-Org的时候会报警告。
先运行adadmin,切换到5,Change Maintenance Mode,然后Enable Mainenance Mode。
 
退出adadmin,进入到2451368 Patch所在的目录,如E:/Stage11i/patch/2451368,直接运行adpatch,按照提示操作即可。
打完Patch,再进入adadmin,disable maintenace mode。
 
启停数据库、应用服务
进入Windows服务界面,启动顺序如下:
1、起来数据库服务
2、起来数据库侦听
3、起来应用侦听
4、这几个随便:apache服务,reports服务,forms服务,并发管理器服务
停止的时候反过来即可。
也可以通过命令来完成,请参考本文档相关章节;也可参考下面主页的Machine Admin Scripts。
登录
选择System Adminsitrator职责
定义用户
请参考本文档相关章节。
Assign Responsibility To User
请参考本文档相关章节。
测试报表
运行Active Users报表。
View Output/View Log/Copy File
选择View Output,View Log,并在Tools菜单下选择Copy File…,看是否正常。
测试Export功能
查出上面建的用户,把鼠标移入Responsibility,选择File/Export,看是否弹出保存文件的窗口。
测试TCF Port
进入IE,输入 http://192.168.1.101:8000/OA_HTML/jsp/fnd/aolj_tcf_test.jsp?t=1,报“无法显示网页”,烦。
测试Jserv Port
进入IE,输入 http://192.168.1.101:8000/OA_HTML/jsp/fnd/aoljtest.jsp,看是否正常。
我的系统报:
Missing e:/oracle/prodcomn/java/apps.zip
Missing e:/oracle/prodora/iAS/portal30/jpdk/lib/partnerApp.jar
Missing e:/oracle/prodora/iAS/mapviewer/lib/sdoapi101.jar
Missing e:/oracle/prodora/iAS/mapviewer/lib/sdovis.jar
Missing e:/oracle/prodora/iAS/mapviewer/lib/mapviewer118.jar
不管它,很多人都碰到;Metalink说可以在jserv.properties等文件中把相关条目注释掉。
选择页面底部的Enter AOL/J Setup Test以进行更多的测试,我的大部分是“无法显示网页”,懒得上Metalink查了,以后用系统有问题再说。
CGI方式登录
http://huajhua.leiko.com:8000/dev60cgi/ifcgi60.exe,登录报APP-FND-01542,打开$APPL_TOP/admin/<SID>_<hostname>.xml,把里面的 s_appserverid_authentication从SECURE改为OFF,adautocfg一下。
不过以后打Patch之前要记得改回来。
测试Workflow
以sysadmin登录,选择Workflow Administrator Web Applications职责,选择Item Type Definition,随便找一个,然后Run,参数随便填。下面是成功运行的工作流Requisition的Diagram。
 
打Patch通用步骤
检查已安装模块版本:
SELECT app.application_short_name, app.application_name, pi.patch_level
 FROM fnd_product_installations pi, fnd_application_vl app
 WHERE app.application_id = pi.application_id
检查已安装Patch:
SELECT * FROM ad_applied_patches WHERE patch_name = '2451368'。
从Metalink找到需要的Patch,然后
0.       阅读Read readme document,看有没有条件,下载,用Unzip解压
1.       applmgr用户登录操作系统
2.       设置环境变量( $APPL_TOP/APPSORA.env)
3.       停应用 adstpall.sh (至少要停并发服务器),数据库和监听保持启动状态
4.       用adadmin Enable Maintenance Mode
5.       之后,运行adpatch命令,从cxxx.drv开始打,然后是dxxx.drv,gxxx.drv
6.       用adadmin Disable Maintenance Mode
7.       启动应用 adstrall.sh
 
由于我的笔记本只有512M内存,所以有必要调整系统性能,否则跑起来太慢。对于内存超过1G的系统,可以不用考虑。
原来系统起来约用内存1.2G,登录系统后约1.3G-1.5G;经过调整,系统起来约用内存600M,进入系统之后700M多。
停止不必要的Windows系统服务
Windows本身有很多服务是可以停止的。具体可查看网上资料;最后我系统启动之后内存占用不到100M;启动Word2003之后约125M。
停止MKS相关程序和服务
MKS Secure Shell Service/MKS Telnetd/MKSAUTH/NuTCRACKER Service都不需要,可以设为手动。此外还有一个伴随Windows一起启动的MKS程序也干掉。
Oracle相关服务
把所有的Oracle服务设为手动,有些原来自动起来的服务其实一般都用不上,比如:
Oracle Fulfillment Server PROD_huajhua
Oracle Metrics Client PROD_huajhua
Oracle Metrics Server
PROD_huajhuaOracleDiscoverer4i_PROD。
以后可以根据需要启动,要用数据库,可启动:
OraclePROD_db920_RDBMSTNSListenerPROD
OracleServicePROD
如果要用Application,先启动数据库,再启动应用服务:
OraclePRODOra806_2TNSListener80APPS_PROD
Oracle Apache Server PROD_huajhua
O OracleFormsServer-Forms60PROD_huajhua
如果要运行请求,那么再启动
racleConcMgrPROD_huajhua
如果要运行报表,那么再启动
Oracle Reports Server [Rep60_PROD]
Init<SID>.ora
编辑DB Oracle_Home/9.2.0/dbs下的Init<SID>.ora文件,调整内存参数:
db_cache_size                    = 40000000 #HUAJHUA#Default 163577856
pga_aggregate_target      =150M          #HUAJHUA#Default 1G
shared_pool_size    = 50000000 #HUAJHUA#Default 300000000
shared_pool_reserved_size= 10000000         #HUAJHUA#Default 30000000
java_pool_size                   = 10000000 #HUAJHUA#Default 52428800
由于9i采取自动内存管理(workarea_size_policy=AUTO),所以只要保证后面3个加起来不超过pga_aggregate_target即可。
这时再启动数据库,发现总共内存只用300M多,原来需要700-800M左右。
Apache JServ
Apache一起来就用掉500-600M的内存,我发现可以调整Jserv的配置文件以减少不必要的加载,主要是jar文件。
先备份%IAS_ORACLE_HOME%/Apache/Jserv/etc文件夹
编辑jserv.conf、jserv.properties、jserv.properties.org、jserv_restrict.properties这4个文件,注释掉所有和disco4iviewer、emailcenter、mobile、viewer4i、xmlsvcs、Portal有关的语句。这一步可以减掉约200M内存;数据库、Form/Report、Apache起来之后只有500M。#HUAJHUA#
应该还有其他地方可以调,有空再研究。
注意,运行adautocfg之后,这些都会被覆盖,所以要重新配置,不然会奇怪为什么内存突然又长上去了。
Concurrent Manager
通过Windows Task Manager可以发现,里面有大量的exe文件在运行,有的5个,有的3个。
FNDLIBR.exe
FNDCRM.exe            Conflict Resolution Manager
POXCON.exe
INVLIBR.exe
RCVOLTM.exe
CONCSUB.exe
……
其实这些都是并发管理器,如果把它们调为1,这样又可以少占一些内存,而且可以提高系统运行速度。
N: System Administrator/Concurrent/Manager/Define
查出全部Enabled的并发管理器,点击Work Shifts,可以调整每个管理器的Processes数。Conflict Resolution Manager定2个,Standard Manager定2个,其他的全部调为1。以后如果碰到请求处于Pending状态,再来调整也不迟。如果做得绝一点,只留Internal Manager和Standard Manager,其它的等运行相关请求时报“No Manager”再来调也可以!
这样,整个系统起来之后,加一个Word,一个IE,一个SnagIT,约630M内存!
Scheduled Concurrent Program
参见下个主题。
JVM参数
最近又发现%APPLTOP%/Admin/PROD_huajhua.xml的内容通过adautocfg写到各个地方的配置文件。其中关于JVM的参数很值得怀疑,因为每次Apache起来,系统都有3个java.exe进程,而且狂占内存,我想这个跟JVM的内存参数有关:<jvm_options oa_var="s_jvm_options" osd="NT">-verbose:gc -Xmx512M -Xms128M -XX:MaxPermSize=128M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:+UseTLAB </jvm_options>。这样的内存参数在文件有几个地方。
我把上面的改为-Xmx128M -Xms64M -XX:MaxPermSize=64M;还有几个地方也作类似的调整。
重新运行auto config,然后重新调整了上面提到的“Apache JServ”,发现内存果然锐减!
 
系统安装之后,有几个Scheduled的程序。
OAM Applications Dashboard Collection
如果进入OAM页面,即下面的Oracle Application Manager,那么可以看到很多管理参数和性能参数;OAM Applications Dashboard Collection就是用来动态收集这些信息的。可以考虑把它取消,以后需要的时候手工运行。
Purge Debug Log and System Alerts
还没研究清楚;本来是每天运行,先停掉再说。
Workflow Control Queue Cleanup
还没研究清楚;本来是每天运行,先停掉再说。
Synchronize Workflow LOCAL tables (Report Set)
还没研究清楚,Metalink说是用来同步各个模块的User和Role信息;本来是每天运行,先停掉再说。
这里指嵌在EBS中的Workflow。
中文安装可参考商XXXX的《Oracle_WorkflowServer_Setup_11.5.10.doc》,完整的参考资料见Oracle的《Oracle Workflow Administrator's Guide》。
$FND_TOP/admin/sql下有Workflow管理和诊断脚本。
 
设置步骤
摘自Oracle Workflow Administrator's Guide。下面的章节详细说明Required的和比较有用的设置步骤。
目录服务
Worflow的核心功能之一就是消息(Notification),要发消息,当然要有接收人,这个接收人可能是一个user、一个employee、一个Responsibility、一个客户、一个职位等等。
在EBS中这些接收人分散在各个模块的各个表中,而Worflow Engine仅承认WF_表中的接收人。
Oracle目录服务的作用就是把这些分散的资料按照统一的格式集中起来,存在WF_LOCAL系列的表中,并以来源字段区分。这样我们在程序中如果要找某一个接收人,仅从WF_LOCAL系列的表中查询即可(实际应用中,是调用一个标准API从WF_ROLES视图取数),不需要记住所有的源表。
接收人分用户和角色,角色包含一个或多个用户,对应的视图为wf_users/wf_roles/wf_user_roles。如果消息的接收人为职责,那么这个职责下的所有用户都会收到消息。这个好理解,不多说。
下面以EBS的登录user为例。
1. 原来存储的表为:fnd_user,假定这里面有个用户User_Name为huajhua,User_ID为1001
2. 对应一个按照目录服务格式要求的视图:wf_fnd_usr_roles
3. WF Bulk Synchronize Local Tables请求会把wf_fnd_usr_roles的数据同步到wf_local_roles中,orig_system字段标志为fnd_usr
4. 如果以后我们要发通知给huajhua,那么通过API可以获得该用户:WF_DIRECTORY.GETROLENAME(‘FND_USR’, 1001,x_name,x_displayname)
值得一提的是如果User和Employee关联了,那么orig_system将是PER。举几个例子:
Type of Role
Orig_System
User_Flag
 
 
 
ERP 用户,未和 HR 中的员工建立关联
FND_USR
Y
ERP 用户,和 HR 中的员工建立关联
PER
Y
不是 ERP 用户,而是 HR 中的员工
PER_ROLE
N
客户 / 员工
HZ_PARTY
Y
直接插入 WF_LOCAL_USERS 的记录
WF_LOCAL_USERS
Y
直接插入 WF_LOCAL_ROLES 的记录
WF_LOCAL_ROLES
N
职责
FND_RESP<ID>
N
职位 Position
POS
N
更详细的说明请看Oracle Workflow Administrator's Guide。
所以,总的来说,Workflow的目录服务就是收集用户和角色信息,以统一的格式提供给Workflow消息系统使用。包括:
1. 一套本地表:WF_LOCALXXX
2. 一套实际使用的视图:WF_USERS/WF_ROLES/WF_USER_ROELS
3. 一套各来源视图:WF_<Orig_System>_ROLES
4. 一个批量同步请求集:Synchronize Workflow LOCAL tables(增量同步需要安装Patch,请看Notes171703.1)
5. 一套API:WF_DIRECTORY
 
Table Partition
随着业务的增长和历史数据的增多,有几个工作流的表会越来越大,如果不进行分区,其性能(DML和Export/Import)是比较糟糕的。默认情况下,只有目录服务的几个表是按来源分区过的;其他的表,需要运行%FND_TOP%/admin/sql/wfupartb.sql来分区。值得一提的是,wfupartb.sql本身是学习Oracle Partition的最好材料。我的11.5.10没有打补丁,wfupartb.sql是空的;我是从客户那里看wfupartb.sql的,它们是11.5.9。
需要分区的表和索引为:目录服务表、WF_ITEM_ACTIVITY_STATUSES及索引、WF_ITEM_ACTIVITY_STATUSES_H及索引、WF_ITEM_ATTRIBUTE_VALUES及索引、WWF_ITEMS及索引。以WF_ITEM_ATTRIBUTE_VALUES为例,它保留的是工作流实例的各个属性值,华为在Purge之后这个表仍然有7000万条记录,Export这个表要37个小时。
以下SQL用来查看分区情况:
SELECT t.owner, t.table_name, t.partitioned
 FROM all_tables t
 WHERE t.table_name LIKE 'WF%'
 ORDER BY t.partitioned
 
Directory Service
在System Administrator下,跑Synchronize Workflow LOCAL tables即可。该请求集建议计划运行。
如果我们加了个fnd user,但没跑这个同步程序(可能是还没到计划时间),那么Workflow并不知道有这个用户存在,这就导致为什么有“我跑过了Fill Employee Hierarchy,为什么通知还是没发到XXX”的问题。实际上,对于通知没发到XXX的问题,有如下原因:
1. 程序错误,没有设置正确的Notification Performer
2. 如果是PO,可能没跑Fill Employee Hierarchy
3. 一个Employee分配给了多个User,那么其实只有第一个User收到了消息
4. 数据还没有同步到Workflow,即没跑Synchronize Workflow LOCAL tables
Background Engines
Workflow Background Process请求用来处理Timeount、Defer、Stuck的工作流;通常情况下我们需要分别为处理超时、阻塞、挂起各Schedule一个Workflow Background Process。
如果我们Schedule了该请求,但有时候等不及,也可手工提交;下面的例子是最常见的处理销售订单行Defer的请求:
 
Global Preferences
定义Workflow全局参数。仅需关注两个参数。
Workflow System Administrator默认是sysadmin,说明只有sysadmin可以查看、管理任何workflow和实例;*表示任何人都可以。
Notification Style,默认是Do not send me mail,说明通知只能通过登录EBS后查看,不能通过Email。
N: SYS/Workflow/Global Preferences
参考SQL: SELECT * FROM wf_resources WHERE NAME = 'WF_ADMIN_ROLE'。参考设置:
Parameter
Value
 
 
Workflow System Administrator
*
Notification Style
HTML mail
 
 
WF_RESOUCE环境变量
WF_RESOURCE环境变量用于存储指向Workflow资源文件,EBS的资源文件为%FND_TOP%/%APPLRSC%/wf<language>.res,不需要设置该变量。
 
目前,Oracle Workflow支持SMTP协议(默认端口是25)处理出站消息、IMAP4协议(默认端口是143)处理进站消息,这也是Oracle Workflow对Mail服务器的要求。可以使用Microsoft Exchange作为Mail服务器,简单点,我们使用Imail。
IMAP4是Oracle Workflow Server对Mail Server的要求,对于用户,其客户端可以使用不支持IMAP4的Foxmail。
Imail设置
1. 按照默认选项安装Imail
2. 启动Imail的服务:SMTP/IMAP/Queue Manager/POP3
3. 创建Notification Mailer需要的用户,假定是wfmail;另外再建一个测试账号huajhua
4. 用邮件客户端(文档说必须,所以我用Imail自带的Client)给wfmail创建三个目录:INBOX、PROCESS、DISCARD

进入Workflow的配置管理界面
1. 进入OAM,需要有System Administrator职责:
2. Navigate to Worflow Manager 
3. 进入Service Components管理界面
启动两个Container服务
从Container选择Workflow Mailer Service,进入该容器服务控制界面。然后先后启动Workflow Mailer Service和Workflow Agent Listener Service。
* 这两个玩意儿其实是Concurrent Manager的两个Adminster。启动这两个服务后,到系统中去看,这两个Administer也起来了。
回到Service Components管理界面,发现需要的服务只有Workflow Notification Mailer由于没有配置过而没有起来。
配置Workflow Notification Mailer
选择Workflow Notification Mailer,点击下面的Edit按钮,有8个步骤,跳过1、5、6。
参考设置:
Parameter
Value
说明
 
 
 
Inbound Thread Count
0
0 表示没有 Inbound 消息,这样就不要求 Mail 服务器支持 IMAP4
Inbound EMail Account
Server Name
huajhua
邮件服务器
User Name
wfmail
用户名
Password
wfmail
密码
Outbound EMail Account
Server Name
huajhua
邮件服务器
User Name
wfmail
用户名
Test Address
test@huajhua
 
Send
Reply-to Address
wfmail@huajhua
 
 
 
 
第7步是测试,一定要从LOV里面选一个角色,Oracle会按照这个角色的“Notification Style”给前面设置的Test Address发一个通知,请记住ID号。
测试角色有两个要求:emali地址(随意)、mail类型的Notification Style。否则mail无法正确发到Test Address。
第8步完成后,回到Service Components管理界面,发现Workflow Notification Mailer也起来了。
测试
用客户端收test@huajhua的信,看ID号就可以知道是第7步测试步骤发来的;最直接就是在Imail的管理器里面看相应用户的邮箱是否有东西。
 
 
 
 
 
现象
在Windows下,Oracle是以Windows服务的形式存在,比如OracleServicePROD(PROD就是SID),启动它的时候实际启动了Instance(Load Parameter File,Configure SGA/Startup Background Process/Open Alert File and Trace File),接着又启动了数据库(Mount Control File/Open Data File)。
解决
设置注册表项HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0下的ORA_<SID>_AUTOSTART=false即可
Note:If you use a user-friendly name for this customization as the replacement for <Subject>, the following paragraphs will default nicely.
 
 
现象
装完11.5.10,自己登录没有问题,从其他机器登录报ORA-12547: TNS:lost contact。查数据库Home下的network/admin/prod.log,发现信息:
TNS-12546: TNS:permission denied
 TNS-12560: TNS:protocol adapter error
 TNS-00516: Permission denied
原因
11.5.10默认情况下SQL*Net权限验证只允许本机访问。打开数据库Home下的network/admin/sqlnet.ora,有如下语句:
NAMES.DIRECTORY_PATH=(TNSNAMES, ONAMES,HOSTNAME)
SQLNET.EXPIRE_TIME= 10
sqlnet.authentication_services= (NTS)
tcp.validnode_checking = yes
tcp.invited_nodes=(HUAJHUA.leiko.com)
解决
把上面的tcp.validnode_checking设为no,或者在tcp.invited_nodes加入允许访问的IP或机器名。
 
 
现象
我重新安装操作系统之后,恢复了注册表(Software下Oracle分支、System下Oracle服务)、环境变量、C盘Program Files下的Inventory,但是启动的时候报ORA-01031: insufficient privileges。
sqlplus /nolog
connect / as sysdba
ERROR:
ORA-01031: insufficient privileges
原因
在Windows下没有建立ORA_DBA组(Unix是DBA组),并把当前登录用户加进去。执行connect / as sysdba的时候,Oracle要验证执行用户是否属于ORA_DBA组。
Oracle EBS R12.2 安装 -- Step by Step 阅读详情

相关推荐

ebs 11i升级ATG Rollup Patch

接着在合并应用节点中提到的,最近在做升级项目。ebs 11i对于DB 11gR2需要升级到RUP6,本文将着重介绍ebs 11i升级RUP6的过程 环境信息: EBS APP----------11.5.10.2(linux 4.5 32bit) EBS DB------------9.2.0.6(AIX 6.1 64bit) 前提:应用处于关闭状态,adadmin打开维护模式 参考文档

sun-hsh 3328

关于MKS toolkit

1. How do I enable path and filename completion in the MKS shell environments?KornShell:For VI editor mode (set -o vi), press ESC-/ to complete your path or filename. For emacs or gmacs mode (set -o e

2145

Oracle EBS 11i系统安装与维护完整指南

Oracle EBS 11i 或许不再“时髦”,但它承载着无数企业的核心业务逻辑与历史数据。我们的使命不是简单地淘汰它,而是让它在新时代继续发光发热。无论是通过API对接微服务架构,还是逐步迁移到EBS R12乃至Oracle Cloud ERP,每一次成功的部署、每一次精准的调优,都是对这份遗产最好的尊重。而这,也正是我们作为IT从业者的价值所在。✨本文还有配套的精品资源,点击获取。

weixin_36299472的博客 531

Oracle EBS License Price

有人问起Oracle EBS的销售价格的问题,每个公司的情况不一样,上的模块情况不一样,用户数也不一样,所以价格也就有很大区别。 具体价格可以拨打甲骨文免费销售咨询热线:800-810-0161 或者E-mail:salesinquiry_cn@oracle.com 也查了下,发现Oracle官方提供了一文档“Oracle E-Business Suite Applications G...

数据库天地 460

MKS Toolkit 8.0

MKS是一种基于window的开发工具。提供了一个基于Unix的命令行。

MKS ToolKit 8.1 (内含授权码)

这是一个为软件程序员、脚本开发人员和互联网的开发人员提供的基于 Windows 的开发工具,该工具为开发人员提供了一个基于类似 Linux 命令行和 Visual Studio 图形界面的集成开发环境

EBS 打印机设置——PASTA

按照Oracle的说法,PASTA解决的是通过CM直接打印到打印机的问题。换句话说如果不想通过CM直接打印到打印机,可以不使用PASTA;这个和PS中文输 出没有关系。 确实如此,从执行过程看,我觉得完全可以这样理解:PASTA是操作系统lp命令的扩 展! PASTA的可执行程序是FNDPSTAX,具体参数请看PASTA User Guide 3.0(目前最高 版本)。这里提供一个例子:

changyanmanman的专栏 5814

MKS ToolKit 8.1 破解版本

MKS ToolKit 8.1 破解版本,可将Linux命令很好的移植到windows中,用于学习上还是很好的。

Oracle EBS 11i系统安装与维护收藏

1.       E-Business Suite InstallationThis section give you a guide to install Oracle Application on microsoft windows.OS:            Windows XP With SP1EBS: 11.5.10IP:                   192

oracleerp的专栏 2930

mks8.0.part5

MKS工具是我觉得最好用的Windows平台上的Unix工具包,共6个压缩卷,大小共50M左右

MKS Toolki 8.5

MKS是一种基于window的开发工具。提供了一个基于Unix的命令行。

EBS 11i和R12目录结构(EBS Directory structure)

===For Applmgr User===APPL_TOP: 11i:ASE>/applR12:/apps/apps_st/applNOTE:Oracle Applicaitons product files,including $INV_TOP,$AU_TOP....COMMON_TOP:11i:/comnR12:/apps/apps_st/comn(Common files such as

田攀的日志 6310

基于Simulink的IEEE33节点配电网仿真实战:从建模到分布式能源集成

本文详细介绍了基于Simulink的IEEE33节点配电网仿真实战,从基础建模到分布式能源集成。通过MATLAB脚本管理参数、搭建Simulink模块,并集成风机和光伏系统,实现高效配电网仿真。文章还涵盖潮流计算、故障分析及性能优化技巧,为电力系统仿真提供实用指导。

git9versioner的博客 991

Oracle EBS在各平台下安装方法的搜集整理

兼听则明,偏信则暗。看书看文档都是这样,即使是同一主题,内容都可能大不相同,有的是因为方法不一样,有的是因为作者观点或视角不同,让文档内容有所出入,所以研究问题,多看些不同作者文档总归是好的。很多人都安装过EBS,也都写了总结,这些总结散落在网络各处,试着把这些文档搜集起来,方便后来人查阅。此文会持续更新...R12Oracle Application R12 (12.1.3) Installat

田攀的日志 7015

ElasticSearch读写性能调优

深层次理解,虽然是每隔一秒就会将内存中的segment数据刷新到segment file中,但实际上这里并没有直接到磁盘文件,而是先写入到OS Cache中。以refresh_interval为间隔时间,将保存在ES 内存缓存区中的数据 刷新到 os的文件系统缓存中,定期清空es的buffer,生成segment。注意:ES 的默认设置,已经综合考虑了数据可靠性,搜索的实时性,写入速度,一般不要盲目修改。将segment刷新到os cache中,并开放了查询权限,以提升搜索的实时性。

qq_44027353的博客 1811

企业微信——智能表格学习

企业微信报表

qq_15138049的博客 1万+

ORACLE EBS 11i安装(后)常见问题 (转)

<br />ORACLE EBS 11i安装(后)常见问题 (转)问题一:ERP系统安装过程中出错<br />RW-50004: Error code received when running external process.<br />Check log file for details.<br />Running Database Install Driver for VIS instance<br />处理方法:<br />检查日志发现错误发生于以下阶段的错误<br />ALTER DATABAS

687

VSCode+Keil高效开发STM32:Keil Assistant插件配置全攻略

本文详细介绍了如何通过VSCode的Keil Assistant插件,将Keil MDK的编译调试能力与VSCode的现代编辑体验相结合,打造高效的STM32开发环境。文章涵盖了从环境配置、工程导入、智能提示设置到与STM32CubeMX协同工作的全流程攻略,旨在解决Keil编辑器效率低下的痛点,大幅提升嵌入式开发的编码与项目管理效率。

gold的博客 508

EBS 11i升级Developer 6i到patch set 19

接之前所说,关于ebs 11i系统升级数据库到11gR2。需要将Developer 6i至少升级到patch set 18。本次计划升级Developer 6i升级到patch set 19。 参考文档:Upgrading Developer 6i with Oracle Applications 11i (Doc ID 125767.1) 前提条件: 应用处于关闭状态,并处于维护模式 已

sun-hsh 1968

【ELK】最新版ELK日志搜集,过滤与展示,手把手教你搭建企业级ELK日志平台

ELFK是一套完整的日志集中处理方案。 E:ElasticSearck ES 分布式索引型非关系数据库 存储logstash输出的日志 全文检索引擎,保存的格式是json格式 L:logstash 基于java语言开发的,数据收集引擎。日志的收集,可以对数据进行过滤,分析,汇总,以标准格式输出 K:Kiabana 是es的可视化工具。对es存储的数据进行可视化展示,分析和检索。 F: FileBeat是一个轻量级日志采集器,Filebeat属于Beats家族的6个成员之一。

景天科技苑 7万+

SE模块理解+SE-Resnet模块pytorch实现

文章目录SE模块理解SE实现注意力机制原因SE-resnet网络pytorch实现定义residual定义SE模块 SE模块理解 SENet是Squeeze-and-Excitation Networks的简称,拿到了ImageNet2017分类比赛冠军,其效果得到了认可,其提出的SE模块思想简单,易于实现,并且很容易可以加载到现有的网络模型框架中。SENet主要是学习了channel之间的相关性,筛选出了针对通道的注意力,稍微增加了一点计算量,但是效果比较好。 SE模块广泛应用于去噪,去雨方向,利用SE模

qq_42754919的博客 2万+

ebs 11i合并应用节点

最近搞一个11i升级的项目,目标如下: APP-----11.5.10.2(版本保持不变) DB-------9.2.0.6(升级到11.2.0.3.8) 升级后做RAC和DG 系统改造方案: 1、合并应用节点 2、数据库升级到11G 3、数据库RAC转换 4、配置应用负载均衡 5、搭建Dataguard数据库 本文先介绍一下ebs 11i应用节点合并。源环境如下:两台应用服务

sun-hsh 1491

【WRF数据介绍第一期】静态地理数据介绍及下载

WRF数据介绍第一期:静态地理数据介绍及下载

WW、forever的博客 4814

EBS 维护中问题汇总(R12,11i)

1.打开forms/formserverlet方式访问,即CGI方式: A.打开$CONTEXT_FILE,把里面的s_appserverid_authentication从SECURE改为OFF B.然后再adautocfg.sh R12: http://ip:port/forms/frmservlet 11i : http://ip:port/dev60cgi/f60cgi 2.R

岁月有声。。。 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

上一篇: Oracle ERP 11i中英对照词汇表
下一篇: EBS开发基础知识
feixiangVB
博客等级 码龄21年 55粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值