Way to success...

--"Running Away From Any PROBLEM Only Increases The DISTANCE From The SOLUTION"--.....--"Your Thoughts Create Your FUTURE"--.....--"EXCELLENCE is not ACT but a HABIT"--.....--"EXPECT nothing and APPRECIATE everything"--.....

Friday, June 23, 2017

How to Delete Linux LVM Partition

Please perform below steps to Delete LVM Partition:


1. First unmount the LVM partition

$ df -h
$ umount /apps12i


2. Deactivate LVM ex-lvchange -a n LVM path

$ lvdisplay
$ lvchange -a n /dev/oravg/oralvm


3. Delete LVM ex-lvremove LVM path

$ lvremove /dev/oravg/oralvm


4. Delete volume group ex-vgremove Vg path

$ vgdisplay
$ vgremove /dev/oravg/oralvm


5. Delete PV ex- pvremove partition path

$ pvdisplay
$ pvremove /dev/hdc1 /dev/hda11


6. Change the id ex- fdisk /dev/sda or hda


7. Make it 83(LINUX) or Other

Thursday, June 22, 2017

How to Create LVM Logical Volume on Linux



Step-1: Open Terminal

  • Go to Text mode by using Ctrl+Alt+f1
  • For Graphics mode - Ctrl+Alt+f7
  • Enter Username and Root Password. 


  

Step-2:

  • Check Mount points using - $fdisk –l

 


  • Add a new partition on 1st HD using - $fdisk  /dev/hda

  

  
  • Then enter Hex cod for new partition using “ t “ (for Linux LVM = 8e).
  • Save this partition using “ w “.
   


Step 3:

  • Do same step 2  for 2nd HD - $fdisk  /dev/hdc

  

  
  • Save this settings into kernel by using - $partprobe
  


 Step 4:

  • PV creation using- $pvcreate  /dev/hda11  /dev/hdc1
  


  • To Display use - $pvdisplay
  • Save this to kernel using - $partprobe




 Step 5:

  • VG creation using - $vgcreate  oravg  /dev/hda11  /dev/hdc1  
  • To Display - $vgdisplay


  
Step 6:

  • Create lvm using - $lvcreate  -L  +45GB  -n  oralvm  oravg
  • To display - $lvdisplay
  

  
Step 7:

  • Format this partition(/dev/oravg/oralvm) using - $mkfs.ext3  /dev/oravg/oralvm
   


Step 8:

  • Make new directory –

-$cd  /
-$mkdir  apps12i

  • Then mount this using –

-$mount   /dev/oravg/oralvm  /apps12i
-$df –Th

  


  
Step 9:

  • Add this mount point entry by using - $vim /etc/fstab
   

This will mount the LVM Logical Volume automatically after reboot
  
Step 10:

  • Linux LVM created successfully and ready to use :)

Wednesday, June 21, 2017

ORA-01536: space quota exceeded for tablespace 'TABLESPACE_NAME'


Issue:

ERROR at line 1:
ORA-01536: space quota exceeded for tablespace 'USERS'


Solution:

alter user to have unlimited quota on tablespace

connect /as sysdba

USER is "SYS"

SQL> alter user USERNAME quota unlimited on TABLESPACE_NAME;

User altered.


Query To Get Internal Manager (ICM) Log File Location

This Query only retrieves the location of the Internal Manager Log file for review against issues.

SELECT 'ICM_LOG_NAME=' || fcp.logfile_name
FROM    fnd_concurrent_processes fcp, fnd_concurrent_queues fcq
WHERE   fcp.concurrent_queue_id = fcq.concurrent_queue_id
AND     fcp.queue_application_id = fcq.application_id
AND     fcq.manager_type = '0'
AND     fcp.process_status_code = 'A';


Tuesday, June 20, 2017

Can we remove the Patch Files/Directories exists in patchtop that already applied on Oracle EBS R12.2?

