« October 2006 | Main | December 2006 »

November 28, 2006

Linux How-To

Linux How-To

Although i have been working with Oracle Application all various Unix flavors my favorite one has been Linux. In today's  post i will shift focus from Oracle Applications and discuss some tips for doing some frequently used tasks on the Operating System.

This post is my first in a series of posts which i intend to put up here on the operating system. Although most of you  would be using these quite frequently I just though of putting them in one place.

Finding Your Linux Release
The first set you would require to do most of the times as an Applications DBA before you start installing or troubleshooting is to find out the version of Linux you are running.
This you can get from a static file redhat-release located in the /etc  directory

view /etc/redhat-release
Red Hat Enterprise Linux AS release 4 (Nahant Update 2)

NFS mounting on Linux

Most often it is required to do a NFS mount of your disks across different servers. This particularly useful for doing  Applications Installations and Patching. There are two aspects of configuration involved here. One is the sever that is the  which is sharing the file system and the other is client which the host that is mounting the shared file system.

Supposing you want to mount a u01/sam on Node_A to Node_B

Configurations on Node_A
edit the /etc/exports file
vi /etc/exports
add the filesystem to mount
/u01/sam ro Node_B

you can either use the option ro which means read only or in case you wish to allow node_b to write into the filesystem use  the rw option which is read writeable.

The change in exports file takes effect only after the restart of your NFS service daemon. use the service command to do  that.

# service nfs restart
Shutting down NFS mountd:                                  [  OK  ]
Shutting down NFS daemon:                                  [  OK  ]
Shutting down NFS quotas:                                  [  OK  ]
Shutting down NFS services:                                [  OK  ]
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]

Configuration for Node_B
On Node_B simply create the mount point to hold the shared file system and mount it using the mount command.

#mkdir sam
#mount -t nfs Node_A:/u01/sam /sam

Setting Kernel Parameters

Most oracle products require certain kernel parameters to be set as a pre requisite for installation. Common kernel parameters include parameters for shared memory .

The /etc/sysctl.conf file takes care of your kernel parameters.
#vi /etc/sysctl.conf
kernel.shmmax = 2147483648
kernel.shmmni = 128
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

However changes made to this file take effect only after the next reboot.

The sysctl command can be used to set the kernel parameter at runtime in linux.

sysctl -w kernel.shmmax=2147483648

You must however make the change in the /etc/sysctl.conf so that it is permanent.

Increasing the Swap space at runtime
Imagine this, you start the OUI and your pre installation check fails due to insufficient swap space. Now I agree that you  got to check all this before starting the installation but just in case you missed it. You could always increase it on the  fly.

Check the memory on your server
# free -m
             total       used       free     shared    buffers     cached
Mem:          8117       3204       4913          0         77       2648
-/+ buffers/cache:        478       7639
Swap:          101          0        101

Now say you need to increase it by 500 MB for your server, first locate a place you can spare this 500 MB in my case i found  it in /u01

Use the dd command to create a swapfile
#cd /u01
# dd if=/dev/zero of=swapfile bs=1024 count=512000
512000+0 records in
512000+0 records out
# ls -ltr
drwx------   2 root   root     16384 May  1  2006 lost+found
-rw-r--r--   1 root   root 524288000 Nov 28 13:58 swapfile

Next issue the following two commands
# mkswap swapfile
Setting up swapspace version 1, size = 524283 kB
# swapon swapfile

Now check you memory again
# free -m
             total       used       free     shared    buffers     cached
Mem:          8117       2176       5941          0         45       1975
-/+ buffers/cache:        155       7962
Swap:          601          0        601

Bingo! here is your increased SWAP.

To make this change permanent add the line in your etc/fstab
/u01/swapfile swap swap defaults 0 0

 

 

November 27, 2006

Demystifying RapidInstall

Demystifying RapidInstall

The RapidInstall is a Oracle tool that is responsible for doing the installation of Oracle Application. The latest version of  RapidInstall does most of the install and configuration process for us behind the scenes. In today’s post we will try to look what the RapidInstall actually does.

The installation of Oracle Application by RapidInstall happens in two phases

  • The Database Tier Installation
  • The Application Tier Installation

It also happens in the order mentioned. Not surprisingly when we are doing the installation in a multi node environment we start the installation from our database tiers first.

The RapidInstall executable is present in the startCD/Disk1/rapidwiz directory. Since the installation user interface is GUI driven it should be run either at the console or in a Xwindows session.

Pre Installation Tasks and Checks

The first task performed by the RapidInstall is to verify the user inputs entered through the first few screens of the Oracle  Applications installation. These values can either be entered manually or they can be picked up through a configuration file. In either case the RapidInstall makes a note of these values in a configuration file and before verifying their availability.

The tasks which the RapidInstall does at this stage includes

The RapidInstall in the very first stage makes a note of the type of Oracle Applications Installation which is being done  that is a Single Node or a Multi Node. It also take registers if the instances uses high availability features like load balancing or SHARED APPL_TOP.

In case of a multi node environment it also now registers the various node names and the their OS platforms in the configuration file.

The RapidInstall makes a note of the OS User and group for the Oracle user

It also makes a note of the directory structure and checks their availability which is required to hold the Database Tier of Oracle Applications which includes

Base Install directory
Oracle Home           
Data Top (SYS)        
Data Top (LOG)        
Data Top (TXN)        
Data Top (ARCHIVE)    

Now the RapidInstall proceed to make a note of the OS user and the OS group for the the Application Tier nodes if it is a multi node system this is process is repeated for all the nodes.

The RapidInstall now validates the directory structure required to hold the application tier file system which includes

Base Install directory
APPL_TOP Mount point  
APPL_TOP aux. 1       
APPL_TOP aux. 2       
APPL_TOP aux. 3      
COMMON_TOP          
8.0.6 ORACLE_HOME   
iAS ORACLE_HOME    
Temp Directory

Next the RapidInstall makes a note of the selected product and the product groups join the form of the internal product codes.

Now the RapidInstall makes a note of the selected languages and the database and Application character set selected.

After this the RapidInstall makes a note of the port pool entered and check the port availability for your Database,RFC,Forms Listener,Martics Server,Matrics Client,Forms Servlet Port Range,Reports Listener,Web Listener,JTF Fulfillment Server, Map Viewer Servlet,OEM Web Utility,VisiBroker OrbServer Agent,MSCA Server,MSCA Dispatcher,OACORE Servlet Port Range,Discoverer Servlet Port Range and the XMLSVCS Servlet Port Range.

The RapidInstall will now verify the Operating System version and patch level. For this it will use the checkOS.sh script located in rapidwiz/bin of your startCD.

At this stage the RapidInstall will create the directories for holding the database tier and application Tier of Oracle Applications, In case of a multi node system it will create the directories on the node in which the RapidInstall is run.

The RapidInstall now performs a check for the Operating System utilities which are required to perform the installation. The script used for this purpose is the adchkutl.sh. This checks for the following utilities
make
ld
cc
ar
ksh

Database Tier Install Tasks

Now the RapidInstall creates the Database Tier XML file. This is done using the adxdbctx.tmp template file. A temporary XML context file is located in the /tmp directory and the final file is copied on to the $ORACLE_HOME/appsutil directory.

After this the context file for the APPL_TOP is created. The template file used in this case is adxmlctx.tmp.

Now the stage is set for the creation of the database for Oracle Application. The RapidInstall uses the adridb.drv driver file for this purpose. This driver calls the adrun9i.sh file along with details of the XML context file as parameter. The adrun9i.sh  is responsible for the RDBMS installation based upon the operating system platform. RapidInstall executes this script as the Oracle OS user.

The RapidInstall will now check the contents of your stage area and start the unzipping of the required files for the database installation. At this stage the adrun9i.sh will call the instconf.drv to perform the instance configuration. Also executed is the addbtmpl.drv driver.

The next stage involves RapidInstall making the Oracle binaries. This involves copying the object files to the Oracle Home and making the required Oracle Executables. The adlnkoh.sh is executed by RapidInstall to do the linking.

The RapidInstall now starts the listener, It starts the database and registers it with the Operating system.

The database is created with default character set, the adsvdcnv.sh is executed to perform any character set conversion  required.

At the next stage the ADX Database Utility is run to perform the context value management for on your database based upon the values present in your context file.

At this stage the RapidInstall does a restart of your oracle applications database tier services this time using the Oracle Applications startup and shutdown scripts.

Application Tier Install Process

The RapidInstall first check the integrity of your stage location and unzips the required files to Application tier directories. If they were not created earlier RapidInstall now does the require per requisite checks and creates these  directories for you.

For the Applications Tier install the main driver file used by the RapidInstall is the adriapps.drv.This driver file call two additional script files which are the adrunias.sh and adrunat.sh

The adrunias.sh reads your APPL_TOP context file and relinks the executables for your iAS ORACLE_HOME.
The adrunat.sh again uses your context file to set up the other APPL_TOP executables and files.

Both the scripts run autoconfig to setup the environment and configuration files.

The interoperability patch 3830807 is also applied by RapidInstall at this stage for 3.0 compatibility.

At the next stage RapidInstall will call the ADX Database Utility which will read the APPL_TOP context file and perform context value management for the application tier context file.

Next RapidInstall will set the APPL_TOP file ownership and file permissions.

At this stage RapidInstall executes several scripts from your COMMON_TOP/admin/install directory. These scripts have sql scripts encapsulated within them and create the database objects and set attributes for them accordingly. Some of them also update the profile option values at the database level.

After this RapidInstall attempts to start all configured Applications Tier services that have been configured for that  particular node using the oracle Applications startup scripts.

A post installation check is carried out by RapidInstall now which first checks the Database availability check. For this the riwTDBup.sh script is used.

An environment check is done by sourcing each of the environment files which are
Database ORACLE_HOME environment file
Apps ORACLE_HOME environment file
iAS ORACLE_HOME environment file
ADOVARS environment file

A dbc file check is then initiated to verify the values present.

Next follows a HTTP check which is done by seeing the accessibility of the Oracle Applications HTTP URL.

A JSP check is done by using the dbc file, if your dbc file check fails most likely this check will also fail.

The login check is finally done using the ICXINDEX.htm file. 

November 23, 2006

Oracle Portal

Oracle Portal

Continuing with the series of Oracle Applications Server integration, today i shall discuss about Oracle Portal and Integrating Portal with Oracle Applications.

A portal is a web based implementation of content management which allows the enterprise to effectively manage content  without having to make use of complex programming tools. There have been various implementation of Portals by various third parties. But In this post i shall limit the discussion to Oracle's implementation of Portal.

Oracle Allows a out of box portal solution as a part of its Fusion Middleware bundled with 10g Oracle Application Server. Oracle Portal lets the enterprise employ a single portal framework to manage Organization’s entire Web presence. It is based in the Oracle's implementation of J2EE containers or Oracle Containers for J2EE (OC4J).

Besides providing standard functionalities of a enterprise portal Oracle Portal also allows integration with the E-Business suite enabling organizations to provide dynamic content to employees, Partners and vendors. This integration with enterprise  applications extends itself to non Oracle Applications like SAP also.

Other Benefits of Oracle Portal Include

Single Sign On
Ability to implement Single Sign On by integrating with Oracle Internet Directory.

Business Intelligence
Oracle Portal offer in built portlets which can be used with Other Oracle Business Intelligence tools like Discoverer.

Business Process
Oracle Portal also offers interaction with the business process engineering tools like BEPL.

Desktop Publishing
Apart from the dynamic content and integration with other enterprise applications Oracle Portal also allows for convenient publishing of content through the desktop.

Custom Development
Oracle Portal also comes with an inbuilt Portal Development Kit (PDK) which allows developer to do custom development.

SOA Enabler
Organizations that aim at implementing a Service Oriented Architecture(SOA) require there applications to be bound together in a secure portal framework. Oracle Portal helps them archive this.

As mentioned earlier Oracle Portal is a component of the 10g Application Server. It is installed as a part of the Middle Tier  components of the 10g Application Server. As a result you must have a Oracle Applications Server Infrastructure installed first before going ahead with the installation of Oracle Portal.

The latest release of Oracle Portal is 10.1.4, though the Portal which comes with Oracle Application server 10.1.2.0.2 is discussed in this post.

Portal Integration With Oracle Applications

This kind of integration allows access to Ebusiness suite protlets from within Oracle Portal. A link to E Business suite is  created when we register Oracle Applications as a partner application with Oracle Portal.

Architecture Configuration

Oracle Applications 11.5.10.2 (With ATG RUP 4)
Oracle Applications 10g 10.1.2.0.2
Redhat Linux AS 4
Oracle Applications HTTP Port 8032
Oracle Application Server Infrastructure Port 7777
Oracle Application Server Middle Tier Port 7778
OS Applications user applsam
OS Database User orasam
10g Application Server Infrastructure OS user asinf
10g Application Server Middle Tier OS user asmid

Pre Requisites

This post assumes the following configurations have been successfully setup.

E-Business suite 11.5.10.2 has been setup
Oracle Applications Server 10.1.2.0.2 Infrastructure and Middle Tier is Installed (With Portal)
10g Application Server Integrated with Oracle Applications and Single Sign On Implemented

Check Portal Setup
Check the setup and configuration of your portal by logging in to the portal url

http://<hostname>.<domain>:<port>/pls/portal

orcladmin is the super user for portal you can login with user to see that the portal admin screen.

Apply Patch 3418272
This patch has to be applied on your E-Business Suite with your ORACLE_HOME set to your IAS ORACLE_HOME.To do set the environment correctly source the SID_hostname.env located in your IAS Home of your E-Business Suite. The patch has two scripts namely  c3418272.csh and d3418272.csh you only need to apply the first script that is c3418272.csh.

Apply Compatibility patch 3615177
This patch is also applied to your IAS_ORACLE_HOME. Again your need to source the SID_hostname.env located in your IAS Home of your Ebusiness suite for to get the environment correct.

Apply patch  4585791
This patch is to be applied to your Portal home that is your Oracle Applications Server Middle Tier home. The patch is  applied by OPatch. It is advisable to have the latest OPatch installed in your ORACLE_HOME before you apply this patch.

#su - asmid
$cd $ORACLE_HOME/OPatch
$./opatch apply -silent /u01/4585791 -pre -s portal -p TyOQH8Ax -c samlnx:1521:samasdb.appsdbablog.com

You can get the portal password by running the ldapsearch script on your Infrastructure

ldapsearch -h samlnx.appsdbablog.com -p 389 -D "cn=orcladmin" -w test123 -b "cn=IAS,cn=Products,cn=OracleContext" -s sub -v 
"OrclresourceName=portal"| grep orclpasswordattribute

Apply Patch 5378265
Apply this patch on your E-Business Suite using adpatch.

Change the Cookie Domain
Change the Cookie Domain to conatin the last last two letters of the value mentioned in the APPS_WEB_AGENT.In our case in should contain .appsdbablog.com. Make this change from the Oracle Applications Manager (OAM).

Comment for topleveldomain
Remove the comment in from topleveldomain variable from Oracle Applications manager.

OProcMgr Trusted Nodes
In case you have your Oracle Application server on a different host then make sure you add the entry for this host also in the OProcMgr Trusted Nodes through OAM.

Run Autoconfig
Run autoconfig on your application tier so that the changes get reflect across the system. Bounce your Apache Server to have the chages take effect.

Register E-Business Suite Framework
Go to the portal page using
http://<AS10g_hostname>:<AS10g_app_tier_portnumber>/pls/portal
Login as orcladmin user and navigate to Administer" tab -> "Portlets" region -> "Register a Provider" link

You need to fill in the details as required and register  Oracle Applications with the following URL
http://[Release_11i_host]:[port]/servlet/framework
Attempting to access this URL from your desktop may result in an access denied message but you can ignore it and proceed with  the registration.You might get a cookie related warning post registeration which also can be ignored.

Once registered a link to the Oracle Applications Framework with a list of Oracle Applications Portlets will be accessible from your portal.



Additional References
Using Oracle Portal 10g with Oracle E-Business Suite 11i Note:305918.1

November 19, 2006

Goodbye mod_plsql

Goodbye mod_plsql

In my previous post relation to Oracle Application Express i briefly discussed that running APEX with Oracle  Applications Release 12 will not be that straightforward after all. The reason being the absence of mod_plsql in the Release 12 Application Server. In today’s post i will explore this topic a bit further and understand what  exactly does the mod_plsql do and its absence in Oracle Applications Release 12.

mod_plsql

mod_plsql is a extension module of the Apache Web Server which is the core component of the Oracle Application server. It was also formally referred to as Oracle PLSQL Cartridge. The main function of the mod_plsql is that is  allows the middle tier or the web server to understand and execute plsql code. This is particular useful in  generation of dynamic web pages. The mod_plsql makes a connection to your database based on the information defined  by your Data Access Descriptor (DAD) settings. That is in Oracle Applications the wdbsrv.app file would be used by  the mod_plsql to connect to your database and execute the sql/plsql code against it. What this does mean is that  virtually almost any plsql code can be executed through the web browser via a http/https protocol.

In a default apache web server configuration mod_plsql is configured and started by default.The Oracle Application  server both standalone and the one bundled within Oracle Applications Release 11i.

mod_plsql Vulnerabilities

Although i am yet to see any official document from Oracle on the mod_plsql's demise in release 12 apart from  Steven Chan’s blog and the Oracle Open World presentations, the reason for its exclusion are not mentioned.

The main reason which i feel is the security vulnerabilities that mod_plsql has. Since a connection to a database is  possible relatively easily in a mod_plsql implementation its gives rise to security threats. In fact it allows anyone with access to the Oracle Application web server to execute any sql /plsql code against  the APPS schema and view any data which is visible to the APPS user. This obviously quite dangerous. Also exists a risk of sql injection, which is one of the most commonly used techniques by hackers. Sql injection is a technique where the hacker tries to add in malicious code in between a valid sql/plsql code.This often makes the system quite vulnerable and difficult to detect the intrusion.

Although there have been workaround to block the mod_plsql vulnerabilities, they have been known to cause problems in  complex implementations of Oracle Applications. These vulnerabilities have not gone unnoticed by oracle and it has  relase Oracle Security Alert #28 which takes about the risk arising from the mod_plsql.

As a result i feel the security vulnerabilities surrounding mod_plsql would have been one of the major factors for  Oracle to decide to de support mod_plsql in Oracle Applications Release 12.

Oracle Applications Framework.
When i has started blogging my third post covered Oracle Applications Framework(OAF).Its time to revisit the topic  now. The Oracle Applications Framework is a java framework which is based on the J2EE MVC design pattern and allows to execute HTMl,XML,PL/SQL,Java and web services without compromising on security. The connection to the database  in Oracle Applications Framework model is done through Java Database Connection (JDBC) Drivers.

The Oracle Applications Framework comes bundled in a default installation of Oracle Applications Release 11.5.10  and later for Oracle Applications Release 11.5.9 and prior you would be required to upgrade to the latest AD patchset level to be able to use Oracle Applications Framework. For the current release of OAF you must have be on  java 1.3 atleast. The actual requirements for OAF in Release 12 are not known as the official documentation on that  is yet to be released.

Apart from addressing the security vulnerabilities OAF also allows the out of box customizations of the Oracle  Applications imodules. In Oracle Applications Release 12 all customizations which use the application server  mod_plsql would have to be migrated to the Oracle Applications Framework model.

Additional References
Red-database-security.com's Sql Injection via mod_plsql
Steven Chan's Post on Release 12 Tech Stack

November 17, 2006

Oracle Application Express

Oracle Application Express

My introduction  to Oracle Application Express was through the user comments on this blog. Though ii have not come across an implementation of Oracle Application server in any of my projects so far, I still decided to have a look at the product and its integration with Oracle Applications. I was both satisfied and a bit disappointed. I will discuss the reasons for both as i progress with this post.

Oracle Application Express or APEX was also formally know as HTML DB.APEX aims at consolidating and securing data while  improving access by delivering data through a web browser.

Based on a thin client architecture APEX does not require any additional software on each desktops of the users, a supported  web browser will suffice. APEX makes the communication with the database using the mod_plsql module of the Oracle Application Server.

APEX is tool which is aimed at both users and developers .For users who have limited or no programming experience APEX  allows them to easily build reports, charts and upload data from spread sheets and text files into the database. It also allows  developers to quickly build up forms, reports and making deployment a secure and less complex for database centric web applications.

Other benefits of APEX include.

  • Web Services Integration : Blends well with web services by making use of SOAP and XLS style sheets.
  • Workspaces: which allow multiple level of access within the same database for different users
  • Template Driven UI: Application development of UI is made simpler by making use of in built templates.
  • Email notifications: Using the UTL_SMTP package.
  • Flexible Authentication: Using Single Sign On and native database type authentication methods supported.
  • SQL Workshop Tools: These provide tools to view and modify the database objects within the web browser.

APEX Architecture


Oracle Applications Release 12 and APEX

Mod_plsql
is planned to not included in release 12 of Oracle Applications, so does this mean APOEX would be unusable? well not really you would need to do a separate Application server installation to be able to use APEX in Release 12.

Installing APEX with Oracle Applications Release 11.5.10.2

Pre Requisites

The database should be 9i release 2 9.2 or higher
The version of Oracle Application server should be 1.0.2.2 or higher
Make sure you have an additional 500 MB of free space in your ORACLE_HOME mount point.

Oracle Text Requirement

Oracle Text which is installed by default as a part of the DB installation is required for using the Application express  Help files. However you must install the default language for Oracle Text using drdefus.sql

$ sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.6.0 - Production on Thu Nov 16 15:25:22 2006
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production
SQL> @$ORACLE_HOME/ctx/admin/defaults/drdefus.sql
Creating lexer preference...
PL/SQL procedure successfully completed.
Creating wordlist preference...
PL/SQL procedure successfully completed.
Creating stoplist...
PL/SQL procedure successfully completed.
Creating default policy...
PL/SQL procedure successfully completed.

Download APEX software

Download the apex_2.2.1.zip from http://www.oracle.com/technology/products/database/application_express/download.html
Copy it to your ORACLE_HOME and unzip it
unzip apex_2.2.1.zip

Create a tablespace to hold your APEX schema and APEX files

Since you do not have a default schema to hold your APEX installation in Oracle Applications you must create a new tablespace  with at least 200 MB to hold it.

$ sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.6.0 - Production on Thu Nov 16 16:59:31 2006
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production
SQL>create tablespace APEX  datafile '/u04/sam/orasam/samdata/apex01.dbf' size 200M

Installing APEX

To install APEX into the database you must run the apexins.sql script on the database on which you wish to load APEX.The script can be located at $ORACLE_HOME/apex/apexins.sql.The scripts takes six arguments as parameters.

password: Password you wish to give for your APEX schema (in my case XXXX)
apex_tablespace: The tablespace to hold APEX schema (in my case APEX)
apex_file_tablespace: Tablespace to hold APEX files (in my case APEX)
temp_tablespace: Temporary tablespace (in my case TEMP)
images: Virtual directory for Images (in my case /i/)
connect: Connect string.(in my case none as it is a local DB)

$ sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.6.0 - Production on Thu Nov 16 16:59:31 2006
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production
SQL> @apexins.sql xxxxx apex apex temp /i/ none

Post Installation Tasks

Copy The Images Directory

Copy the images directory at $ORACLE_HOME/apex/images(DB Tier) to $IAS_ORACLE_HOME/Apache/Apache (Applications Tier)

cp -Rf images $IAS_ORACLE_HOME/Apache/Apache

Edit wdbsrv.app

Edit the $IAS_ORACLE_HOME/Apache/modplsql/cfg/wdbsrv.app file and add the following

[DAD_apex]
connect_string = SAM (your connect string here)
password = XXXXX (password you gave while installing APEX)
username = apex_public_user
default_page = apex
document_table = wwv_flow_file_objects$
document_path = docs
document_proc = wwv_flow_file_mgr.process_download
reuse = Yes
enablesso = No
stateful = STATELESS_RESET
nls_lang = American_America.AL32UTF8


Edit the httpd.conf

Edit the $IAS_ORACLE_HOME/Apache/Apache/conf/httpd.conf file and add the alias

Alias /i/ "/u03/sam/applsam/samora/iAS/Apache/Apache/images/"

Bounce your HTTP Server

Restart your HTTP server to have the changes take effect.

$cd $COMMON_TOP/admin/scripts/SAM/
./adapcctl.sh stop
./adapcctl.sh start

Logging in to APEX

You can use the following URL to login to APEX

