Professional Documents
Culture Documents
Practices
Mike Swing
BCV Example
Establish - Restore
• When BCV devices are split from the standard devices,
the BCV devices represent a mirror of the standard
device. After splitting from a pair, a BCV device can then
be read and written.
– full synchronization - a copy of the standard device onto the BCV
devices
– incremental re-synchronization propagates only the changed
tracks onto the BCV devices. If the BCV device was modified
after the split and before re-establishing, those changes are
overwritten by the data from the standard device. Once the BCV
is successfully established or re-established, the BCV acts like
another mirror to the standard device.
– restore - Similar to the establish operation, a full or incremental
restore can be performed.
BCV
• Device A and Device B are
accessed by the same host.
Device A is mirrored. The BCV
device can be established, re-
established, or, restored onto
the standard device.
• When the BCV is assigned to
the standard device and is
established, the combination of
the BCV device and standard
device is deemed a BCV pair.
• When the BCV is split from the
pair, the BCV can be accessed
by the same host or by other
hosts.
Backups with BCVs
• BCV’s can be utilized for backups to eliminate downtime
with Oracle Hot Backups. This method requires no
downtime to split the BCV.
Forms Server
Apache JServ
JInitiator
HTML JAVA
Interface
Web Browser
Forms
• The Forms server hosts the Oracle Applications forms
and the forms runtime engine that support the core
Applications. The forms server is part of Oracle
Developer software and can provide more advanced field
and form validation. This serves up the forms and
coordinates communication with the browser and the
database.
• The Forms server caches data and provides it to the
client as needed, such as when scrolling through multiple
order lines that exceed the limitations of a single screen.
The Forms server communicates with the desktop client
using HTTPS, HTTP and TCP/IP.
Forms 6i Server
When a user initiates an action in the Forms client
applet, such as entering data into a field or
clicking a button, data is passed to the Forms
server on the application tier. The user interface
logic runs in the Forms server and determines
the appropriate user interface effect based on
the user’s action. For example, a window may
open or another field value may be populated. If
necessary, the database tier is contacted for any
data not already cached on the application tier,
or for data-intensive processing.
Forms 6i Server
• Oracle Forms 6i Server can operate in three separate
modes: socket, http and https. http and https mode can
be used for internet transactions (outside the firewall),
whereas socket mode can only be used for an
organization's intranet (inside the firewall). https
corresponds with SSL and is strongly recommended if a
company is to allow transactions over the internet.
• The implementation of SSL for the Oracle forms 6i
Server involves the tool Oracle Wallet Manager, which is
included in the Developer 6i Server install under the
application server Oracle home from version 8.0.6
onwards. The tool is Java-based.
JInitiator
• JInitiator is used to run Java applets on a
desktop client, and it provides a delivery
mechanism that enables Oracle Developer
applications to be run from within a browser in a
stable and supported manner. In addition to
addressing critical bug fixes, Oracle JInitiator
provides a number of additional features to
enhance application performance, such as JAR
file caching, incremental JAR file loading and
applet caching.
Forms – Professional Java Interface
Forms are
HTML Web Server (Self- Service)
served up by the Interface
forms runtime Forms Server (Prof Java)
engine. This is
also know as the Web Browser Concurrent
Concurrent Processing
Processing e
Professional JInitiator Admin Server
Java Interface.
JAVA iSupplier SSL Server
Interface
The forms server is part of Oracle Developer software and can provide more
advanced field and form validation than HTML and Java. This serves up the
forms and coordinates communication with the browser and the database.
Oracle Forms Services
4. The servlet engine generates the response, using JDBC to connect. When the servlet
executes Java Server Pages (JSP) it calls Oracle JSP. Oracle JSP is a translator and
runtime environment for JSPs.
5. The response is returned to mod_jserv.
6. The HTTP Server returns the response to the client.
Model Architectures for the Web
</page>
modifications to the View Row
3. Page definition
from the Java MetaData UI
Metadata Controller Definition
Dictionary is Metadata
Dictionary
loaded into the UIX HTML UI Generator
Repository
web server MDS
4. BC4J objects that contain the application logic and access the database are
instantiated
5. Java Controller changes page based on dynamic UI rules from the
MetaData UI Definition
6. UIX Generates page by interprets the page definition, creates the
corresponding HTML in accordance with UI standards & sends to browser
New Metadata Repository
• The metadata used to describe the UI is loaded into a
database repository, called Meta Data Services (MDS),
at deployment time and optionally at design time as well.
User- and application-driven interactions are handled by
the OA Controller.
The cookie contains an encrypted key identifier for a session row stored in the
Applications database (this is the servlet session ID, in its decrypted form, and
serves as the primary key in the ICX_SESSIONS table)
The WebAppsContext retrieves this key value after each request, and uses it to
query the current session state The Oracle Applications user session is associated
with a servlet session, however, it has its own life cycle and time-out characteristics.
Servlet Sessions
• An Oracle Applications user session might be associated with
multiple servlet sessions (if, for example, the servlet session times
out while the user takes a phone call in the middle of creating an OA
Framework expense report, and then resumes work before the
Oracle Applications user session times out).
• A servlet session might be associated with multiple Oracle
Applications user sessions (if, for example, a user logs out and then
back in again without closing the browser window).
• If the Oracle Applications user session times out, as long as the
user does not close the browser window (so the browser session-
based cookie isn't lost) and no one deletes the corresponding
session row in the ICX_SESSIONS table, the user can resume her
transaction at the point where she stopped working after being
prompted to log back in.
Timeouts
• ICX: Session Timeout , controls the time of inactivity of the session. If set to 30
minutes, then after no activity for 30 minutes you will get the popup window.
ICX:Limit Time, controls the total time a session can be logged in. If set to 8
hours, then after 8 hours you will get the popup window, regardless of what
activity is being done.
ICX:Limit connect, This profile option determines the max. number of
connection requests a user can make in a single session. If a user sends more
requests than the value specified by this profile option in a single session, then
the session will expire. This needs to be bumped up to 2000 +, because each
time Session Time is checked it adds another ICX connection. This IS NOT
DETERMEND BY THE NUMBER OF USER CONNECTIONS. The more ICX
checks its self the more ICX connections you are going to see for a user.
Session.timeout, is set under the Apache’s zone.properties. This should be set
to default which is 1800000. Anything higher can result in performance and out
of memory errors.
Typically session.timeout and ICX:Session Timeout are set to the same value.
CRM Timeouts
• ICX:Session Timeout,
ICX:Limit Time, and
JTF_INACTIVE_SESSION_TIMEOUT
• JTF_INACTIVE_SESSION_TIMEOUT
affects CRM-based products only, and
serves the same purpose as the
ICX:Session Timeout profile. This profile
exists for legacy reasons, and its value
should be set to the same as ICX:Session
Timeout.
Forms Timeouts
• ICX:Session Timeout,
• and ICX:Limit Time
OA Framework Timeouts
• ICX:Session Timeout,
• ICX: Limit Time,
• and JServ Timeout
Timeouts
• Oracle recommends setting the different timeout
parameters to between 30 minutes (default) to 60
minutes. In practice, timeouts as long as 8 hours are
common.
• ICX: Session Timeout - (Forms) 480 (minutes) – 8 hours
• ICX:Limit Time - 12 hours
• ICX:Limit connect – 2000+
• Session.timeout (zone.properties) 28800000 – 8 hours
• ICX: Session Timeout and Session.timeout should have
the same value.
Timeouts
• The defaults in 11.5.10.2:
• ICX: Limit time 999 (hours)
• ICX: Limit connect 9000 (# ICX
connects)
• ICX:Session Timeout 30 (minutes)
Timeouts
• The ICX Profiles handle the Forms Session. This
can be confusing since ICX in the past is known
to be associated with Self Service. This is no
longer the case since the release of Framework
for the ICX Profiles that control the Timeout
Functionality.
• The Time Out functionality has been setup to
work with the URL that calls AppsLocalLogin.jsp
during login. The Old ICXINDEX.htm has been
replaced since the release of FND G and 11.5.9.
Load Balancing
• The application tier supports load balancing
among many of its servers and services to help
provide higher availability, fault tolerance,
reliability, and optimal scalability. If you have
more than one of any of the following types of
server, load balancing can be employed:
• Web services
• Forms services
• Concurrent Processing server
TruTek
Load Balancing – Forms Servers
Web Server (OSSWA)
HTML
Interface Web Metadata
1 Listener
JServ Dictionary
Web Browser
2 jsp
JInitiator
SELECT fnd_form.form_name,
fnd_form_tl.user_form_name,
fnd_form.last_update_date,
fnd_form_tl.last_update_date
FROM applsys.fnd_form, applsys.fnd_form_tl
WHERE ((fnd_form.form_id = fnd_form_tl.form_id))
ATG RUP 3 vs ATG RUP4
Long Form Name Module Files in ATG RUP3 File Difference
Application Module Parameters Registry AK Common Modules Developer AKDAPREG.fmb
Define Attributes AKDATTRS.fmb
ECEOUTDF.fmb
Diagnostic Tests – trusted.conf
All the directives for restricting access to monitoring services are listed
in file trusted.conf.
Follow the steps below to comment the inclusion of trusted.conf:
Multi-Node Environment
One Admin Node
Two Forms Nodes
Two Web Nodes
Two Concurrent Processing Nodes
Not using Shared APPL_TOP
Standard AD
AD Concurrent Sessions
Shared APPL_TOP System
A traditional multi-node installation of Release 11i requires
each application tier node to maintain its own application
tier file system, consisting of the APPL_TOP file system
(APPL_TOP and COMMON_TOP directories) and the
application tier technology stack file system (8.0.6 and
iAS Oracle homes).
$ cd <COMMON_TOP>/admin/scripts/<CONTEXT_NAME>
$ perl adpreclone.pl appsTier merge
$ cd <COMMON_TOP>/admin/scripts/<CONTEXT_NAME>
$ perl adpreclone.pl appltop merge
Merging existing APPL_TOPs
– Create a copy of Node A (preferred)
If you want to place the merged APPL_TOPs in a new location
instead of using an existing APPL_TOP location, create a copy
of Node A (the other nodes in the system do not need to be
copied). Include the following directories from Node A:
<APPL_TOP>
<OA_HTML> (when this directory exists)
<OA_JAVA>
<COMMON_TOP>/util
<COMMON_TOP>/clone
<COMMON_TOP>/_pages (when this directory exists)
<806 ORACLE_HOME>
<iAS ORACLE_HOME>
Merging existing APPL_TOPs
– Copy the required files for merging
Log in as the APPLMGR user to each source node and
recursively copy:
• directory <COMMON_TOP>/clone/appl
- to -
• directory <COMMMON_TOP>/clone/appl on Node A
(or the copy of Node A).
$ cd <COMMON_TOP>/clone/bin
$ perl adcfgclone.pl appsTier
Merging existing APPL_TOPs
– Finishing tasks
• Log in to the target system application tier node as the
APPLMGR user.
• Run the following tasks in adadmin for all products:
– generate JAR files
– generate message files
– relink executables
– copy files to destination
• Depending on which tier you chose as the primary node,
certain files may be missing. Run adadmin to verify files
required at runtime. If any files are listed as missing files, you
must manually copy them to the merged APPL_TOP.
• Remove the temporary directory
<COMMON_TOP>/clone/appl to reduce disk space usage.
Shared Application Tier File System
1. Cleanup DEV
2. Shutdown PROD Instance
(350GB)
3. Copy Data to Staging Area (4 hrs)
4. Startup PROD Instance
5. Copy Staged Data to DEV (6 hrs)
6. In parallel, copy COMN, APPL
and ORA, & 10g home
Disks 7. adcfgclone.pl (1 hr) Disks
8. Copy APPL, ORA, and COMN to
APPDEV2 (3 Hours)
2. 9. Add Tier
10. Post Clone Steps (4 hours)
Advantages
Reduced Coordination with UNIX SAs
3.5 hours less downtime while making copy
Less Network Bandwidth required
WF_NOTIFICATION_ATTRIBUTES TEXT_VALUE Value starts with http://<old web host> : Update to new web host
WF_ITEM_ATTRIBUTE_VALUES TEXT_VALUE Value starts with "http://<old web host> : Update to new web host
Create a new system defined as the new global database name using the
WF_SYSTEMS GUID
Workflow Administrator Web Applications responsibility.
WF_SYSTEMS NAME Value needs to be replaced with the database global name
WF_AGENTS ADDRESS Update database link with the new database global name.
FND_CONCURRENT_REQUESTS LOGFILE_NAME Update with the correct path to the logfile directory
FND_CONCURRENT_REQUESTS OUTFILE_NAME Update with the new directory path on the target system
Business Event System
Cloning Finishing Steps
If OWF.H or higher is applied, run txkWfClone.sh
$COMMON_TOP/admin/install/<context>/txkWfClone.sh.
This script updates all of the WF tables from source to target.
Syntax:
sh $COMMON_TOP/admin/install/$CONTEXT_NAME/txkWfClone.sh
apps <apps_pw>
Example:
source APPSORA.env
sh $COMMON_TOP/admin/install/$CONTEXT_NAME/txkWfClone.sh
apps apps
Install
2. Set the "Personalize Self-Service Defn" profile option to Yes for that
user.
6. On the next page, enter a value appropriate for the Personalization level you
selected.
The Site and User levels do not require any value as the personalization
applies to all users of the current site. Other levels, such as Responsibility
or Function, for example, require a specific responsibility or function name,
respectively.
7. If you initially selected the Personalize Region link for a specific region, the
Create View or Update View page for that region should appear. Use the
Create View or Update View page to create a new view or update the
existing personalized view of the region.
Personalize a Region at the
Admin level
8. If you initially selected the global Personalize Region button, a
navigation tree appears to the left of the Create View or Update
View page. The tree displays the hierarchy of all the regions that
make up the current application page and allows you to navigate to
any region within the page. Select the region you wish to
personalize from the navigation tree to display the Create View or
Update View page for that region.
The following steps combined to form one approach that has been used with success.
1. Submit the Purge Obsolete Workflow Runtime Data concurrent request (FNDWFPR)
You can do this at any time. This is the first thing to do, as it will purge any and all data
related to Worflow processes that have terminated normally. If process data does not
get purged using this method, then move on to the next step.
Use the standard concurrent program FNDWFPR ”Purge Obsolete Workflow Runtime
Data” to purge old data from the Oracle Workflow runtime tables regularly.
You can supply the following parameters for the ”Purge Obsolete Workflow Runtime
Data” concurrent program:
Item Type — The item type to purge. Leaving this field blank
defaults to purging the runtime data for all item types.
Item Key — The item key to purge. Leaving this field blank
defaults to purging the runtime data for all item keys.
Age — Minimum age of data to purge, in days.
wfstat.sql
From within SQL, run the wfstat.sql script to list any
particular process item type that is not being purged.
• If it returns a status of 'ACTIVE' in the
WF_ITEM_ACTIVITY_STATUSES table, yet the
WF_NOTIFICATIONS table shows the status for this
item as being 'CLOSED', then there may be a problem
with how the process was executed.
• The process may have never run to completion for
whatever reason, or it may have terminated abnormally.
If only a few are not being purged, try updating the table
status, or move on to the next step.
bde_wf_data.sql
• Run the script bde_wf_data.sql -
Note 165316.1
• This queries all data that is considered to
be eligible for purging. This is a useful and
highly recommended script
wfrmitms.sql - wfrmtype.sql
Run wfrmitms.sql and wfrmtype.sql
You can also use two provided SQL scripts to assist in the
purge process:
$FND_TOP/sql/wfrmitms.sql
$FND_TOP/sql/wfrmtype.sql
This will return all the rows still remaining in the table after having gone
through a normal purge process.
b) Select one of the remaining ones that have an old end_date and run
this query:
select item_type, item_key
from wf_item_activity_statuses
where notification_id = <#> ;this corresponds to the
notification_id you picked.
• AOL/J supplies the Oracle Applications Framework with underlying security and
applications Java services. It provides the Oracle Applications Framework with its
connection to the database, and with application-specific functionality such as
flexfields.
The servlet engine uses the metadata dictionary in constructing the Framework UI.
Java Servlet Access with HTML
Applications
HTML-based Applications use the
following access path:
The Forms listener servlet caches data and provides it to the client as needed,
for example when scrolling through multiple order lines that exceed the
limitations of a single screen.
Forms listener servlet can communicate with the desktop client using these
network protocols: