Sunday, December 20, 2009

EBS Install Guide - Part 3

By John Piwowar [ blog | twitter ]
This is the third post in my "Installing E-Business Suite" series. Now that your Vision installation is (hopefully) complete, it's time to start exploring the system a bit. Thanks again to Chet for the opportunity to share here, and for his patience as I took longer than was strictly necessary to finish this installment.

Part 1 --> Part 2 --> Part 3 --> Part 4

It's impossible to provide a comprehensive overview of the various command-line utilities used to manage the E-Business Suite in the space of one (or even a few blog posts, but in this post I'll show you how to start and stop the services, and point you to a few references where you can learn more, if you're into that sort of thing. I don't ever claim perfect memory, but you can probably assume that anything you later discover to be missing was omitted to save space, not because I forgot about it.

Stopping EBS services
It's a good idea to shut down the EBS database ASAP after installation to take a full backup. Before you can shut down the database, you need to shut down the applications tier, or your system will probably become cranky. The "shut down everything" script for the apps tier is called adstpall.sh, and it calls scripts to stop individual components and bring down the system in a (usually) graceful manner. Run adstpall.sh as the applvis user:

[applvis@londo ~]$ $ADMIN_SCRIPTS_HOME/adstpall.sh

You are running adstpall.sh version 120.10

Enter the APPS username: apps
Enter the APPS password:
The logfile for this session is located at
/u01/ebs/R12VIS/inst/apps/R12VIS_londo/logs/appl/admin/log/adstpall.log
Executing service control script:
/u01/ebs/R12VIS/inst/apps/R12VIS_londo/admin/scripts/jtffmctl.sh stop
script returned:
****************************************************
You are running jtffmctl.sh version 120.3
Shutting down Fulfillment Server for R12VIS on port 9355 ...
jtffmctl.sh: exiting with status 0

.end std out.
.end err out.
****************************************************

Executing service control script:
/u01/ebs/R12VIS/inst/apps/R12VIS_londo/admin/scripts/adcmctl.sh stop
script returned:
****************************************************
You are running adcmctl.sh version 120.17.12010000.3
Shutting down concurrent managers for R12VIS ...
ORACLE Password:
Submitted request 5798328 for CONCURRENT FND SHUTDOWN

adcmctl.sh: exiting with status 0

adcmctl.sh: check the logfile
/u01/ebs/R12VIS/inst/apps/R12VIS_londo/logs/appl/admin/log/adcmctl.txt
for more information ...

.end std out.
.end err out.
****************************************************

Executing service control script:
/u01/ebs/R12VIS/inst/apps/R12VIS_londo/admin/scripts/adoafmctl.sh stop
script returned:
****************************************************
ERROR : Timed out( 100000 ): Interrupted Exception
You are running adoafmctl.sh version 120.8
Stopping OPMN managed OAFM OC4J instance ...
****************************************************

Executing service control script:
/u01/ebs/R12VIS/inst/apps/R12VIS_londo/admin/scripts/adformsctl.sh stop
script returned:
****************************************************
ERROR : Timed out( 100000 ): Interrupted Exception
You are running adformsctl.sh version 120.16
Stopping OPMN managed FORMS OC4J instance ...
****************************************************

Executing service control script:
/u01/ebs/R12VIS/inst/apps/R12VIS_londo/admin/scripts/adoacorectl.sh stop
script returned:
****************************************************
ERROR : Timed out( 100000 ): Interrupted Exception
You are running adoacorectl.sh version 120.13
Stopping OPMN managed OACORE OC4J instance ...
****************************************************

Executing service control script:
/u01/ebs/R12VIS/inst/apps/R12VIS_londo/admin/scripts/adapcctl.sh stop
script returned:
****************************************************
You are running adapcctl.sh version 120.7.12010000.2
Stopping OPMN managed Oracle HTTP Server (OHS) instance ...
opmnctl: stopping opmn managed processes...
adapcctl.sh: exiting with status 0
adapcctl.sh: check the logfile
/u01/ebs/R12VIS/inst/apps/R12VIS_londo/logs/appl/admin/log/adapcctl.txt
for more information ...

.end std out.
.end err out.
****************************************************

Executing service control script:
/u01/ebs/R12VIS/inst/apps/R12VIS_londo/admin/scripts/adalnctl.sh stop
script returned:
****************************************************
adalnctl.sh version 120.3
Shutting down listener process APPS_R12VIS.
adalnctl.sh: exiting with status 0

adalnctl.sh: check the logfile
/u01/ebs/R12VIS/inst/apps/R12VIS_londo/logs/appl/admin/log/adalnctl.txt
for more information ...

.end std out.
.end err out.
****************************************************

Executing service control script:
/u01/ebs/R12VIS/inst/apps/R12VIS_londo/admin/scripts/adopmnctl.sh stop
script returned:
****************************************************
You are running adopmnctl.sh version 120.6
Stopping Oracle Process Manager (OPMN) and the managed processes ...
opmnctl: stopping opmn and all managed processes...
adopmnctl.sh: exiting with status 0
adopmnctl.sh: check the logfile
/u01/ebs/R12VIS/inst/apps/R12VIS_londo/logs/appl/admin/log/adopmnctl.txt
for more information ...

.end std out.
.end err out.****************************************************
adstpall.sh:Exiting with status 3
adstpall.sh: check the logfile
/u01/ebs/R12VIS/inst/apps/R12VIS_londo/logs/appl/admin/log/adstpall.log
for more information ...
You may not see the timeout errors listed above for the 10gAS components, but you might, if your server is slow or particularly busy when you're trying to shut down services. Shutting down the apps tier can take a while, particularly while waiting for the concurrent managers to exit. Eventually, though, there shouldn't be any apps-related processes left running:
[applvis@londo ~]$ ps -ef  | grep applvis
applvis 16667 16665 0 19:55 pts/2 00:00:00 -bash
applvis 18927 16667 0 20:34 pts/2 00:00:00 ps -ef
applvis 18928 16667 0 20:34 pts/2 00:00:00 grep applvis
Once the apps are down, switch over to the database software owner (oravis) and shut down the database services. It's possible to do this using the normal lsnrctl and sqlplus commands you already know, but for purposes of completeness (i.e. egregious pedantry), we'll use the EBS-supplied wrapper scripts. First, use addlnctl.sh to stop the listener:
[oravis@londo ~]$ $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME/addlnctl.sh stop R12VIS
You are running addlnctl.sh version 120.1.12010000.2
Logfile: /u01/ebs/R12VIS/db/tech_st/11.1.0/appsutil/log/R12VIS_londo/addlnctl.txt
Shutting down listener process R12VIS ...
addlnctl.sh: exiting with status 0
Finally, use addbctl.sh to shutdown the database:
[oravis@londo ~]$ $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME/addbctl.sh stop immediate
You are running addbctl.sh version 120.1

Shutting down database R12VIS ...

SQL*Plus: Release 11.1.0.7.0 - Production on Sat Dec 12 20:44:35 2009
Copyright (c) 1982, 2008, Oracle. All rights reserved.
Connected.
Database closed.
Database dismounted.
ORACLE instance shut down.
Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

addbctl.sh: exiting with status 0
Backing up the database is left as exercise for the reader, but I suggest using RMAN.

Starting EBS components
Okay, time to start everything back up, in reverse order of shutdown. First, the database listener:
[oravis@londo ~]$ export PATH=$PATH:$ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME
[oravis@londo ~]$ addlnctl.sh start R12VIS
You are running addlnctl.sh version 120.1.12010000.2
Logfile: /u01/ebs/R12VIS/db/tech_st/11.1.0/appsutil/log/R12VIS_londo/addlnctl.txt
Starting listener process R12VIS ...

addlnctl.sh: exiting with status 0
Then, the database...
[oravis@londo ~]$ addbctl.sh start
You are running addbctl.sh version 120.1

Starting the database R12VIS ...

SQL*Plus: Release 11.1.0.7.0 - Production on Sat Dec 12 22:29:22 2009
Copyright (c) 1982, 2008, Oracle. All rights reserved.
Connected to an idle instance.
ORACLE instance started.
Total System Global Area 521936896 bytes
Fixed Size 2161272 bytes
Variable Size 218105224 bytes
Database Buffers 289406976 bytes
Redo Buffers 12263424 bytes
Database mounted.
Database opened.
Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsaddbctl.sh: exiting with status 0
You'll note that I also used the database downtime to downsize the memory footprint of the database a bit. I'll confess that I didn't do any careful testig to arrive at these values; I just whacked a bunch of parameters by 50%. Your mileage may vary. :-)

Finally, back to the applvis user to start up the apps. I'll demonstrate an alternate means of running adstrtal.sh that doesn't involve prompting for a password. This is also a legitimate way to call adstpall.sh, but in both cases, be mindful that the password for the all-powerful APPS database user will be in your command history. Seems convenient on the surface, until you consider the security implications. Yes, it's just a test server, but safety begins in the sandbox. ;-)
[applvis@londo ~]$ adstrtal.sh apps/apps
You are running adstrtal.sh version 120.15
The logfile for this session is located at
/u01/ebs/R12VIS/inst/apps/R12VIS_londo/logs/appl/admin/log/adstrtal.log
Executing service control script:
/u01/ebs/R12VIS/inst/apps/R12VIS_londo/admin/scripts/adopmnctl.sh start
[[I'll spare your eyeballs the full, verbose startup of all the components. It's unsurprisingly similar to the output from running adstpall.sh, and admit it, you didn't really read through that output in great detail either, did you? ]]
adstrtal.sh: check the logfile 
/u01/ebs/R12VIS/inst/apps/R12VIS_londo/logs/appl/admin/log/adstrtal.log for more information ...
Again, on a slower system you may get some timeout errors from the 10gAS components. For your peace of mind, you can check the status of those components with adopmnctl.sh until the status of all the components reads, "Alive."

[applvis@londo ~]$ adopmnctl.sh status
You are running adopmnctl.sh version 120.6
Checking status of OPMN managed processes...
Processes in Instance: R12VIS_londo.londo.local
---------------------------------+--------------------+---------+---------
ias-component | process-type | pid | status
---------------------------------+--------------------+---------+---------
OC4JGroup:default_group | OC4J:oafm | 22974 | Alive
OC4JGroup:default_group | OC4J:forms | 22836 | Alive
OC4JGroup:default_group | OC4J:oacore | 22678 | Alive
HTTP_Server | HTTP_Server | 22619 | Alive
adopmnctl.sh: exiting with status 0
Yay. Carry on, then.

Other important stuff
Now you know how to stop and start Oracle Applications. If you're just going to be exploring the apps as a hobbyist, that should be enough to get you going. There's a lot more to learn, however, if you're interested in understanding common EBS maintenance tasks, including:
  • adadmin: This utility is used to maintain objects in the Apps database and applications tier filesystem. Common tasks include recompiling invalid database objects, regenerating forms and reports files, and enabling and disabling maintenance mode (a required task during patching). adadmin is invoked by the applications owner (applvis in our case). To get an better idea of what adadmin does, type adadmin help=y from the command line, or just type adadmin to invoke its text-based menu system and explore from there.
  • Autoconfig: In the Dark Ages of Oracle Applications, making configuration changes in EBS was fraught with peril. Changing the value of a directory or port for an application server component could involve touching multiple config files, and missing one file could lead to confusing (at best) or disastrous (what's worse than disastrous?) results. Nowadays, Autoconfig takes care of configuration file management for you. The trade-off is that any manual changes made to Autoconfig-managed configuration files will be overwritten when Autoconfig is run. There are two versions of Autoconfig: one for the applications tier ($ADMIN_SCRIPTS_HOME/adautocfg.sh), and one for the database tier ($ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME/adautocfg.sh). In general, you'll be using the apps tier version of Autoconfig much more frequently. It's worth noting that Autoconfig does not manage the database pfile or spfile; changes to database initialization parameters can be made without concerns about Autoconfig clobbering them.
  • adpatch: This may not be relevant to your current sandbox, but in the real world you are unlikely to run an unpatched EBS system. adpatch is the utility that drives the patching process for the applications tier file system and Apps database objects. It does not handle patching the database and application server ORACLE_HOMEs, however, you still get to use the trusty Opatch utility for that.
Almost done!
The 4th and final part of this little "scratching the surface of E-Business Suite" adventure will take a look at a few parts of the UI. You know what that means, right? Yup, more screenshots! I bet you can't wait!

References:
  • Michael Taylor (mdtaylor), Oracle Ace and "installing EBS on unsupported versions of SUSE" guru (among other things), posted some recommendations on OTN for extreme downsizing of the memory consumed by the EBS database and concurrent managers.
  • My Oracle Support Doc 396009.1 breaks down the database initialization parameters for R12. Configure for the low end, unless you're really building out a Vision instance for use by lots of people, in which case you need to stop reading this guide before you get yourself into trouble. ;-)
  • If you're interested in setting up your applvis OS user's environment so that the Apps environment is sourced automatically and the various Apps administration utilities are added to your path at login, I know a guy who wrote not one, but two blog posts about that.
  • Chapter 4 of the Oracle Applications Maintenance Utilities guide covers the adadmin utility
  • The Oracle Applications Patching Procedures guide covers the use of adpatch, and the patching process in general
  • And, finally, Chapter 5 of the Oracle Applications Concepts guide discusses Autoconfig, and provides a context for use of the tool (that's a pretty bad pun, but only if you've read the guide).

1 comment:

The Cable Guy said...

After a reboot when I login as oravis to start the listener and db srvices the ORACLE_HOME and other valriables are not set. It seems a minor step is missing from the instructions. Please advise.

PS. I am not a dba