http://<hostname>.<domain>:port/pls/apex

Use the username:admin and the password you gave during the install of APEX
First time users may need to navigate to the APEX administrators screen to do setup



There is a possibility that you may get login window with  to-be-defined realm login window, the solution though not  documented is quite simple edit the wdbsrv.app file and find an entry like

custom_auth     = CUSTOM
add a comment in front of this entry
#custom_auth     = CUSTOM

November 15, 2006

Oracle Containers For J2EE (OC4J)

Oracle Containers For J2EE (OC4J)

One of the reasons I am writing today’s post on Oracle Container For J2EE is that apart from being a core component of the 10g  Application Server Oracle Containers For J2EE is also an important member of the new Oracle Applications Release 12 Tech Stack. In this and my coming posts i would be touching upon the new feature which are planned to included in Oracle Applications Release 12.

Oracle Containers For J2EE or commonly referred to as OC4J is the underlying runtime engine for the 10g Application Server infrastructure. It is an extremely lightweight and easy to install component which requires less than 50 MB of disk space and  20 MB of your server memory to be up and running. It also has a support for a wide range of operating systems including  NT, Linux, Solaris, HP-UX, IBM-AIX and Compaq True 64 with support for both 32 and 64 bit operating system.

OC4J runs on the Java 1.4 virtual machine and is J2EE 1.3 complaint. You can have multiple OC4J process running configured each  of which is referred to as a OC4J instance. The OC4J configuration is controlled via  XML configuration files and OC4J properties file. An OC4J instance is referred to as a container as it provides a web container to support services like Java Server  
Pages(JSP),Servlets , Enterprise Java Beans(EJB) and Web Services
.

The OC4J also implements the following J2EE services.

  • Java Authentication And Authorization Service (JAAS)
  • Java API for XML Parsing (JAXP)
  • J2EE Connector (J2C)
  • Java Mail
  • Java Naming and Directory Interface(JNDI)
  • Java Database Connectivity (JDBC)
  • Java Application Framework(JAF)
  • Java Transaction API (JTA)
  • Java Messaging Service (JMS)


High Availability Single Sign On and SOA

OC4J can also be configured to support High availability architectures with Oracle RDBMS using Real Application Clusters and Oracle Datagaurd Technologies.OC4J also supports the Single Sign On functionality by make use of the JAAS service.OC4J is also out of box Service Oriented Architecture (SOA) compliant as it supports the underlying feature of persistence.

Deployment

Though in the current post we are mostly talking about OC4J as a component of the Oracle Application Server, its important to note here that it comes as a standalone java component as well in the form a single zip file. Both the standalone distribution and the Application server distribution are developer friendly and deployment friendly. The code deployment in OC4J is done 
through a Enterprise Archive File (EAR). The EAR file contains the Web Archive (WAR file) which in turn encapsulates the Java Archive (JAR) files containing the code.

OC4J In Oracle Applications

OC4J replaces the Jserv component which is there in the current release 11i of Oracle Applications. Also as a result the  mod_jserv component would be replaced by the mod_oc4j component in release 12 of Oracle Applications. The mod_oc4j is used to  communicate between different OC4J instances.

The default installation Release 12 of Oracle Applications creates 3 OC4J instances

  • Oacore: This runs the OA Framework -based applications.
  • Forms: This runs the Forms-based applications.
  • OAFM:  This is responsible for running the web services.


The Jserv groups which are there current in Oracle Applications Release 11i are also planned be replaced by OC4J instances.

As mentioned earlier the OC4J properties are controlled using the XML files and OC4J.properties file. These files are  managed by the standard Oracle Applications Autoconfig.

The Java code deployment in Oracle E-Business suite for OC4J is done at the time of install using rapid install and maintained by ad tools like adadmin and adpatch. New custom code deployment can be done by using the Application Server Control user interface.

The OC4J implementation In Oracle Applications Release 12 includes the following directory structure.

  • applications: Contains applications deployed
  • applications-deployment: Contains configuration settings for the applications deployed
  • config: Contains common configuration setting for the OC4J instance.


November 14, 2006

Oracle Collaboration Suite

Oracle Collaboration Suite

Its been quite sometime since my last post, but i have been traveling again. This time to the hot terrains of the Middle East. Traveling I found is one of the things that comes along with your job as an applications DBA consultant, you got to take it  weather you like it or not. Though some of my colleagues have taken up support assignments which means a steady place for a  long time somehow  I feel that is what I plan to do near retirement (no offences intended).
Experience tells me every visit holds its share of surprises and this one was no different.
I came across this really nice implementation of Oracle Collaboration Suite with seamless integration with Oracle  Applications. Something that would be a part of Release 12 or Fusion Applications.

In my today's post i will cover an overview of the Oracle Collaboration Suite. Oracle Collaboration Suite (OCS) integrates a set of applications that enable seamless collaboration within an enterprise in a efficient and secure manner. By introducing  the collaboration suite Oracle aims at reducing the dependency of the enterprise on multiple third-party products for the  achieving the same.

Additionally Collaboration suite also ensure compliance requirements by implementation polices and procedures across the  enterprise. It secures the system by implementing features like intrusion detection, data protection and access control.

Collaboration suite also implements Single Sign On in an out of box implementation thereby reducing the requirement of any additional configuration or setups. It has an inbuilt LDAP server for this purpose which is the Oracle Internet Directory. Its also makes use a simplified provisioning policy from a unified console which can be used to add, delete and 
modify existing users.

The Collaboration suite also makes use of the Oracle Delegated Administration Services (DAS) which enable directory administrators to delegate responsibilities to lower administrators or to end users.

Oracle Collaboration suite is also highly scalable and optionally leverages the benefits of Oracle Real Application Clusters to achieve a high availability architecture.

Another interesting component that is bundled with the collaboration suite is the Oracle Web Cache. Apart from improving performance by using caching techniques the web cache also allows for load balancing.

DMZ configurations can also be implemented with in a Oracle Collaboration suite architecture.

With such extensive features management of the system from an administrator’s point of view might end up as a complex  task, but that’s where the Oracle Enterprise Manager(OEM) comes into picture. The OEM acts as a centralized tool for  monitoring real-time use and performance monitoring, configuration, and control operations such as starting and stopping  processes.

The most current version of the collaboration suite is OCS 10g Release 1 (10.1.2)

The main components of Oracle Collaboration Suite can be classified as under

  • Calendar
  • Content Services
  • Discussions
  • Mail
  • Mobile Collaboration
  • Real-Time Collaboration
  • Search
  • Voicemail and Fax
  • Workspaces

The figure below depicts the architecture of Oracle Collaboration suite.



Oracle Calendar Services
Oracle Calendar is the time management and resource scheduling component of Oracle Collaboration Suite. It comprises of a  central calendar server and a calendar client. this client can either be a desktop client or a web based client. OCS also provides a Connecter for Microsoft Outlook to enable you use your existing outlook client with oracle calendar.

Oracle Content Services
Oracle content services provide a set of application services for file and document management across the enterprise. For  this content services makes use of various oracle tools like oracle drive for file management, Oracle BPEL for powerful custom workflows. Oracle Content services support the HTTP,FTP,FTPS and WebDAV protocols.

Discussions
Oracle discussions provide for message posting and idea exchanging within the enterprise. It includes features like RSS  feeds, Web Services and integration with email and portal.

Mail
Oracle Mail is a complete email system that is built around the oracle 10g database. It has a desktop client as well as web  based client. Additionally you can use the oracle connecter for outlook to use your outlook mail client with oracle mail.

Mobile Collaboration
Oracle Collaboration suite also provides mobile /wireless access to OCS services like mail calendar and content services. This  can be via SMS or through mobile browsers using a supported markup language.

Real Time Collaboration
Real Time collaboration is provided across the business by using two main components which are Oracle Web Conferencing.Oracle web conferencing is a thin client web conferencing tool which runs on client  using just a plug-in inside a web browser.
The other tool is the Oracle Messenger which supports instant messaging across the enterprise using both normal and secure  protocols.

Search
Oracle Collaboration Suite 10g Search is Oracle Collaboration Suite's cross-application search tool. This is built upon  Oracle Ultra Search and is used to search across OCS services like content services mail and calendar.

Voicemail and Fax
Oracle Collaboration suite 10g provides a voicemail and fax which allows retrieval storage of voicemail and fax messages. It  also provides a web based client for ease of administration and uses industry recognized formats like .wav and .tif.

Workspaces
The workspace component of Oracle Collaboration Suite 10g provides a comprehensive set of tools to manage  documents, meetings, tasks and discussions. It uses web services to implement these features.

November 09, 2006

Configuring Single Sign On With Oracle Application (Linux AS)

Configuring Single Sign On With Oracle Application (Linux AS)

In my last post i has discussed about Single Sign On in Oracle Applications, This post focuses on detail step by step instructions for configuring single Sign On With an existing Oracle Applications Instance.
This is assuming that you already have a Oracle Applications instance and a 10 G Application Server instance installed.

System Overview

Oracle Applications
Version 11.5.10.2
OS: Redhat Linux
Type: Single Node instance (Node A)
Applications OS User: applsam
Database OS User : orasam
Instance SID: SAM
Host: Node A
Port Pool: 23

10g Application Server
Version: 10.1.2.0
OS: Redhat Linux
Infrastructure with the following configured components
OracleAS Metadata Repository
Oracle HTTP Server
OracleAS Containers for J2EE
Oracle Internet Directory
OracleAS Single Sign-On
OracleAS Delegated Administration Service
OracleAS Directory Integration and Provisioning
OS user for infrastructure: saminf
ORACLE_HOME: /u01/sam/saminf/OraHome
ORACLE SID: SAMAS
Host: Node B

Task: To implement SSO with Oracle Applications.

Pre requisite for Oracle Applications

Check the Apache version of your Oracle Applications on Node A

Log in as the applications user 'applsam'
$cd $IAS_ORACLE_HOME/Apache/Apache/bin
$./httpd -v
Server version: Oracle HTTP Server Powered by Apache/1.3.19 (Unix)
Server built:   Feb 22 2005 18:51:19 (iAS 1.0.2.2.2 rollup 5)

If the version reported is less that 1.3.19 then you must apply Oracle9i Application Server Release 1.0.2.2.2 CD Pack.

Autoconfig

Make sure that your Oracle Applications is autoconfig enabled

DBMS_LDAP on E-Business Suite

Check if the DBMS_LDAP package is installed in your applications database.
Login is as the database user 'orasam'
$sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.6.0 - Production on Fri Nov 3 10:23:38 2006
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production
SQL> desc DBMS_LDAP;

If the package does not exist create it using the catldap.sql located in $ORACLE_HOME/rdbms/admin/ as SYSDBA

Pre requisite for Oracle Application Server 10g

Release 10.1.2

If the version of Applications server is not 10.1.2 you must upgrade your 10 g application server to 10.1.2.0

Test OIDDAS

Log into to OIDDAS as orcladmin user and create a test user to test the working of your application server installation.

http://<hostname>.<domain>:<http port>/oiddas

Implementing SSO

E-Business Suite SSO 10g Integration Patch

Apply the E-Business Suite SSO 10g Integration Patch (4775907) to your Oracle Applications using adapatch. Before applying the above patch make sure that all the pre requisite patches specified in the patch readme are applied.

Execute the SSO registration script in Oracle Applications.

The SSO registration script is a perl script and registers your E-Business Suite with SSO and OID. It prompts for a list of parameters which you should have ready.

Parameter List

Hostname of 10g AS
: samlnx03.appsdbablog.com
Port Of Application Server DB : 1521
Application Server Database : samas
OID LDAP Port : 3060
APPS user password : apps
Password for the ORASSO User : I0ds305V

(You can use the ldapsearch script located in the $ORACLE_HOME/bin/ of your Application Server 10g instance or from your Oracle Directory Manager client software, i use the client as its easy)

Password for the SYSTEM user of Oracle Application DB : manager
Password for the 'SSOSDK' on your Oracle Applications DB : SSOSDK

(The user will be created if it does not exist)

Password for the OID admin user orcladmin : admin123
Password with which you wish to register your E-Business Suite with OID :admin123
A valid Provisioning Profile Template : The default is ProvBiDirection.tmp,you can find additional templates at $FND_TOP/admin/template/

The SSO registration script by default uses a ProvBiDirection.tmp provisioning profile which is a BI directional Provisioning template, you can also provide a different provisioning template.

Additionally you must ensure that the perl from your IAS_ORACLE_HOME is in your application users profile and the version is 5.005 or higher.
$ which perl
~/samora/iAS/Apache/perl/bin/perl
$ perl -v
This is perl, version 5.005_03 built for i686-linux
Copyright 1987-1999, Larry Wall

Execute the txkrun.pl script

$ txkrun.pl -script=SetSSOReg
Enter the host name where Oracle iAS Infrastructure database is installed ? hcslnx03.satyam.com
Enter the Oracle iAS Infrastructure database port number ? 1521
Enter the Oracle iAS Infrastructure database SID ? samas
Enter the LDAP Port on Oracle Internet Directory server ? 3060
Enter Oracle E-Business apps database user password ? apps
Enter Oracle iAS Infrastructure database ORASSO schema password ? I0ds305V
Enter Oracle E-Business SYSTEM database user password ? manager
Enter E-Business Suite existing SSOSDK schema password or choose a password to use with the new SSOSDK schema if the schema does not exist ? ssosdk
Enter the Oracle Internet Directory Administrator (orcladmin) Bind password ? admin123
Enter the instance password that you would like to register this application instance with ? admin123
*** ALL THE FOLLOWING FILES ARE REQUIRED FOR RESOLVING RUNTIME ERRORS
*** Log File = /u02/sam/applsam/samcomn/rgf/SAM_hcslnx08/sso/txkSetSSOReg_Fri_Nov_3_15_27_47_2006.log
Program : /u02/sam/applsam/samappl/fnd/11.5.0/patch/115/bin/txkSetSSOReg.pl started @ Fri Nov  3 15:29:53 2006
*** Log File = /u02/sam/applsam/samcomn/rgf/SAM_hcslnx08/sso/txkSetSSOReg_Fri_Nov_3_15_27_47_2006.log
######################## WARNING
This application works with SSOSDK version 9.0.2 or higher. If lower version
(3.0.9) of SSOSDK was installed in your system and you have a registered
partner application, this process will remove the 3.0.9 version of the SSOSDK
schema and install the 9.0.2 version.
######################## WARNING
Beginning input parameter validation for SSO registration.
Beginning loading SSO SDK into database if necessary.
Loading of SSO SDK into database completed successfully.
Input parameter validation for SSO registration completed.
Beginning input parameter validation for OID registration.
Input parameters validation for OID registration completed.
BEGIN SSO REGISTRATION:
Beginning to register partner application.
Partner application has been registered successfully.
Single Sign-On partner application registered successfully.

BEGIN OID REGISTRATION:
Beginning to register Application and Service containers if necessary.
Application and Service containers were created successfully.
Beginning to register application in Oracle Internet Directory.
Registration of application in Oracle Internet Directory completed successfully.
Beginning to register instance password in Oracle Internet Directory.
Registration of instance password in Oracle Internet Directory completed successfully.
Beginning to test application registration in Oracle Internet Directory.
Testing of  application registration in Oracle Internet Directory completed successfully.
Beginning to register provisioning profile in Oracle Internet Directory.
Registration of provisioning profile in Oracle Internet Directory completed successfully.
Application is now registered successfully with provisioning in Oracle Internet Directory.
End of /u02/sam/applsam/samappl/fnd/11.5.0/patch/115/bin/txkSetSSOReg.pl : No Errors encountered

Add your 10g AS to the list of trusted nodes in your E-Business Suite

With 11.5.10 and higher you need to add the 10 G application server mode as a trusted node withing your E-Business suite You can do this through your Oracle Applications Manager Oracle Applications Manager=>Applications Dashboard=>Security=>Manage Security Options. You need to run autoconfig after this and bounce your database listener.

Restart your HTTP listener.

Restart your Apache HTTP listener to have your SSO registration take effect.

You may need to apply additional patches based on the E-Business Suite products installed.

November 07, 2006

Implementing Single Sign On in Oracle Applications

Implementing Single Sign On in Oracle Applications

In a default configuration of Oracle Applications the user validating and sign on is done at the database level. For this purpose the FND_USER database table is used.

This how a native Sign - On in Oracle Applications will typically work

  • The user types in the Oracle Applications URL in his web browser.
  • He enters his username and password.
  • A connection is made by the application to the database using the database listener and the applsyspub username. The password for this user should always be default which is 'pub'.
  • Next the username and password entered by the user are validated against the information present in the FND_USER table.
  • After this the user Authorization is performed and the user is given access to the responsibilities that he has been assigned.

In case of implementing single sign on the job of authentication is delegated to a Lightweight Directory Access Protocol (LDAP) server. This LDAP server can either be Oracle Internet Directory (OID) server or any other third party LDAP server.

One of the main advantages of this kind of implementation is that multiple application can be integrated with the same LDAP server thus requiring the user just to sign in once and access all these application. Also since most of the organizations might already have an existing LDAP server running they may want to use the same for the purpose of this authentication.

Sometime ago i had read a interesting distinction between authentication and authorization in Steven Chan's blog. According to which the authentication is the process of user validation and authorization is the process of identifying what resources (responsibilities) are to be allocated to that user.

In a Single Sign-On (SSO) architecture while the process of authentication is delegated to the LDAP server, the authorization process is still handled by the Oracle Applications database.

Under the Single Sign On architecture, E-Business suite is registered as a partner application within the SSO server. As  a result once the user authenticates himself within the SSO server he can access all the partner application registered with that SSO sever. Also logging out of any of the partner application logs out the user out of all the partner applications.

In a Single Sign - On environment the sign on would happen in the following steps.

  • Once the user navigates to the E-Business suite URL a check is made for a valid 11i cookie.
  • If this not present it is assumed that the user had not logged any partner application and is presented with the Single Sign  On screen.
  • The user enter is SSO username and password which is sent for validation against the information that is present in the LDAP  server.
  • Once validated the user authorization takes place against the FND_USER table in the oracle applications database and the user is presented with the resource he has been allocated.
  • The user can navigate to any partner application which have been registered with the SSO server.

To implement a Single Sign On with Oracle Application you must at minimum implement the following.

  • A 10g Application Server with Oracle Single Sign-On (SSO).
  • A LDAP server like Oracle Internet Directory (OID) or any other Third party LDAP solution.

You may use a third party Single Sign - On solution also but under such a configuration you would still require to implement Oracle Single Sign  - On, under such a situation the third party SSO actually becomes a partner application to your Oracle SSO just as the E-Business suite is registered as a partner application.

Another important fact is that implementing 10G application server does not result in upgrading the 9i Application server  that comes with the standard Oracle applications 11.5.10.The 9i Application Server would still be a core component of the technology stack and just the configures services are delegated to the 10G Application Server.

User Synchronization.

Under a SSO architecture the user information is stored under two places , one in the oracle applications database and the  other in the LDAP server. A user might be created in OID and it maybe required to have the user propagated to the E-Business suite. Similarly users may be created in e business suite and they would have to be then propagated to OID.
To address these issues there are a provisioning options which we can set up by using provisioning profiles.

In a typical SSO implementation we have with us three options.(E-Business with OID)

Option 1: Provision E-Business Suite to Oracle Internet Directory
Under this we set up all user created in a E-Business suite will automatically be provisioned to the OID.

Option 2: Provision Oracle Internet Directory to E-Business Suite
Under such a situation all the users are created within the OID after which they are provisioned automatically to the E-Business suite with a predefined responsibility.

Option 3: Bi directional Provisioning Between E-Business Suite & Oracle Internet Directory
This option allows the users to be created in either the business suite or the OID. Regardless where they are created they are provisioned either to the E-Business Suite or OID depending on the case.

DMZ environment and SSO.
Until recently multiple entry points in E-Business suite were not supported in a SSO configuration. That is if you have a OID in the intranet it would be able to authenticate your internal user but will not be able to do the same for the external  users. In such a case we had to either use two different OIDs, one for the intranet and one of the internet and the  synchronize the information between both the OIDs which was a big pain. The other ways was to allow the external/internal 
users to use the native authentication method via FND_USER and allow SSO only on the intranet.
But as of ATG Rollup 4 multiple E-Business entry points have now been supported, bringing the much need relief :)

Another new feature is that as of SSO build 4.0 its is now also possible to have a Secure Sockets Layer (SSL) configuration in your Single Sign On server.

November 03, 2006

Oracle Application Implementation Methodology

Oracle Application Implementation Methodology

To achieve a successful implementation of Oracle Applications a number of methodologies have been formulated. These are driven by industry case studies and past experiences. Many of them are based on the rich user experiences shared in various user groups and special interest groups. Among them Oracle's Application Implementation Methodology is one of most mature and 
proven one. Although AIM is not the only approach vouched by Oracle. It also has a Oracle Fast Forward approach which  focuses on rapid implementation of Oracle Applications. During one my recent projects i had a chance to work with the  Application Implementation Methodology approach, and i must say at the end of the day i was pleasantly surprised.

The Oracle Application Implementation Methodology (AIM) is a proven approach for implementation Oracle Applications across  business domains. This approach has been developed by oracle in constant collaboration within its partner network.

According to oracle "AIM provides the tools needed to effectively and efficiently plan, conduct, and control project steps to successfully implement new business systems."

The AIM is delivered in the form of a software bundle that packages the various document templates which have been identified as deliverables under the AIM approach. These are in the form of easily editable Microsoft documents like word, excel and mpp documents.

The Software is currently available only to Oracle Partners through the Oracle Partner Network (OPN).The software installation itself is quite simple and gets running within a few clicks.
The software presents a graphical user interface running within a web browser allowing you to browse though the various  deliverables.

Although most of the deliverables are focused on the functional domain areas. There also quite a few deliverables for  the Oracle Applications DBA /Technical Architect which have been identified in AIM.In my current post i will be focusing on these deliverables only.

The AIM approach has been divided in the various phases, which are

  • Definition
  • Operational Analysis
  • Solution Design
  • Build
  • Transition
  • Production

Below i will discuss the deliverables required under each of these phases from the Applications DBA/ TA .

Definition

The main deliverables that are defined under this stage are

TA.010 Define Architecture Requirements and Strategy
The focus of this document would be to provide the technical architecture and strategy that will be implemented to achieve a  successful implementation of the project.

TA.020 Identify Current Technical Architecture
The scope of this document included to understand and identify the existing application. interfaces networks and hardware  configurations.

TA.030 Develop Preliminary Conceptual Architecture
The objective of this task is to develop a conceptual architecture that will best fit the business objets taking into consideration the project constraints.

Operations Analysis
The main deliverables that are defined under this stage are

TA.050 Define System Availability Strategy
The focus of this document/task is to identify a system availability strategy for business. in case business require high  availability a strategy should be specified here to address it.

TA.070 Revise Conceptual Architecture
Under this task you revise the conceptual architecture you delivered as part of your TA. 30 to incorporate new requirements or findings.

Solution Design
The main deliverables that are defined under this stage are

TA.080 Define Application Security Architecture
The objective of this document is to incorporate application and database level security requirements in your architecture that have been identified by the business.

Build
The main deliverables that are defined under this stage are

TA.090 Define Application and Database Server Architecture
In task you design the new logical and physical architectures for the database tier and the application server tier, which has been conceptual so far.

TA.100 Define and Propose Architecture Subsystems
This document should focus on the requirements for additional components which may not have been a part of the initial plan.

TA.110 Define System Capacity Plan
Under this document you define the capacity plan for your system bearing in line with the business growth.

TA.120 Define Platform and Network Architecture
This document takes care of your Operating system and network architecture of your system.

TA.130 Define Application Deployment Plan
This document covers the deployment plan and installation of your application as according to the defined architecture.

TA.140 Assess Performance Risks
This document should cover the potential risk to your applications and ways to mitigate them.

TA.150 Define System Management Procedures
The scope of this document includes to cover the procedures maintenance of the application .

Transition
The transition phase does not have any deliverable particular to the DBA/TA.

Production
The main deliverables that are defined under this stage are

PM.140 Propose Future Technical Direction
The focus of this document is to identify innovations and software enhancements with respect to performance efficiency and functionality. Ideally the project manager and the DBA would work in collaboration to deliver this document.

While concluding the post i will like to reiterate that the scope of AIM approach is much more than what has been described in this post. The main aim has been to concentrating on the DBA/TA deliverables within AIM.