In EBS R12.2 there is a patchtop($NE_BASE/EBSapps/patch)  where we keep the patches and apply using adop.
Now the question is can we remove these patch directories from patchtop location?

So the answer is we cannot delete these patch directories until the patch is synchronized to the other file system during the next prepare phase.

The directories where you extracted the patches applied in a given patching cycle must be retained, in the same location and with the same contents, until the next prepare phase completes. 
This is also a requirement for patches applied in a hotpatch session. 

At prepare, one can safely remove the patch.

If the plan is to do an FS_CLONE to SYNC the file systems, then the patches can be deleted after doing FS_CLONE


Monday, June 19, 2017

Exception occurred: java.sql.SQLException: ORA-28040: No matching authentication protocol


Issue:

Unable to connect to database, getting below error:

Exception occurred: java.sql.SQLException: ORA-28040: No matching authentication protocol

Cause:

DB Connectivity Issue after upgrading to Oracle Database 12c.

The issue is caused by the default setting for allowed logon version in the Oracle 12c database.

Note that the SQLNET.ALLOWED_LOGON_VERSION parameter has been deprecated in 12c.

The parameter has been replaced with:

SQLNET.ALLOWED_LOGON_VERSION_SERVER


Solution:

To resolve the database connectivity issue, perform the following steps :

1. Review the sqlnet_ifile.ora or sqlnet.ora file and confirm the following entries are present:
  SQLNET.ALLOWED_LOGON_VERSION_SERVER

2. Update the sqlnet_ifile.ora or sqlnet.ora settings for the above parameters to the lowest version level 
that is required in your environment. 

For example:

a) If the initialization parameter SEC_CASE_SENSITIVE_LOGON is set to FALSE:

  SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8

b) If SEC_CASE_SENSITIVE_LOGON is set to TRUE

  SQLNET.ALLOWED_LOGON_VERSION_SERVER = 10

After this Database connectivity issue should be resolved.

Granting in Oracle EBS R12.2 : should be using only ad_zd.grant_privs instead of 'grant' (DDL) directly

Granting privileges on an object may cause object invalidations in the current edition.

Grants cannot be performed in the run edition when the application is being used.

In 12.2 When grants are given to "Stub objects" it invalidates all dependent stub objects. 
"stub objects" are simply pointers to an actual object definition from an ancestor edition that is still being inherited by the given edition.

Henceforth granting in 12.2 ; should be using only ad_zd.grant_privs instead of 'grant' (DDL) directly

There are occasions where you might want to grant privileges to objects in the APPS schema; for example, you might want to create a database user with read-only privileges. However, due to the way that editioned objects are treated, granting a privilege on an editioned object directly may cause temporary invalidation of any dependent objects. 

To avoid such invalidation, use the procedure AD_ZD.GRANT_PRIVS:


procedure  GRANT_PRIVS( X_PERMISSIONS in VARCHAR2,
                        X_OBJECT_NAME in  VARCHAR2,
                        X_GRANTEE     in VARCHAR2,
                        X_OPTIONS     in VARCHAR2 default NULL);
end;


Parameters: 

•X_PERMISSIONS: Permissions to be granted to the grantee.  This should be in upper case.
•X_OBJECT_NAME: Object to which the permission(s) apply. This should be in the exact case as defined and must exist in the database.  By default, objects will have uppercase names.
•X_GRANTEE: Other schemas and roles receiving the grant.
•X_OPTIONS: Grant options, for example: ‘WITH GRANT OPTION’.

TYPICAL Example
================

If you want to grant SELECT on FND_RESPONSIBILITY To APPSRO Schema then you must use below syntax

To Grant:

SQL> exec AD_ZD.grant_privs('SELECT', 'FND_RESPONSIBILITY', 'APPSRO');

PL/SQL procedure successfully completed.

To Revoke:

SQL> exec AD_ZD.revoke_privs('SELECT', 'FND_RESPONSIBILITY', 'APPSRO');

PL/SQL procedure successfully completed.


Monitoring Invalid objects in Oracle EBS R12.2

ADZDUTLRECMP.sql : Compiling Invalid Objects during adop patching.

In R12.2, different than other releases, the stubs objects are not displayed in the dba_objects, so querying this table will not show all the invalid objects:
STUB are objects related to the editioning capabilities of the database.

The following query can be used to display the invalid objects:


select * from
  (
    select
        eusr.user_name owner
      , count(decode(obj.type#,88,NULL,decode(obj.status,1,NULL,1))) Actual
      , count(decode(obj.type#,88,decode(obj.status,1,NULL,1),NULL)) Stub
      , count(decode(obj.type#,88,decode(obj.status,1,NULL,1),decode(obj.status,1,NULL,1))) Total
    from
        sys.obj$ obj
      , sys.obj$ bobj
      , (
            select
                xusr.user#
              , xusr.ext_username user_name
              , ed.name edition_name
            from
                (select * from sys.user$ where type# = 2) xusr
              , (select * from sys.obj$ where owner# = 0 and type# = 57) ed
            where xusr.spare2 = ed.obj#
            union
            select
                busr.user#
              , busr.name user_name
              , ed.name edition_name
            from
                (select * from sys.user$ where type# = 1 or user# = 1) busr
              , (select * from sys.obj$ where owner# = 0 and type# = 57) ed
            where ed.name = 'ORA$BASE'
        ) eusr
    where obj.owner# = eusr.user#
      and bobj.obj#(+) = obj.dataobj#
      and obj.type# not in (0, 10)
      and ( obj.type# <> 88 or (obj.type# = 88 and bobj.type# <> 10) )
      and obj.remoteowner is null
    group by eusr.user_name
  ) x
where total > 0
order by 1
/

The patch will proceed only when the number of invalids displayed is close to zero.

Customization (Forms, Reports etc. ) Lost after adop cutover phase during adop patching in R12.2.x


Issue:

Custom Forms, Reports and other custom files deployed on RUN file system lost after adop cutover phase during adop patching.


Solution:

If you have deployed custom forms, reports etc. on a RUN filesystem then -

You should add entries for all your custom files to the custom synchronization driver file located at $APPL_TOP_NE/ad/custom/adop_sync.drv (%s_ne_base%/EBSapps/appl/ad/custom/adop_sync.drv).

The adop utility uses this driver file to synchronize files between the run file system and the patch file system.

Add your entries in the section marked by the '#Begin Customization' and '#End Customization' comments.

Example: 
rsync -zr %s_current_base%/EBSapps/appl/<Company identifier> %s_other_base%/EBSapps/appl



Synchronizing custom Top with Symbolic Links using adop_sync.drv:

Please add "-l" option to rsync command

This option is copy symbolic link as a symbolic link.

Example:
rsync -rl %s_current_base%/EBSapps/appl/XXX/12.0.0/bin %s_other_base%/EBSapps/appl/XXX/12.0.0


For the details on customization deployment in R12.2, please refer below metalink note:

Developing and Deploying Customizations in Oracle E-Business Suite Release 12.2 (Doc ID 1577661.1)


Wednesday, June 14, 2017

R12.2 Upgrade: Rapidwiz Prerequisite Check Fails With Message: DB Version Check Has Failed. Not able to check the Database version. Please make sure the Database is at 11.2.0.3 or higher


Issue:

Oracle E-business suite R12.2 Upgrade File System Pre-install check Failed for :


-------------------ADX Database Utility Finished---------------

DB Version Check has failed.
Not able to check the Database version. Please make sure the Database is at 11.2.0.3 or higher

DB service_names Check has failed.
Not able to check if ebs_patch as an entry exists in Database service_name parameter.

Existing DB SID validation has failed.
Connection to database failed.  Unable to validate the current SID

Error in Log File: /tmp/06130314/06130314.log


---------------------------------------------------------------
                   ADX Database Utility
---------------------------------------------------------------

getConnection() -->
    sDbHost    : h2hdba
    sDbDomain  : dba.com
    sDbPort    : 1524
    sDbSid     : VISION
    sDbUser    : APPS
    Trying to connect using SID...
getConnectionUsingSID() -->
    JDBC URL: jdbc:oracle:thin:@h2hdba.dba.com:1524:VISION
    Exception occurred: java.sql.SQLException: ORA-28040: No matching authentication protocol

    Trying to connect using SID as ServiceName
getConnectionUsingServiceName() -->
    JDBC URL: jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=h2hdba.dba.com)(PORT=1524))(CONNECT_DATA=(SERVICE_NAME=VISION)))
    Exception occurred: java.sql.SQLException: ORA-28040: No matching authentication protocol

    Trying to connect using SID as ServiceName.DomainName
getConnectionUsingServiceName() -->
    JDBC URL: jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=h2hdba.dba.com)(PORT=1524))(CONNECT_DATA=(SERVICE_NAME=VISION.dba.com)))
    Exception occurred: java.sql.SQLException: Listener refused the connection with the following error:
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
The Connection descriptor used by the client was:
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=h2hdba.dba.com)(PORT=1524))(CONNECT_DATA=(SERVICE_NAME=VISION.dba.com)))

Connection could not be obtained; returning null


Cause:

DB Connectivity Issue.

The issue is caused by the default setting for allowed logon version in the Oracle 12c database.

Note that the SQLNET.ALLOWED_LOGON_VERSION parameter has been deprecated in 12c.

The parameter has been replaced with:

SQLNET.ALLOWED_LOGON_VERSION_SERVER


Solution:

To resolve the database connectivity issue, perform the following steps :

1. Review the sqlnet_ifile.ora or sqlnet.ora file and confirm the following entries are present:
  SQLNET.ALLOWED_LOGON_VERSION_SERVER

2. Update the sqlnet_ifile.ora or sqlnet.ora settings for the above parameters to the lowest version level 
that is required in your environment. 

For example:

a) If the initialization parameter SEC_CASE_SENSITIVE_LOGON is set to FALSE:

  SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8

b) If SEC_CASE_SENSITIVE_LOGON is set to TRUE

  SQLNET.ALLOWED_LOGON_VERSION_SERVER = 10

