Thursday, December 11, 2008

How to enable root login from putty

Though enabling root login from putty to sun servers is a security concern, but many times we have to do it. We have to edit a file->
"/etc/ssh/sshd_config" and change "Permitrootlogin"---from "No" to "yes". After this we need to restart ssh by ->
svcadm restart ssh
and we are done!

How to enable rsh on solaris

We need to enter the hostname in the following files->
/.rhosts--This file resides on the server on which rsh is to be enabled and should have hostname and name of user which is allowed to rsh on the server.
/etc/hosts--to resolve the ip and hostname
/etc/hosts.allow
Also, one needs to comment the CONSOLE entry in the "/etc/default/login" file on the server on which rsh is to be enabled.
Also, we need to execute some commands and make changes in some files.
svcadm enable svc:/network/inetd:default
svcadm enable svc:/network/login:rlogin
svcadm enable svc:/network/shell:default
svcadm enable svc:/network/login:rlogin
svcadm refresh inetd

Wednesday, December 10, 2008

Create a user and group in solaris

Command line is still the best option for doing many stuff in Solaris. It gives so much flexibility!

For adding a group "dba" with groupid "100", the command is->

groupadd –g 100 dba

For adding a user "applmgr" with userid "101" in group "dba" with shell "/bin/sh" and default home directory "/export/home/applmgr", use the following command->

useradd -u 101 -g dba -s /bin/sh -c "applmgr user" -d /export/home/applmgr -m applmgr

The -m option creates the directory if it does not exists.

Saturday, November 15, 2008

How to restore files interactively using ufsrestore in Solaris

First bring the tape to the beginning ->

mt rew

Now move the tape to proper position if required. The following command will move the tape 10 files forward.

mt fsf 10

set the tape in interactive,verbose mode using->

ufsrestore ivf prddb:/dev/rmt/0n

Now we can use "ls" and "cd" command to view what files and directories are there on the tape.
we can now use the add command to add the files for extraction.
add <directory/filename>
finally we give extract command to extract the files.
extract
Now it prompts to "Specify next volume #"
Here we can type the volume number and press Return. If you have only one volume, type 1 and press Return.

Thursday, November 6, 2008

How to delete old files in solaris

Many times we have a requirement where we want to delete old files. We rather want to delete files based on their creation date-say "n" days old.

For this we have very simple command in solaris->

find /directoryname -mtime +n -exec rm {} \;

example->

find /u9/prddb/9.2.0/admin/PRD_prddb/bdump -mtime +7 -exec rm {} \;

The above command will delete the files which are 7 days old in bdump directory.

Technorati Tags: ,,

Friday, October 17, 2008

Change Server Authentication

APP-FND-01542 when logging directly into forms via the f60cgi in 11.5.10
Note:293609.1
Enabling f60cgi direct login
------------------------------
It is possible to login however this method should only be used when
debugging problems.
1. Backup and open $APPL_TOP/admin/<SID>_<hostname>.xml context file
2. Update the context variable:
s_appserverid_authentication
By default in 11.5.10, this is set to SECURE.
In previous 11i versions, this was set to OFF.
For debug purposes, you can use ON or OFF.
Modes:
- ON : Partial
- SECURE : activates full server security (SECURE mode)
- OFF : deactivates server security
3. Run Autoconfig to instantiate the change.
You should now be able to access forms directly again using the f60cgi call.
4. After you have finished your Forms debugging, please reset
s_appserverid_authentication to SECURE and re-run Autoconfig.
Alternative option
---------------------
Running Autoconfig is the preferred method of updating
s_appserverid_authentication.
If you are unable to run Autoconfig during troubleshooting, you can run the
the following commands instead from $FND_TOP/secure directory:
Disable:
java oracle.apps.fnd.security.AdminAppServer apps/apps \
AUTHENTICATION OFF DBC=host_visdemo1.dbc
Enable:
To activate basic server security, from the command line, enter:
jre oracle.apps.fnd.security.AdminAppServer apps/apps \
AUTHENTICATION ON DBC=<dbc file path>
To activate full server security (SECURE mode), from the command
line, enter:
jre oracle.apps.fnd.security.AdminAppServer apps/apps \
AUTHENTICATION SECURE DBC=<dbc file path>
Check the status:
java oracle.apps.fnd.security.AdminAppServer apps/apps \
STATUS DBC=host_visdemo1.dbc

 

