Monday 30 March 2015

adrelink



To relink AD Utilities, use adrelink.sh.
To relink non-AD products, use adadmin. 

Relink is recommended after cloning, upgrades and patching. Or when an AD executable got corrupt or lost.

Script Location: $AD_TOP/bin
Syntax:
To relink adpatch, adsplice and adadmin:
adrelink.sh force=y "ad adpatch" "ad adsplice"  "ad adadmin"







To relink all AD executables:
adrelink.sh force=y “ad all”



Note : 
If you are relinking files on the Concurrent Manager node, then shutdown the Concurrent Managers before relink operation.

If you are relinking files on Forms Server, then all Oracle application users must be logged off before relink operation.

Concurrent Managers are not running properly – Basic Workaround

1. Stop all middle tier services including the concurrent managers.
Please make sure that no FNDLIBR, FNDSM, or any dead process is
running.

2. Go to cd $FND_TOP/bin
$ adrelink.sh force=y “fnd FNDLIBR”
$ adrelink.sh force=y “fnd FNDFS”
$ adrelink.sh force=y “fnd FNDCRM”
$ adrelink.sh force=y “fnd FNDSM”
3. Run the CMCLEAN.SQL
Check output for your apps nodes.
select CONCURRENT_QUEUE_NAME from FND_CONCURRENT_QUEUES where
CONCURRENT_QUEUE_NAME like 'FNDSM%';
4. Start all middle tier services including the concurrent managers.

Saturday 28 March 2015

What happens internally , when you backup database using rman ..

if you give ' Backup database ' from RMAN, it will first get all the datafiles information from the controlfile.

 Then it will divide all the datafiles among the allocated channels. (Roughly equal size of work as per the datafile size)  .Then it takes the backup in 2 steps

Step1:
The channel will read all the Blocks of the entire datafile to find out all the formatted blocks to backup

Note:
  RMAN do not take backup of the unformatted blocks

Step2:
  In the second step it takes back up of the formatted blocks

Example:
  • This is the best advantage of using RMAN as it only takes back up of the required blocks 
  •   Lets say in a datafile of 100 MB size, there may be only 10 MB of use full data and rest 90 MB is free then RMAN will only take backup of those 10 MB

Friday 27 March 2015

SSO: java.io.IOException: Connection reset by peer



Metalink id
------------
Errors in application.log with SSO: java.io.IOException: Connection reset by peer (Doc ID 750780.1)



Symptoms

When attempting to login to EBS using SSO,
the following error is reported in the application.log although login is successful:
08/08/14 10:11:35.348 html: Servlet error
java.io.IOException: Connection reset by peer
at sun.nio.ch.FileDispatcher.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:29)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:104)
at sun.nio.ch.IOUtil.write(IOUtil.java:75)
 
 

Cause

These messages are generated because of the interaction between mod_osso and the Single Signon server.

Solution

This error has no functional implications and can be ignored.
 

Error "html: Servlet error - java.io.IOException: Broken pipe"



Metalink id
-----------



Below errors are recording in application.log
---------------------------

15/03/27 09:24:52.838 html: Servlet error
java.io.IOException: Connection reset by peer
        at sun.nio.ch.FileDispatcher.write0(Native Method)
        at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:29)
        at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:69)
        at sun.nio.ch.IOUtil.write(IOUtil.java:40)
        at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:336)
        at java.nio.channels.Channels.writeFullyImpl(Channels.java:59)
        at java.nio.channels.Channels.writeFully(Channels.java:81)
        at java.nio.channels.Channels.access$000(Channels.java:47)
        at java.nio.channels.Channels$1.write(Channels.java:155)
        at com.evermind.server.http.AJPOutputStream.endRequest(AJPOutputStream.java:117)
        at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:317)
        at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
        at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
        at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234)
        at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29)
        at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879)
        at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
        at java.lang.Thread.run(Thread.java:662)



Cause
+++++
The errors are caused by writing to a connection when the other end has already closed it.
Basically, this is caused by the peer unexpectedly ending the connection (for instance, by closing the browser during an HTTP connection).
When user closes the client session, server cannot write any streams to that client and generates this error.
If you click in a link and before the page is rendered you click in a second one. the first request is canceled and you will see a broken pipe at that time.


 Solution
+++++++
This is normal behavior.
This message can be ignored if you does not face login, disconnection or performance issue.

 

How to un installing xe database?


[root@wlsadmin /]# rpm -qa|grep -i oracle
oracle-xe-11.2.0-1.0.x86_64
[root@wlsadmin /]# rpm -qa|grep -i oracle*
oracle-xe-11.2.0-1.0.x86_64
[root@wlsadmin /]# rpm -e oracle-xe-11.2.0-1.0.x86_64
warning: %postun(oracle-xe-11.2.0-1.0.x86_64) scriptlet failed, exit status 125

Note:
If you get an error here, move on to the next steps to manually remove XE. Remove the XE directories.


[root@wlsadmin ~]# rm -rf /usr/lib/oracle/xe
[root@wlsadmin ~]# rm -rf /etc/init.d/oracle-xe
[root@wlsadmin ~]# rm -rf /etc/sysconfig/oracle-xe
[root@wlsadmin ~]#

How to install XE database?

Download software from here ...

Unzip the software from root user as shown below ..

[root@wlsadmin d01]# unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
Archive:  oracle-xe-11.2.0-1.0.x86_64.rpm.zip
   creating: Disk1/
   creating: Disk1/upgrade/
  inflating: Disk1/upgrade/gen_inst.sql 
   creating: Disk1/response/
  inflating: Disk1/response/xe.rsp  
  inflating: Disk1/oracle-xe-11.2.0-1.0.x86_64.rpm 
[root@wlsadmin d01]#

You will get a get a rpm ,just install it .


[root@wlsadmin Disk1]# rpm -Uvh oracle-xe-11.2.0-1.0.x86_64.rpm
Preparing...                ########################################### [100%]
   1:oracle-xe              ########################################### [100%]
Executing post-install steps...
You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database.
[root@wlsadmin Disk1]#


+++++++++
Configure XE database
++++++++++

[root@wlsadmin Disk1]# /etc/init.d/oracle-xe configure

Oracle Database 11g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 11g Express
Edition.  The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts.  Press <Enter> to accept the defaults.
Ctrl-C will abort.

Specify the HTTP port that will be used for Oracle Application Express [8080]:8081

Specify a port that will be used for the database listener [1521]:1522

Specify a password to be used for database accounts.  Note that the same
password will be used for SYS and SYSTEM.  Oracle recommends the use of
different passwords for each database account.  This can be done after
initial configuration:
Confirm the password:

Do you want Oracle Database 11g Express Edition to be started on boot (y/n) [y]:y

Starting Oracle Net Listener...
Configuring database...grep: /u01/app/oracle/product/11.2.0/xe/config/log/*.log: No such file or directory
grep: /u01/app/oracle/product/11.2.0/xe/config/log/*.log: No such file or directory
Done

Starting Oracle Database 11g Express Edition instance...
Starting Oracle Net Listener...Done
Configuring database...grep: /u01/app/oracle/product/11.2.0/xe/config/log/*.log:
grep: /u01/app/oracle/product/11.2.0/xe/config/log/*.log: No such file or directory
Done
/bin/chmod: cannot access `/u01/app/oracle/oradata'
/bin/chmod: cannot access `/u01/app/oracle/diag'
Starting Oracle Database 11g Express Edition instance...
Done
Installation completed successfully.
[root@wlsadmin Disk1]#
[root@wlsadmin Disk1]#



Stopping and start XE Database
++++++++++++++++++++

[root@wlsadmin Disk1]# /etc/init.d/oracle-xe stop
Shutting down Oracle Database 11g Express Edition instance.
Stopping Oracle Net Listener.

To start
++++
[root@wlsadmin Disk1]# /etc/init.d/oracle-xe start ..

Thursday 19 March 2015

Upload or Download Oracle Workflows using WFLOAD Command Line Utility

Requirement -  Upload wft files to database or download the latest wft file from database.

Solution -  Workflow files (with extension .wft) are being stored in database and it can be upload (to) or download (from) database .


Run Command to download !!

WFLOAD apps/apps 0 Y DOWNLOAD reqappv_final.wft REQAPPRV
WFLOAD apps/apps 0 Y DOWNLOAD poapprv_final.wft POAPPRV

Run Command to upload !!
WFLOAD apps/apps 0 Y UPLOAD reqappv_final.wft REQAPPRV
WFLOAD apps/apps 0 Y UPLOAD poapprv_final.wft POAPPRV


Run Command to upgrade !!
WFLOAD apps/apps 0 Y UPGRADE reqappv_final.wft REQAPPRV
WFLOAD apps/apps 0 Y UPGRADE poapprv_final.wft POAPPRV


This will upload the wft file - into the database - for the new instance.

Different Access Levels Used:
0 -  9
Reserved for Oracle Workflow
10 - 19
Reserved for Oracle Application Library
20 - 99
Reserved for Oracle E-Business Suite
100 - 999
Reserved for Customer Organizations
1000
Public
Different UPLOAD modes used while uploading the WFT file to the database.
UPGRADE
Honors both Customization and Protection Levels of Data.
UPLOAD
Honors only Protection. Customization Levels are not respected.
FORCE
Both Customization and Protection Levels are not honored.
Usually all the Oracle Patches run the Workflows in UPGRADE mode and access level of 20 and hence our customizations are protected if properly preserved.

Using FNDLOAD with examples

So, here’s my examples on how to use FNDLOAD…
FND Messages
Downloading one message:
FNDLOAD apps/password 0 Y DOWNLOAD
  $FND_TOP/patch/115/import/afmdmsg.lct
  filename.ldt
  FND_NEW_MESSAGES
  APPLICATION_SHORT_NAME='short name'
  MESSAGE_NAME=message name

Example to extract one specific HR message:
  FNDLOAD apps/apps 0 Y DOWNLOAD
    $FND_TOP/patch/115/import/afmdmsg.lct
    CAC_SR_HIER_ENTRY_DATE_ERROR.ldt
    FND_NEW_MESSAGES
    APPLICATION_SHORT_NAME='PER'
    MESSAGE_NAME=CAC_SR_HIER_ENTRY_DATE_ERROR
 
Downloading all the messages for the same application:
FNDLOAD apps/password 0 Y DOWNLOAD
  $FND_TOP/patch/115/import/afmdmsg.lct 
  filename.ldt
  FND_NEW_MESSAGES
  APPLICATION_SHORT_NAME='short name'

Example to extract all HR messages:
  FNDLOAD apps/apps 0 Y DOWNLOAD
    $FND_TOP/patch/115/import/afmdmsg.lct
    ALL_HR_MESSAGES.ldt
    FND_NEW_MESSAGES
    APPLICATION_SHORT_NAME='PER'
 
Uploading FND messages from a file:
FNDLOAD apps/password 0 Y UPLOAD $FND_TOP/patch/115/import/afmdmsg.lct filename.ldt
 
 
Menus
Downloading a menu:
FNDLOAD apps/password O Y DOWNLOAD
  $FND_TOP/patch/115/import/afsload.lct filename.ldt
  MENU MENU_NAME="menu name" 
 
 Example to extract Workflow Administrator (New) Menu:
  FNDLOAD apps/apps O Y DOWNLOAD
    $FND_TOP/patch/115/import/afsload.lct FND_WFADMIN_NEW.ldt
    MENU MENU_NAME="FND_WFADMIN_NEW"
 
Note that since Oracle Menus are not attached to applications, there is no need to include an application short name.

Uploading the menu:
FNDLOAD apps/password O Y UPLOAD $FND_TOP/patch/115/import/afsload.lct filename.ldt
 
 
Descriptive Flexfields
Downloading:
FNDLOAD apps/password 0 Y DOWNLOAD
  $FND_TOP/patch/115/import/afffload.lct
  filename.ldt
  DESC_FLEX
  APPLICATION_SHORT_NAME='short name'
  DESCRIPTIVE_FLEXFIELD_NAME='flexfield name' 
 
 
 Example to download person DFF:
  FNDLOAD apps/apps 0 Y DOWNLOAD
    $FND_TOP/patch/115/import/afffload.lct
    PER_PEOPLE_DFF.ldt
    DESC_FLEX
    APPLICATION_SHORT_NAME='PER'
    DESCRIPTIVE_FLEXFIELD_NAME='PER_PEOPLE'
 
 
You can find the name of the descriptive flexfield from the table name by running the following code:

SELECT application_id
,      descriptive_flexfield_name
,      application_table_name
FROM   fnd_descriptive_flexs_vl
WHERE  application_table_name = 'table name'
ORDER BY application_table_name;

Example:
  SELECT application_id
  ,      descriptive_flexfield_name
  ,      application_table_name
  FROM   fnd_descriptive_flexs_vl
  WHERE  application_table_name LIKE 'PER%PEOPLE%'
  ORDER BY application_table_name;
 
 
Uploading:
FNDLOAD apps/password 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.lct filename.ldt


Concurrent Programs
Downloading a program:

FNDLOAD apps/password O Y DOWNLOAD
  $FND_TOP/patch/115/import/afcpprog.lct
  filename.ldt
  PROGRAM
  APPLICATION_SHORT_NAME="short name"
  CONCURRENT_PROGRAM_NAME="program name"

Example to download HR allocate checklist process:
  FNDLOAD apps/apps O Y DOWNLOAD
  $FND_TOP/patch/115/import/afcpprog.lct
  ALLOCATECKL.ldt
  PROGRAM
  APPLICATION_SHORT_NAME="PER"
  CONCURRENT_PROGRAM_NAME="ALLOCATECKL"
 
 
Uploading the program:
FNDLOAD apps/password O Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct filename.ldt



Request Groups
Downloading a request group:
FNDLOAD apps/password O Y DOWNLOAD
  $FND_TOP/patch/115/import/afcpreqg.lct
  filename.ldt
  REQUEST_GROUP
  REQUEST_GROUP_NAME="request group name"
  APPLICATION_SHORT_NAME="short name"

Example to download Workflow Administrator request group:
  FNDLOAD apps/apps O Y DOWNLOAD
    $FND_TOP/patch/115/import/afcpreqg.lct
    Workflow_Admin_Request_Group.ldt
    REQUEST_GROUP
    REQUEST_GROUP_NAME="Workflow Administrator"
    APPLICATION_SHORT_NAME="FND"
 
 
Uploading the request group:
FNDLOAD apps/password O Y UPLOAD $FND_TOP/patch/115/import/afcpreqg.lct filename.ldt



Lookup Values

Downloading lookup values:
FNDLOAD apps/password 0 Y DOWNLOAD
  $FND_TOP/patch/115/import/aflvmlu.lct
  filename.ldt
  FND_LOOKUP_TYPE
  APPLICATION_SHORT_NAME ='short name'
  LOOKUP_TYPE="lookup type"

Example to download lookup values for Workflow Signature Policy:
  FNDLOAD apps/apps O Y DOWNLOAD
    $FND_TOP/patch/115/import/aflvmlu.lct
    WF_SIG_POLICY.ldt
    FND_LOOKUP_TYPE
    APPLICATION_SHORT_NAME ='FND'
    LOOKUP_TYPE="WF_SIG_POLICY"

Uploading:
FNDLOAD apps/password 0 Y UPLOAD $FND_TOP/patch/115/import/aflvmlu.lct filename.ldt



User definitions
Downloading a user:
FNDLOAD apps/password 0 Y DOWNLOAD
  $FND_TOP/patch/115/import/afscursp.lct
  filename.ldt
  FND_USER USER_NAME='user name'

Example to extract my user from my environment:
  FNDLOAD apps/apps 0 Y DOWNLOAD
    $FND_TOP/patch/115/import/afscursp.lct
    USER_SEARLEM.ldt
    FND_USER USER_NAME='SEARLEM'
 
Uploading the user file:
FNDLOAD apps/password 0 Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct filename.ldt

Note:-
Extracting a user using this method will also extract the responsibility definitions and assign them to the user. When the user logs into the new environment, they will be prompted to change their password.



Profile Options
Downloading profile option values:
FNDLOAD apps/password O Y DOWNLOAD
  $FND_TOP/patch/115/import/afscprof.lct
  filename.ldt
  PROFILE
  PROFILE_NAME="profile name"
  APPLICATION_SHORT_NAME="short name"

Example to extract value of FND: Diagnostics:
  FNDLOAD apps/apps O Y DOWNLOAD
  $FND_TOP/patch/115/import/afscprof.lct
  FND_DIAGNOSTICS.ldt
  PROFILE
  PROFILE_NAME="FND_DIAGNOSTICS"
  APPLICATION_SHORT_NAME="FND"
 
Note that we pass in the short name of profile option, not the user profile option name. You can find the short name from the user profile option name by running the following SQL:
SELECT application_id
,      profile_option_name
,      profile_option_id
,      user_profile_option_name
FROM   fnd_profile_options_vl
WHERE  user_profile_option_name LIKE '%Diagn%'
ORDER BY profile_option_name;
 
Uploading:
FNDLOAD apps/password O Y UPLOAD $FND_TOP/patch/115/import/afscprof.lct filename.ldt
 
 
Responsibilities
Downloading a responsibility:

FNDLOAD apps/password O Y DOWNLOAD
  $FND_TOP/patch/115/import/afscursp.lct
  filename.ldt
  FND_RESPONSIBILITY
  RESP_KEY="responsibility"

Example to download Application Developer responsibility:
  FNDLOAD apps/apps O Y DOWNLOAD
    $FND_TOP/patch/115/import/afscursp.lct
    APPLDEV.ldt
    FND_RESPONSIBILITY
    RESP_KEY="APPLICATION_DEVELOPER"
 
Uploading:
FNDLOAD apps/password O Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct filename.ldt


Forms Personalizations
Downloading personalizations:

FNDLOAD apps/password 0 Y DOWNLOAD
  $FND_TOP/patch/115/import/affrmcus.lct
  filename.ldt
  FND_FORM_CUSTOM_RULES
  function_name="function name"

Example to download personalizations to the Document Sequences form:
  FNDLOAD apps/apps 0 Y DOWNLOAD
    $FND_TOP/patch/115/import/affrmcus.lct
    FND_FNDSNDSQ.ldt
    FND_FORM_CUSTOM_RULES
    function_name="FND_FNDSNDSQ"
 
 
Uploading:
FNDLOAD apps/password 0 Y UPLOAD $FND_TOP/patch/115/import/affrmcus.lct filename.ldt