After this Database connectivity issue should be resolved.

Modify the service_names parameter to include ebs_patch as shown below and retry.

SQL> sho parameter service
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      ORCL

SQL> alter system set service_names='ORCL','ebs_patch' scope=both ;
 
System altered.
 
SQL> sho parameter service
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      ORCL, ebs_patch


Monday, June 5, 2017

cmclean.sql for Oracle E-Business Suite (EBS) Release 11i/R12.1.x/R12.2.x

Earlier we were using cmclean.sql to recover concurrent managers whenever there is an issue with concurrent managers startup,

However, under certain undetermined conditions and/or configuration, the "cmclean.sql" can disrupt / end scheduled concurrent requests.

Hence, Oracle Applications 11i and E-Business Suite (EBS) R12 has evolved substantially and the script "cmclean.sql" is not any longer available, recommended, or supported.

The recommended and supported tools for EBS R12 and Oracle Applications Release 11i is the Concurrent Manager Recovery Wizard and/or the newly released CPADMIN utility.

Concurrent Manager Recovery Wizard

NOTE: The Concurrent Managers have to be stopped before the Wizard is run.

For Concurrent Internal Manager failures, it is recommended to run the Concurrent Manager Recovery feature using the Oracle Applications Manager. This feature should be used for recovering from when the Internal Manager won't start. This is accessed from the Troubleshooting wizards available within Oracle Applications Manager logged in as the sysadmin userid.

Navigate:

Oracle Applications Manager > Concurrent Managers OR Concurrent Requests > Site Map > Diagnostics and Repair > Concurrent Manager Recovery