The following are the different error messages when you are running OAF pages from Jdev with Authentication as "Secure". Resolution is "change it to OFF"

oracle.apps.fnd.framework.OAException: Application: FND, Message Name: SECURITY_APPL_SERVER_ID. (Could not lookup message because there is no database connection)

oracle.apps.fnd.framework.OAException: Application: FND, Message Name: FNDSECURITY_APPL_SERVER_ID. (Could not lookup message because there is no database connection)

oracle.apps.fnd.framework.OAException: Application: FND, Message Name: SECURITY_INVALID_DBC_PARAMETER. Tokens: ROUTINE = AppsConnectionManager.makeGuestConnection; FILE = E:\jdev\jdevhome\jdev\dbc_files\secure\FATST.DBC; PARAMETER = GUEST_USER_PWD; (Could not lookup message because there is no database connection)

oracle.apps.fnd.framework.OAException: Application: FND, Message Name: AOLJ_JAVA_EXCEPTION. Tokens: MESSAGE = Not able to create new database connection: FNDSECURITY_APPL_SERVER_ID; (Could not lookup message because there is no database connection)

 

## Detail 0 ##
oracle.apps.fnd.framework.OAException: Application: FND, Message Name: FND_GENERIC_MESSAGE. Tokens: MESSAGE = oracle.apps.fnd.common.PoolException: Not able to create new database connection: FNDSECURITY_APPL_SERVER_ID; (Could not lookup message because there is no database connection)

Tuesday, October 14, 2008

Patch driver files

Patch basically has a driver file for installation. Now a days patch comes with a unified(U) driver which is applied on all nodes in a multi-node set up and auto-patch(adpatch) automatically determines what action to take for the node.

Basically there are 3 drivers->

C--copy driver--to copy and update files, libraries, and/or Java--applied on all application tiers

D--database driver--commands to change database objects such as PL/SQL and table definitions, or to update or migrate data---applied on only the application tiers node  which had Admin server

G--generate driver--to generate forms, reports, messages, and/or graphics files---applied on all application tiers unless appl_top implements only the Admin server

Technorati Tags: ,,

Monday, October 13, 2008

How to change all Applications user passwords

In apps, there are times when we want to force all the application users to change their passwords. In apps 11i, we have a concurrent request under System Administrator->

CP SQL*Plus Expire FND_USER Passwords

This concurrent request basically sets the fnd_user.password_date to null for all apps users. The users are thus prompted to change their passwords on next login.

Wednesday, September 17, 2008

How to stop concurrent requests

How to Terminate running Concurrent Requests- in Oracle Apps>

Set Terminating or Running to phase_code- Completed and status_code-Terminated 

Many times, we get request from development team, that a request is running from long time and doing nothing or to terminate request from back end. In this case, we can use below sql query to update the request to Terminated.

 
UPDATE fnd_concurrent_requests
SET phase_code = 'C', status_code = 'X'
WHERE status_code ='T'
OR phase_code = 'R';

Remember to commit it.

commit;

How to set pending jobs on Hold->

Manytimes, during ERP downtime- like patching etc, we want to place the pending concurrent requests on hold. We can use the below sql query for accomplishing the same.

Place Pending/(Normal/Standby) to On Hold
UPDATE fnd_concurrent_requests
SET hold_flag = 'Y'
WHERE phase_code = 'P'
AND status_code in ('Q','I');

commit;

The above two queries can also be used if you don't want to run the requests which are copied from source system to target system during cloning. The above can be executed before making the CM up.

Also, to remove the hold from concurrent request after the downtime, we can use following query-

UPDATE fnd_concurrent_requests 
SET hold_flag = 'N' 
WHERE phase_code = 'P' 
AND status_code in ('Q','I');

commit;

How to find os process id,sid of a concurrent request

select sid,serial#,process,module,action from v$session where process=(SELECT p.os_process_id FROM FND_CONCURRENT_REQUESTS r, FND_CONCURRENT_PROCESSES p where r.controlling_manager = p.concurrent_process_id and request_id=2759835)

Here process is the os process id for the concurrent request.

Status code and Phase code for Concurrent requests

Here is what the abbreviation for status code and phase code means for Concurrent Requests in Oracle Apps

STATUS_CODE Column:

A Waiting
B Resuming
C Normal
D Cancelled
E Error
F Scheduled
G Warning
H On Hold
I Normal
M No Manager
Q Standby
R Normal
S Suspended
T Terminating
U Disabled
W Paused
X Terminated
Z Waiting


PHASE_CODE column

C Completed
I Inactive
P Pending
R Running

 

Thus a request in "Running" "Normal" state will have phase_code "R" and status_code"R"

Saturday, September 13, 2008

What is Autoconfig

AutoConfig is a tool that automates the configuration of an Oracle Applications system. In Oracle Apps 11i,the whole of system information is stored in 2 repository-one database context file located at $ORACLE_HOME/appsutil/<context_name>.xml  and other applications context file located at APPL_TOP/admin/context_name>.xml. When we run autoconfig, the information in context files is used to instantiate the template files and create the configuration files and set the profile options.

How do i run Autoconfig?

The database services should be up but the application services should be down while running autoconfig.

On the Dbtier->login as owner of db-oracle user

cd $ORACLE_HOME/appsutil/scripts/<context_name>

./adautocfg.sh

On the Apps Tier->login as owner of applications-applmgr user

cd $COMMON_TOP/admin/scripts/<CONTEXT_NAME>

./adautocfg.sh

The log files created by AutoConfig is located at:

On the application tier:
<APPL_TOP>/admin/<Context_name>/log/<MMDDhhmm>/adconfig.log

On the database tier:
<RDBMS_ORACLE_HOME>/appsutil/log/<Context_name>/<MMDDhhmm>/adconfig.log

where: <MMDDhhmm> = (month, day, hour, and minute of the AutoConfig run)

<context_name>=<SID>_<Hostname>

Technorati Tags: ,

Matalink Note:218089.1 "Frequently Asked Questions About Using AutoConfig With Oracle Applications" is a good note regarding Autonfig

Friday, September 12, 2008

CM not starting after Cloning

Once after doing Rapid cloning some of concurrent managers were not starting. The issue was that the node was wrongly defined as source node in Administer Manager screen. I then checked the FND_NODES table which wrongly had the source nodes as well apart from the target nodes.

I performed the following action plan which resolved the issue->

  • Shutdown the apps services
  • EXEC FND_CONC_CLONE.SETUP_CLEAN;
    COMMIT;
    EXIT;
  • Ran AutoConfig on all tiers, firstly on the DB tier and then the APPS tiers.
  • Start the apps services

Actually FND_CONC_CLONE.SETUP_CLEAN clears up the tables with nodes information and when we run autoconfig, it repopulates these tables with correct node information.

The metalink note-Note:732709.1 describes this issue.

Wednesday, September 10, 2008

Oracle Apps Architecture

Oracle Apps has a 3 tier architecture.

First tier is that database server which stores whole of data.

Second tier is the application tier-also called Middle tier where forms server, web server, reports server, concurrent processing server, admin server, discoverer server resides.

Third tier is the client desktop which should be java enabled.

Now we can have a single node configuration or multi-node configuration. In single node we have the database and all middle tier components on a single node(i.e single physical server).

However in multi-node we can distribute the middle tier components, in the way we like. Typically, we can have database, admin server, reports server,concurrent managers on 1st node and forms & web server on 2nd node. Another possible configuration is having database on first node, Admin server, reports server, concurrent managers on second node and forms and web server on 3rd node. So this is a 3 node configuration.

Tuesday, September 9, 2008

How to determine if database is using spfile

If we want to determine whether by database is using an spfile or pfile then we can use the following to determine it->

show parameter spfile;

or

select value from v$parameter where name='spfile';

NAME              TYPE        VALUE
------------------------------------ ----------- ---------------
spfile              string      ?/dbs/spfile@.ora

The above shows that it is using spfile.

If value returned is null then system is using init.ora file otherwise the mentioned spile is being used.

select isspecified, count(*) from v$spparameter group by isspecified;



ISSPEC   COUNT(*)

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


FALSE         214


TRUE           61



If you get isspecified is 'TRUE' for some parameters, it means it is using spfile. However if you get only 'FALSE' without any 'TRUE' then it uses init.ora file. The above shows that it is using spfile.



To get more information about pfile and spfile, please follow my earlier post->



http://oracleappsdba1.blogspot.com/2008/09/how-to-use-spfile-for-database-startup.html



Technorati Tags: ,,

How to use spfile for database startup

First of all, I would clarify what is the difference between pfile and spfile. Pfile is the text file -database initialization parameter file which is read at the time of database startup. The dynamic parameters can be changed using alter system command but they are not persistent and to make them permanent we have to make changes in init.ora file and then we  need to bounce the database for the effect to take place.

However spfile is the server parameter file which is a binary file, resides on the server and whatever changes we do using 'alter system' are persistent (depending on scope we define) and hence we don't have to manually edit the file and no need to bounce the db. Please note that it is a binary file and we can't edit it manually.

When the database is started it will read the initialization parameter file in the following order from $ORACLE_HOME/dbs -unix or $ORACLE_HOME/database-windows

1 spfile<SID>.ora

2 spfile.ora

3 init<SID>.ora

How to create spfile->

connect as sysdba

create spfile from pfile;

how to create pfile from spfile->

alter database create pfile from spfile.

Please not that you have correct permissions of this file in unix or else database wont start using spfile and it will five the following error, if pfile is not there->

LRM-00109: could not open parameter file '/u01/oradb/9.2.0/dbs/initSID.ora'
ORA-01078: failure in processing system parameters

Thursday, September 4, 2008

Query to find what all users have a particular responsibility

In Oracle Apps 11i, if we want to find which all users have a particular responsibility or which all responsibility does a user have,responsibility is end dated for the user or not,user is end dates or not then we can use the following query->

select fu.user_name,fu.description,fu.user_id,frtl.responsibility_name,furgd.start_date user_resp_start_date,furgd.end_date user_resp_end_date,fu.start_date USER_start_date,fu.end_date USER_end_date
from
fnd_user fu,
fnd_responsibility_tl frtl,
fnd_user_resp_groups_direct furgd
where
fu.user_id=furgd.user_id and
frtl.responsibility_id=furgd.responsibility_id and
(fu.user_name=:user_name or frtl.responsibility_name=:responsibility_name)

Wednesday, September 3, 2008

Query to find responsibility for a concurrent request

In oracle apps it often happens that we want to run a concurrent request but we don't know that from which responsibility we have to run it. The following query takes the concurrent program name as input and gives the responsibility name from which it can be run->

SELECT
C.CONCURRENT_PROGRAM_NAME,USER_CONCURRENT_PROGRAM_NAME,REQUEST_GROUP_NAME,fr.responsibility_name
FROM
FND_REQUEST_GROUPS A,
FND_REQUEST_GROUP_UNITS B,
FND_CONCURRENT_PROGRAMS_VL C,
fnd_responsibility_vl fr
WHERE
A.REQUEST_GROUP_ID = B.REQUEST_GROUP_ID
AND A.APPLICATION_ID = B.APPLICATION_ID
AND C.CONCURRENT_PROGRAM_ID = b.REQUEST_UNIT_ID
and a.request_group_id=fr.request_group_id
AND USER_CONCURRENT_PROGRAM_NAME like  :a

Oracle Application Server Release Version

The following information will help you identify the version of Application server:

->

Oracle9i Application Server Release 1 Version 1.0.2.2.2
Oracle9i Application Server Release 2 Version 9.0.2
Oracle9i Application Server Release 2 Version 9.0.3


Oracle Application Server 10g refers to all subsequent application server (middle-tier) releases, including:->

Oracle Application Server 10g Release 1 Version 9.0.4
Oracle Application Server 10g Release 1 Version 9.0.4.1
Oracle Application Server 10g Release 2 Version 10.1.2.0.0
Oracle Application Server 10g Release 2 Version 10.1.2.0.1
Oracle Application Server 10g Release 2 Version 10.1.2.0.2
Oracle Application Server 10g Release 3 Version 10.1.3

Saturday, August 23, 2008

Maintenance mode in Apps

When we want to apply a patch in 11i, we first need to put the system in maintenance mode or else the patch will fail and error out. Enabling the maintenance mode feature shuts down the Workflow Business Events System and sets up function security so that no Oracle Applications functions are available to users. Also it ensures optimal performance and reduces downtime when applying a patch.

Here is how we do it->

Run adadmin>Change Maintenance mode>Enable Maintenance mode

And after applying the patch disable it.

Run adadmin>Change Maintenance mode>Disable Maintenance mode

Update Snasphot in apps

Snapshot is a view of the system at specific time. In apps, Patch Wizard uses Global snapshot to determine which patches have been applied to the system and Autopatch uses APPL_TOP snapshot to determine what patches have been applied to that APPL_TOP. Snapshot actually records the list of files,file versions and bug fixes. Both snapshot are views, they are created once during installation and then updated during patching. APPL_TOP snapshot information is stored in the AD_SNAPSHOTS, AD_SNAPSHOT_FILES, and AD_SNAPSHOT_BUGFIXES tables

How to update snapshot?(like after upgrade)

Run adadmin>select Maintain Application files>Maintain Snaphot information>Update current snapshot.

Note that when we update the APPL_TOP snapshot, the Global snapshot is updated at the same time.Also from AD.I the default functionality of checking for prereq patches has been disabled. You can turn on prereq checking by adding options=prereq to the AutoPatch start command.

 

Friday, August 22, 2008

Adsplice in Oracle Apps 11i

In oracle apps, Adsplice is an ad utility which is used to add off-cycle products to oracle apps i.e. products released between maintenance packs.
IDownload the product patch which contains information about the new product,adplice control file and other associated files. Go through the readme and apply pre-reqs if any. Now for using adsplice there is a control file newprods.txt. A typical newprods.txt  looks like->
product=zsa
base_product_top=*APPL_TOP*
oracle_schema=zsa
sizing_factor=100
main_tspace=ZSAD
index_tspace=ZSAX
temp_tspace=TEMP
default_tspace=ZSAD
If we are using OFA tablespace model then we need to change the last 4 parameters else for OATM it is optional.
One can then copy it in $APPL_TOP/admin and run adsplice from applmgr user and follow the prompts.Then we can verify that product is correctly spliced or not using adutconf.sql (AD Configuration report). We need to logout and login again so that the new environment is set.We can then verify that new <PROD>_TOP environment variable is set and  need to apply the patches for newly added product

Wednesday, August 20, 2008

How to find version in Oracle Apps 11i

-->To find apps version

select release_name from apps.fnd_product_groups;

If your are on11i then output will be like 11.5.10 or 11.5.10.2

-->To find Apache/Webserver version

login to web tier as owner of application(applmgr)

$IAS_ORACLE_HOME/Apache/Apache/bin/httpd -version

-->To find a file version

adident Header <filename>

-->to find database version

sqlplus

connect / as sysdba

The top most line shows the oracle database version

-->to find forms version

f60gen

-->to find reports version

r60gen

-->to find workflow version

select text from WF_RESOURCES where name= ‘WF_VERSION’;

--To find OA Framework version

http://hostname:port/OA_HTML/OAInfo.jsp

or

adident Header $OA_HTML/OA.jsp

adident Header $FND_TOP/html/OA.jsp

Note:both versions from above command should be same

The following conversion chart can be used to identify the version

OA.jsp Version OA Framework Version

115.61 11.5.10.5RUP 5473858
115.60 11.5.10.4RUP 4676589
115.58 11.5.10.3RUP 4334965 / 5125546
115.56 5.10
115.36 5.7
115.27 5.6

--To find Jinitior version
$OA_HTML/bin/appsweb.cfg
locate the following line
jinit_ver_name=Version=1,3,1,18

--To find if the system is multi-org enabled

select multi_org_flag from fnd_product_groups

--To find if system is multilingual

select multi_lingual_flag from fnd_product_groups

--To find MRC is implemented or not

select multi_currency_flag from fnd_product_groups


Friday, August 15, 2008

How to Compile Apps Schema

This option is used to compile invalid objects in the apps schema(s). Invalid objects are those who have missing definition in the database or can be caused by applying a patch.

To get a listing of invalid objects->

select count(*) from dba_objects where status='INVALID';