Details of the "Concurrent Manager Recovery Wizard" is documented within the manual "Oracle E-Business Suite System Administrator's Guide - Maintenance Release 12.1" (Part No. E12894-04), Chapter 7, Diagnostic and Repair in Oracle Applications Manager: Concurrent Manager Recovery, page 7-4


Concurrent Processing Command-Line Utility:


Location of cpadmin.sh : $FND_TOP/bin/cpadmin.sh

The command-line utility cpadmin consolidates various existing utilities for concurrent processing into a single menu-based utility. This adadmin-style utility can be used for multiple tasks, including:

• Manager Status: Use this option to display the statuses of all managers.
• Clean CP Tables: Use this option to clean up the concurrent processing tables. This utility replaces cmclean.sql.
• Set Manager Diagnostics: Turn diagnostics on or off for individual managers with this option.
• Manager Control: Use this option to send a request such as start, stop, or verify to an individual manager.
• Rebuild Manager Views: Use this option to rebuild the FND_CONCURRENT_WORKER_REQUEST and FND_CONCURRENT_CRM_REQUESTS views.
• Move Request Files: Change request log and output file locations with this option.
• Analyze Request: Use this option to analyze a concurrent request.

Complete the steps below to run the command-line utility and its maintenance tasks:

1. Set the environment.
You must set the environment in order to apply the environment variables that define your system. This task is common to many utilities. See Setting the Environment, Oracle E-Business Suite Maintenance Guide for the preparatory steps.
2. From any directory, start cpadmin with this command:
$ cpadmin.sh
The utility starts and prompts you for the APPS password (required).
3. Respond to prompts.
Supply the information requested by cpadmin prompts. Prompts unique to an option are described with the option.
When you complete the prompts, the Main Menu appears.
4. Choose one of the tasks listed above.
5. Exit the cpadmin utility.


Details of the CPADMIN utility is documented within Note 134007.1 Command-Line Utility OR Recovery Wizard and Note 2084405.1 Oracle Application Object Library Release Notes For Release 12.1 Concurrent Processing RUP2 Patchset:



Friday, June 2, 2017

How to find the version of a file on a given instance in Oracle E Business Suite

We can use adident utility or strings command  SQL Query to find version of a file in oracle e business suite

Unix Commands:

Login to the application node and source the environment file, then run below commands to get the version of a file:


$ adident Header <FILE_NAME>  
or 
$ strings -a <FILE_NAME> | grep Header


SQL Query:

Login to the Oracle database as a APPS user, then run below SQL query to get the version of a file:

select sub.filename, sub.version , sub.last_update_date, sub.app_short_name, sub.subdir
from (
   select adf.filename filename,
   afv.version version,afv.LAST_UPDATE_DATE,adf.app_short_name, adf.subdir, 
   rank()over(partition by adf.filename
     order by afv.version_segment1 desc,
     afv.version_segment2 desc,afv.version_segment3 desc,
     afv.version_segment4 desc,afv.version_segment5 desc,
     afv.version_segment6 desc,afv.version_segment7 desc,
     afv.version_segment8 desc,afv.version_segment9 desc,
     afv.version_segment10 desc,
     afv.translation_level desc) as rank1 
   from ad_file_versions afv,
     (
     select filename, app_short_name, subdir, file_id
     from ad_files
     where upper(filename) like upper('%&filename%')
     ) adf
   where adf.file_id = afv.file_id
) sub
where rank1 = 1
order by 1;

You may enter partial file names. The search is not case sensitive.

For example, you may search on "glxjeent" for the form "GLXJEENT.fmb" or "frmsheet1" for java file "FrmSheet1VBA.class".

Note: This script works for the following file types:
- .class, .drvx, .fmb, .htm, .lct, .ldt, .o, .odf, .pkb, .pkh, .pls, .rdf, .rtf, .sql, .xml.
It doens't work for .lpc, .lc files, etc.