To Compile invalid objects->Run adadmin>Goto Compile/Reload Applications Database Entities>compile apps schema

It actually calls adcompsc.pls

To compile the invalid objects in database without using adadmin-run either of these >@$ORACLE_HOME/rdbms/admin/utlrp.sql as sysdba OR

$ORACLE_HOME/rdbms/admin/utlrcmp.sql as sysdba

Also you can compile the objects manually->

alter view <name> compile; (compile view)

alter package<name> compile; (package specification)

alter package<name> compile body; (package body)

Thursday, August 14, 2008

Log file location in Apps

Apps Patch log files(patch log,worker logs,.lgi files) location

$APPL_TOP/admin/<sid>/log

Autoconfig log file location->

$APPL_TOP/admin/<context_name>/log

Database alert log location->

$ORACLE_HOME/admin/<CONTEXT_NAME>/log/bdump/alert<SID>.log

Database trace file location->

$ORACLE_HOME/admin/<CONTEXT_NAME>/log/udump

Concurrent request log file location->

$APPLCSF/$APPLLOG/l<requestid>.log

Concurrent request output file location->

$APPLCSF/$APPLOUT/o<requestid>.out

Concurrent Manager log file location->

$APPLCSF/$APPLLOG/*.mgr

Apache log file location (error.log and access.log)->

$IAS_ORACLE_HOME/Apache/Apache/logs

Sunday, August 3, 2008

How to Change Apps password in oracle apps

Oracle provides a utility called FNDCPASS to change apps password,schema passwords,user passwords in Oracle Apps. There are a few points to remember->APPS and APPLSYS passwords are always same.Changing applsys password will automatically change the apps password. 

How to change apps password->

  • Stop Application Services
  • FNDCPASS apps/<apsppassword> 0 Y system/<systempassword> SYSTEM APPLSYS <newappspassword>
  • eg->FNDCPASS apps/apps123 0 Y system/manager123 SYSTEM APPLSYS APPS321
  • Start Application Services
Please note that in oracle Apps 11i, when changing apps password it is important to run autoconfig to propagate the change across the application or you will need change the apps password in following files manually if it exists.
1. $IAS_ORACLE_HOME\Apache\modplsql\cfg\wdbsvr.app file
2. $ORACLE_HOME/reports60/server/CGIcmd.dat

However, in oracle Apps R12.1, we do NOT need to run autoconfig after  changing apps password. Also, plz note in R12.1, apps password is NOT saved in any files on file system.


How to change an application schema password->
FNDCPASS apps/<appspassword> 0 Y system/<systempassword> ORACLE <SCHEMANAME> <newschamepassword>
eg->FNDCPASS apps/apps123 0 Y system/manager123 ORACLE GL GL123

How to change all application schema passwords at once. This feature is available from 11i.ATG_PF.H Rollup 3. Also there is a one off patch-4745998 for this feature->
FNDCPASS apps/<appspassword> 0 Y system/<systempassword> ALLORACLE <newschamepassword>
eg->FNDCPASS apps/apps123 0 Y system/manager123 ALLORACLE schemapass123

How to change an application user(front-end) password->
FNDCPASS apps/<appspassword> 0 Y system/<systempassword> USER <username> <newuserpassword>
eg->FNDCPASS apps/apps123 0 Y system/manager123 USER ANMGUPTA ANMGUPTA123.

Friday, May 9, 2008

How to apply a Patch in Apps

Patching is the most basic thing that an Oracle Apps Dba is expected to know.A patch is applied either to fix a bug or to add some new functionality.
Here are the steps for patching in Apps 11i
1 First check that the patch is already not applied.
select * from ad_bugs where bug_number='patchnumber';
Now if the patch is not applied then go through the read me of the patch on Metalink. Check for pre-reqs and download the patch.
1 Stop the apps services
./adstpall.sh apps/password
2 Bounce the database(This is not mandatory but it kills any hanging process)
./addbctl.sh stop immediate
./addlnctl.sh stop listnername
./addlnctl.sh start listnername
./addbctl.sh start
3 Put the system in Maintenance mode
Run adadmin--Goto step 5-Change Maintenance mode-step 1 Enable Maintenance mode
4 Goto the patch directory where you downloaded the patch.Unzip the patch as applmgr user(application owner).It will create a directory with the patch number.
5 Goto the directory with the patch number and run
adpatch
It will ask for patch log file,apps,system password,driver name(c,d,g,u),number of workers.
6 go through the patch log file and check that there is no error
7 Disable maintenance mode
Run adadmin--Goto step 5-Change Maintenance mode-step 2 Dis-able Maintenance mode
8 Bounce the database again
9 Start the apps services
./adstartal.sh apps/password

Tuesday, May 6, 2008

Custom objects in Apps

Creating custom object causes major confusion as we need to know whether the object should be create in custom schema or apps schema. The following needs to be followed for this->
All the custom table, index and sequence should be created in custom schema.
grants should be given on that object from custom schema to apps schema
synonym should be created for those object in apps schema
All the other database objects->views,packages,etc should be created in apps schema.

Bouncing the Apps & Db services

Stop the services
If you have implemented SSL then Stop Apache from "root" otherwise skip this step->
./adapcctl.sh stop

then after waiting for a minute stop all the services with "applmgr" user
./adstpall.sh apps/password


then stop the database with "oracle" user
./addbctl.sh stop immediate

and finally stop the db listener with "oracle" user
./addlnctl.sh stop listenername


Start the services
First start the db listener with "oracle" user
./addlnctl.sh start listenername


then start the database
./addbctl.sh start

Next start the application services
Start Apache from "root" is you have implemented SSL otherwise skip this step
./adapcctl.sh start

Next start the remaining application services after waiting for about a minute
./adstrtal.sh apps/password

Friday, May 2, 2008

Purging in Oracle Apps

Purging is very important activity in Oracle Apps. As a dba one needs to purge the obsolete data so that only usable data is there in system,backups and restore are faster,space is recovered and finally it makes the system faster as well. Following are some of the concurrent requests which should be scheduled for purging-
Purge Concurrent request and/or manager data--Here we specify mode=x so that it purges all the concurrent request log files,concurrent request output files and manager data which are more than 'x' days old i.e. we just keep 'x' days data.

Purge Obsolete Workflow Runtime data-Here we specify type of workflow -'Temperorary/Permanent, "Age"-which determines how old notification one wants to keep. We can also specify the 'Item Type' and 'Item key' to restrict it to purge just a particular type of workflow notifications.Note that only the closed notifications are purged.

Purge Signon Audit Data-Here we need to specify the timestamp before which the Audit data will be deleted
These are just some of the requests.There are many more!

Thursday, May 1, 2008

Delete Apache log files

Stop the Apache.
delete all the log files from
$IAS_ORACLE_HOME/Apache/Apache/logs
$IAS_ORACLE_HOME/Apache/Jserv/logs/jvm
$IAS_ORACLE_HOME/Apache/Jserv/logs
Start the Apache

Concurrent Request for tablespace issue

This summary is not available. Please click here to view the post.

Thursday, April 24, 2008

Solaris reboot problem

Added a new slice in solaris, edited the vfstab file to make it permanent.Finally gave "reboot" command to check if everything is fine.
And now the worst happened..the server shutdown but it is not coming up!!On deeper analysis found that there was a typo in vfstab file.Now the problem is how to fix the vfstab file since server is down...
Here is the solution...
-The reboot command automatically starts the server in single user mode(i.e only at console)
specify the root password there for system administration.(do not press ctrl D for normal operations)
-go to /etc/vfstab file.Just keep its backup once again.
-edit the vfstab file and give a reboot command
Everything works fine now.Cheers!

Expense Report shows same expense allocation on all expense reports

I was searching for expense reports for a person. It showed certain expense allocation under "Verify Expenses".After that i used "back" button and clicked on another expense report number to view another expense report.However the strange thing that happened was it was showing same expense allocation even for this expense report....This thing basically happened for all expense reports.............
Finally after hours of efforts, i found that it because of using browser "back" button.If one uses the "Return" and "Next" Button then it gives the correct expense allocation.
I went ahead and checked the logic of "Return/Next" button and found that it was "clearing the cache" before fetching the value and that it why one needs to use those buttons instead of "browser back" button.
So the bottom line is "do not use browser back button"