Tuesday, May 31, 2016

11g Data Guard New Features

11g Data Guard New Features

Real-Time Query: In Oracle Database 8i it was possible to bring a standby database into READ ONLY mode so that it could be used for reporting purposes, but it was necessary to switch it back to standby mode for reapplication of pending change vectors from the archived redo logs transported from the primary database. Oracle Database 11g now lets me run queries in real time against any physical standby database without any disturbance to receipt and application of redo.

Snapshot Standby Databases: Oracle Database 11g offers another intriguing prospect: the ability to open a physicalstandby database for testing or QA purposes while simultaneously collecting production changes for immediate reapplication in case disaster recovery is required. This snapshot standbydatabase still accepts redo information from its primary, but unlike the first two standby types, it does not apply the redo to the database immediately; instead, the redo is only applied when the snapshot standby database is reconverted back into a physical standby. This offers significant leverage because in theory, a QA environment that requires specifically dedicated, identical hardware is no longer required.

Improved Handling of Role Transitions: The addition of standby snapshot databases brings the total of different Data Guard standby database types to three (physical, logical, and snapshot), so Oracle Database 11g also makes it much easier to transition between these different roles via either Data Guard Broker (DGB) command line execution or Enterprise Manager Grid Control. Role transitions are simpler to execute and complete more quickly than in earlier releases.

Improvements to Rolling Database Upgrades: Oracle Database 11g supports rolling database upgrades to be performed against a physical standby database by first transforming it into a logical standby database with a few simple commands before the upgrade begins. Once the upgrade is done, the logical standby database is reverted to its original physical standby state. Oracle 11gleverages this capability as well as the improved speed and simplicity of role transitions to perform system and database patching in a fraction of the time it would’ve taken in earlier releases, and it’s especially powerful in a Real Application Clusters (RAC) database environment.

SQL Apply Enhancements: Logical standby databases are obviously central to these new role transition features, but they use SQL Apply technology to apply change vectors to data. It therefore makes sense that Oracle Database 11g provides significant improvements to this crucial part of Data Guard architecture. SQL Apply now supports parallel DDL execution, Fine-Grained Auditing (FGA), Virtual Private Database (VPD), and Transparent Data Encryption (TDE), as well as simpler real-time SQL Apply reconfiguration and tuning.

Enhanced Redo Logs Transport: Physical standby databases have always used archived redo logs for application of change vectors to data. Oracle Database 11g augments redo transport with some long-overdue features, including compressionand SSL authentication of redo logs while they’re being transmitted between the primary and standby sites.

Heterogeneous DataGuard: Oracle Database 11g allows the primary and standby databases to use different operating systems (for example, Windows 2003 Server and Oracle Enterprise Linux) as long as both operating systems support the same endianness.

Fast Start Failover Improvements: Oracle introduced this feature set in Release 10gR2, but it’s been enhanced significantly in Oracle 11g to permit much finer-grained control over the conditions under which a fast-start failover would be initiated.

“Live Cloning” of Standby Databases: Finally, Oracle 11g has made it extremely simple to set up a standby database environment because Recovery Manager(RMAN) now supports the ability to clone the existing primary database directly to the intended standby database site over the network via the DUPLICATE DATABASE command set while the target database is active. This means it’s no longer necessary to first generate, then transmit, and finally restore and recover RMAN backups of the primary database on the standby site via tedious (and possibly error-prone!) manual methods; instead, RMAN automatically generates a conversion script in memory on the primary site and uses that script to manage the cloning operation on the standby site with virtually no DBA intervention required. 

About Redo Block Address (RBA)

About Redo Block Address (RBA)

An  RBA (Redo Block Address) points  to  a  specific phyical  location  within a redo logfile . The "tail of the log" is the RBA of the most recent redo entry written to the redo log file . It is ten bytes long and has  three  components .

the log file sequence number  ( 4 bytes)
the log file block number       ( 4 bytes)
the byte offset into the block at which the redo record starts (2 bytes)

For Example :  RBA [0x775.2.10]  maps to Log squence , Block number with byte offset .

There are different types of RBA available in SGA , the following are :

Low RBA : Dirty buffer contains first redo change address called Low RBA. From x$bh we can check low RBA.

High RBA : Dirty buffer contains last and most recent redo changes address called High RBA. From x$bh we can check High RBA.

Checkpoint  RBA : DBWR  has written  buffers from  checkpoint queue  are pointing  to  checkpoint  RBA while  incremental checkpoint  is  enabled. This  RBA copies  in  to  control  file’s checkpoint  progress record. When instance recovery occurs that time it starts from checkpointing  RBA from control  file. We  can check this RBA from x$targetrba (sometimes from x$kccrt).

On-disk RBA : That RBA which was flushed in to online Redo Log File on disk. This RBA recorded in to control file record  section. We can check from x$kcccp for on-disk RBA (sometimes from x$targetrba).

How RBA comes in Pictures :
CKPT records checkpoint information to controlfile for maintaining book keeping information like checkpoint  progress . Each instance checkpoint  refers  to some  RBA (called checkpoint RBA) whose  redo prior to this RBA have been written to disk. Hence recovery time is difference between checkpoint RBA and end of the redo log  .

Given a  checkpoint RBA, DBWR writes  buffers  from  the  head  of  the queue  until  low RBA of the buffer at  the head of the checkpoint queue  is greater  than  the checkpoint  RBA . At  this  point ,CKPT can  record  this checkpoint  progress  record  in  control file  (phase 3).

PHASE(1)  process  initiating  the checkpoint (checkpoiting  RBA or current RBA is marked) (The RBA of the last change made to a buffer) at the time reuqest is initiated.

PHASE (2)  DBWR  writes all  required  buffers  i.e  all  buffers  that  have  been modified at RBAs less than or equal to the checkpoint RBA. After all required buffers have been written, in

PHASE (3)  CKPT process records the completion of the checkpoint in control file.

The checkpoint  RBA  is copied  into  the  checkpoint  progress  record  of  the  controlfile by the checkpoint  heartbeat  once  every  3  seconds. Instance recovery, when needed, begins from the checkpoint  RBA  recorded  in  the  controlfile. The  target  RBA is the point up to which DBWn should seek to advance the checkpoint RBA to satisfy instance recovery objectives.

The term sync RBA is sometimes used to refer to the point up to which LGWR is required to sync the thread. However, this is not a full RBA -- only a redo block number is used at this point.

Monday, May 30, 2016

Post Activities After Database Cloning

Post Activities After Database Cloning

Here are some Post checklist to check the cloned database environment.

1) Check Database Name and DBID :
After successful creation of clonning on same or different server we should try to change the database name and id.(in case of same server, clone has different name) .It is suggested to changed the DBID of clone database because Recovery Manager (RMAN) distinguishes databases by DBID. For more details click here

2) Edit the Listener.ora and tnsname.ora files :
Edit the listener file to include the new entry of the clonned database.Invoke  the lsnrctl utility and reload the listener. Similarly check the service name in the tnsnames.ora file. Make sure the connection should be connected to cloned database.

3) Check all the schedule jobs :
If we have scheduled any scripts ,then make sure that all the jobs are enabled for the clonned database.

4) Verify the parameter file :
Make sure the location mention in the pfile of the clonned database should be correct. The location and values of the parameter should be valid.

5) Check tempfile  :
After the successful creation of the clone database ,check the tempfile. If there is no tempfile then add the new tempfile in clone database.

6) Check the archivelog :
Generally archivelog mode is disabled for UAT/Cloned databases. In case our production database is in archivelog mode, make sure that the clonned database archiving is disable.

7) Check for database link :
Check for database link present in the cloned environment. Ensure that these are select only dblinks and will not perform any DML in production databases. If  find any ,then you can either drop these or recreate them to point to any UAT or simply remove/hash out tnsnames entry corresponding to these hosts. Also check for any hard coded IP address in host column in DBA_DB_LINKS.

How To Change DBID and DB NAME

How To Change DBID and DB NAME

DBNEWID is a database utility that can change the internal database Identifier(DBID) and database name (DBNAME). The DBNEWID utility solves this problem by allowing us to change any of the following:                                                                                
1) Only the DBID of a database
2) Only the DBNAME of a database
3) Both the DBNAME and DBID of a database

1) Only the DBID of a database :   The DBID is an internal, unique identifier for a database. Because Recovery Manager (RMAN) distinguishes databases by DBID, we could not register a seed database and a manually copied database together in the same RMAN repository.                                                                
Changing the DBID of a database is a serious procedure. When the DBID of a database is changed, all previous backups and archived logs of the database become unusable. This is similar to creating a database except that the data is already in the datafiles. After we change the DBID, backups and archive logs that were created prior to the change can no longer be used because they still have the original DBID, which does not match the current DBID. we must open the database with the RESETLOGS option, which re-creates the online redo logs and resets their sequence to 1 .

Below are steps to change the dbid of the database.

C:\>set ORACLE_SID=test
C:\>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Mon May 30 14:16:48 2011
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area            263639040 bytes
Fixed Size                                    1373964 bytes
Variable Size                                  205523188 bytes
Database Buffers                            50331648 bytes
Redo Buffers                                  6410240 bytes
Database mounted.
Database opened.
SQL> select name,dbid from v$database;
NAME               DBID
---------             ----------
TEST              2050645904

SQL> archive log list
Database log mode                   Archive Mode
Automatic archival                     Enabled
Archive destination                    USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence       10
Next log sequence to archive    12
Current log sequence                12
SQL> shut immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup mount
ORACLE instance started.
Total System Global Area                263639040 bytes
Fixed Size                                       1373964 bytes
Variable Size                                   205523188 bytes
Database Buffers                             50331648 bytes
Redo Buffers                                   6410240 bytes
Database mounted.

SQL> host nid target=sys/test@test

DBNEWID: Release 11.2.0.1.0 - Production on Mon May 30 14:25:13 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
Connected to database TEST (DBID=2050645904)
Connected to server version 11.2.0
Control Files in database:
D:\APP\MQM\ORADATA\TEST\CONTROL01.CTL
D:\APP\MQM\FLASH_RECOVERY_AREA\TEST\CONTROL02.CTL

Change database ID of database TEST? (Y/[N]) => Y
Proceeding with operation
Changing database ID from 2050645904 to 2050636234
Control File D:\APP\MQM\ORADATA\TEST\CONTROL01.CTL - modified
Control FileD:\APP\MQM\FLASH_RECOVERY_AREA\TEST\CONTROL02.CTL - modified
Datafile D:\APP\MQM\ORADATA\TEST\SYSTEM01.DB - dbid changed
Datafile D:\APP\MQM\ORADATA\TEST\SYSAUX01.DB - dbid changed
Datafile D:\APP\MQM\ORADATA\TEST\UNDOTBS01.DB - dbid changed
Datafile D:\APP\MQM\ORADATA\TEST\USERS01.DB - dbid changed
Datafile D:\APP\MQM\ORADATA\TEST\EXAMPLE01.DB - dbid changed
Datafile D:\APP\MQM\ORADATA\TEST\TEMP01.DB - dbid changed
Control File D:\APP\MQM\ORADATA\TEST\CONTROL01.CTL - dbid changed
Control File D:\APP\MQM\FLASH_RECOVERY_AREA\TEST\CONTROL02.CTL
dbid changed
Instance shut down

Database ID for database TEST changed to 2050636234. All previous backups and archived redo logs for this database are unusable.Database is not aware of previous backups and archived logs in Recovery Area.Database has been shutdown, open database with RESETLOGS option.
Succesfully changed database ID.
DBNEWID - Completed succesfully.

C:\>sqlplus sys/test@test as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Mon May 30 14:26:13 2011
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
Connected to an idle instance.
SQL> startup mount
ORACLE instance started.
Total System Global Area       263639040 bytes
Fixed Size                                 1373964 bytes
Variable Size                             205523188 bytes
Database Buffers                      50331648 bytes
Redo Buffers                            6410240 bytes
Database mounted.
SQL> alter database open resetlogs;
Database altered.

SQL> select name,dbid from v$database;
NAME                  DBID
---------              ----------
TEST                   2050636234

SQL> archive log list
Database log mode                     Archive Mode
Automatic archival                      Enabled
Archive destination                     USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence         1
Next log sequence to archive      1
Current log sequence                  1

2) Only the DBNAME of a database  :  Changing the DBNAME without changing the DBID does not require us to open with the RESETLOGS option, so database backups and archived logs are not invalidated. However, changing the DBNAME does have consequences. We must change the DB_NAME initialization parameter after a database name change to reflect the new name. Also, we may have to re-create the Oracle password file. If we restore an old backup of the control file (before the name change), then we should use the initialization parameter file and password file from before the database name change.

Below are steps to change the database name  of the database :
SQL> shut immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area         263639040 bytes
Fixed Size                               1373964 bytes
Variable Size                           209717492 bytes
Database Buffers                     46137344 bytes
Redo Buffers                          6410240 bytes
Database mounted.
SQL> host nid TARGET=SYS/test@test DBNAME=newtest SETNAME=YES
DBNEWID: Release 11.2.0.1.0 - Production on Mon May 30 14:35:45 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
Connected to database TEST (DBID=2050636234)
Connected to server version 11.2.0
Control Files in database:
D:\APP\MQM\ORADATA\TEST\CONTROL01.CTL
D:\APP\MQM\FLASH_RECOVERY_AREA\TEST\CONTROL02.CTL

Change database name of database TEST to NEWTEST? (Y/[N]) => Y
Proceeding with operation
Changing database name from TEST to NEWTEST
Control File D:\APP\MQM\ORADATA\TEST\CONTROL01.CTL - modified
Control File D:\APP\MQM\FLASH_RECOVERY_AREA\TEST\CONTROL02.CTL - modified
Datafile D:\APP\MQM\ORADATA\TEST\SYSTEM01.DB - wrote new name
Datafile D:\APP\MQM\ORADATA\TEST\SYSAUX01.DB - wrote new name
Datafile D:\APP\MQM\ORADATA\TEST\UNDOTBS01.DB - wrote new name
Datafile D:\APP\MQM\ORADATA\TEST\USERS01.DB - wrote new name
Datafile D:\APP\MQM\ORADATA\TEST\EXAMPLE01.DB - wrote new name
Datafile D:\APP\MQM\ORADATA\TEST\TEMP01.DB - wrote new name
Control File D:\APP\MQM\ORADATA\TEST\CONTROL01.CTL - wrote new name
Control File D:\APP\MQM\FLASH_RECOVERY_AREA\TEST\CONTROL02.CTL - wrote   new name
Instance shut down

Database name changed to NEWTEST. Modify parameter file and generate a new password file before restarting.Succesfully changed database name.
DBNEWID - Completed succesfully.

SQL> exit
C:\>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Mon May 30 14:36:39 2011
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
Connected to an idle instance.

SQL> create pfile='c:\inittest.ora' from spfile;
File created.

Now open the pfile inittest.ora and replace db_name parameter value "test"  to "newtest"

SQL> create spfile from  pfile='c:\inittest.ora' ;
File created.
SQL> startup
ORACLE instance started.
Total System Global Area           263639040 bytes
Fixed Size                                  1373964 bytes
Variable Size                              209717492 bytes
Database Buffers                       46137344 bytes
Redo Buffers                             6410240 bytes
Database mounted.
Database opened.
SQL> select open_mode ,name from v$database;
OPEN_MODE            NAME
-------------------- ---------
READ WRITE           NEWTEST

3) Both the DBNAME and DBID of a database

C:\>sqlplus sys/test@newtest as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Mon May 30 15:54:45 2011
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select dbid, name,open_mode from v$database;
      DBID                       NAME                       OPEN_MODE
----------                       ---------                     -----------------
2050636234                   NEWTEST                 READ WRITE

SQL> shut immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

C:\>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Mon May 30 16:01:03 2011
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
Connected to an idle instance.

SQL> startup mount
ORACLE instance started.
Total System Global Area             263639040 bytes
Fixed Size                                     1373964 bytes
Variable Size                                 213911796 bytes
Database Buffers                           41943040 bytes
Redo Buffers                                 6410240 bytes
Database mounted.

SQL> host nid target=sys/test@newtest dbname=prod

DBNEWID: Release 11.2.0.1.0 - Production on Mon May 30 16:11:17 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
Connected to database NEWTEST (DBID=2050636234)
Connected to server version 11.2.0
Control Files in database:
D:\APP\MQM\ORADATA\TEST\CONTROL01.CTL
D:\APP\MQM\FLASH_RECOVERY_AREA\TEST\CONTROL02.CTL

Change database ID and database name NEWTEST to PROD? (Y/[N]) => Y
Proceeding with operation
Changing database ID from 2050636234 to 164330150
Changing database name from NEWTEST to PROD
Control File D:\APP\MQM\ORADATA\TEST\CONTROL01.CTL - modified
Control FileD:\APP\MQM\FLASH_RECOVERY_AREA\TEST\CONTROL02.CTL modifd
Datafile D:\APP\MQM\ORADATA\TEST\SYSTEM01.DB - dbid changed, wrote new name
Datafile D:\APP\MQM\ORADATA\TEST\SYSAUX01.DB - dbid changed, wrote new name
Datafile D:\APP\MQM\ORADATA\TEST\UNDOTBS01.DB-dbid changed,wrote new name
Datafile D:\APP\MQM\ORADATA\TEST\USERS01.DB - dbid changed, wrote new name
Datafile D:\APP\MQM\ORADATA\TEST\EXAMPLE01.DB - dbid changed, wrote new name
Datafile D:\APP\MQM\ORADATA\TEST\TEMP01.DB - dbid changed, wrote new name
Control File D:\APP\MQM\ORADATA\TEST\CONTROL01.CTLdbid changd,wrote new name  Control File D:\APP\MQM\FLASH_RECOVERY_AREA\TEST\CONTROL02.CTL - dbid changed, wrote new name
Instance shut down

Database name changed to PROD.  Modify parameter file and generate a new password file before restarting. Database ID for database PROD changed to 164330150.  All previous backups and archived redo logs for this database are unusable.Database is not aware of previous backups and archived logs in  Recovery Area.  Database has been shutdown, open database with RESETLOGS option.  Succesfully changed database name and ID.
DBNEWID - Completed succesfully.

SQL> exit
C:\>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Mon May 30 16:43:18 2011
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
Connected to an idle instance.
SQL> startup mount
ORACLE instance started.
Total System Global Area  263639040 bytes
Fixed Size                  1373964 bytes
Variable Size             209717492 bytes
Database Buffers           46137344 bytes
Redo Buffers                6410240 bytes
Database mounted.
SQL> alter database open resetlogs;
Database altered.
SQL> select name,dbid,open_mode from v$database;
NAME              DBID                    OPEN_MODE
---------          ----------                ----------------
PROD            164330150                READ WRITE

About Data Masking

About Data Masking 

Data masking is the process of protecting sensitive information in non-production databases from inappropriate visibility. After sanitization, the database remains perfectly usable - the look-and-feel is preserved - but the information content is secure. The Data Masker software provides a simple, repeatable and "push-button" method of scrambling data in test systems.

It is important to be aware that data masking is appropriate to more than just personal details – sometimes business confidential information is appropriate for masking as well. For example, it may be desirable to prevent quarterly sales figures for some products being present in an outsourced test database.

Why Mask Data :                                                                                                                                    
1) Legal Requirements :  The regulatory environment surrounding the duties and obligations of a data holder to protect the information they maintain are becoming increasingly rigorous in just about every legal jurisdiction. It is a pretty safe assumption that the standards for the security and maintenance of data will become increasingly strict in the future .

2) Loss of Confidence And Public Relations Disasters :   It can reasonably be said in most locations, that if a data escape happens at our organization, then the formal legal sanctions applied by governmental bodies is not the only problem we will be facing. Possibly it may not even be the biggest of our immediate worries.

3) Malicious Exposure :    Most people think the major risk to the information they hold is external entities (and organized syndicates) out to break in and steal the data. The assumption then follows that protecting the network and firewalls is the appropriate and sufficient response. There is no denying that such protection is necessary – however it has been shown that in many cases the data is stolen by malicious insiders who have been granted access to the data

4) Accidental Exposure :   The risk of accidental exposure of information is often neglected when considering the security risks associated with real test data. Often it is thought that “there is no point in masking the test data because everybody has access to production anyways”. Not so, the risks associated with an accidental exposure of the data remain. Often just masking the most sensitive information (credit card numbers, customer email addresses etc) is enough to somewhat mitigate the damage associated with accidental exposure and the masked databases remain just as functional.

What Data To Mask :

I) Light Masking on a Bug-Fix or Fire-Fighting Database .

II) Medium Masking on Internal Development Databases .

III) Thorough Masking on an Outsourced Database .

Is My Data Too Complex to be Masked :

Not likely. Data Masker handles even the most intricate data structures. It can preserve data relationships between rows in tables, between rows in the same table or even internally between columns in the same row. Data synchronization issues of this type can be automatically handled by the addition of simple, easily configured masking rules. Don't worry about the size of the data either - Data Masker has successfully masked tables containing hundreds of millions of rows.

What Platforms and Databases does Data Masker Support :

Oracle, SQL Server and DB2 UDB versions are available. The Data Masker software is installed on a Windows PC and operates on both local and remote databases. There are no server side components for any Data Masker version. Oracle versions 9i, 10g, 11g, Sql Server versions 2000, 2005, 2008 and DB2 UDB (LUW) versions 8.2 or greater are supported.

Oracle Advanced Compression

Oracle Advanced Compression

Oracle Advanced Compression and Oracle Database 11g Release 2 helps manage more data in a cost-effective manner. With data volumes, on average, tripling every two years, Oracle Advanced Compression delivers compression rates of 2-4x across all types of data and applications.storage savings from compression will cascade throughout the data center, reducing network traffic and data backups as well. And by reading fewer blocks off disk, Oracle Advanced Compression also improves query performance.

Oracle Advanced Compression is an option of the Oracle 11g database (separately licensed) that allows data in the database to be compressed. Oracle Advanced Compression offers the following advantages:


1) OLTP Compression  : It allows structured and unstructured data to be compressed on insert,update and delete  operations.The following are features :
New compression algorithm uses deferred or batched approach
Data is inserted as is without compression until  PCTFREE  value is reached.
Compression of data starts once PCTFREE threshold is reached
Can be enabled at  table, partition or tablespace level
No need of decompressing the data during reads
Recommended for low update activity tables

2) Data Pump Compression   : In Data Pump, the compression of metadata was introduced in 10g and compression of "data" was introduced in 11g.This covers the following features :
Both are Inline operation
Save on storage allocation
No need to uncompress before Import
Implemented with COMPRESSION attribute, Values supported are ALL, DATA_ONLY, METADATA_ONLY .

3) Data guard Compression : It includes the following features :
Redo is compressed as it is transmitted over a network .
Helps efficiently utilize network bandwidth when data guard  is across data centers
Faster re-synchronization of Data guard  during gap resolution.
Recommended for low network bandwidth .
Implemented with attribute “COMPRESSION”  of initialization parameter log_archive_dest_n

4) RMAN Backup Compression  : It compresses the RMAN backups.The followinf features are
Supports compression of backups using "ZLIB"  algorithm .
Faster compression and low CPU utilization compared to default BZIP2 (10g) .
Low compression ratio  compared to BZIP2 .
Implement  with  CONFIGURE COMPRESSION ALGORITHM  ‘value’ command where value can be High , Medium(ZLIB) and Low(LZO) .


The Oracle Database 11g Advanced Compression option introduces a comprehensive set of compression capabilities to help customers maximize resource utilization and reduce costs. It allows IT administrators to significantly reduce their overall database storage footprint by enabling compression for all types of data – be it relational (table), unstructured (file), or backup data . Although storage cost savings are often seen as the most tangible benefit of compression, innovative technologies included in the Advanced Compression Option are designed to reduce resource requirements and technology costs for all components of our IT infrastructure, including memory and network bandwidth .

The benefits of compression are manyfold

1) Reduction of disk space used for storage .
2) Reduction in I/O bandwidth requirements .
3) Faster full table scans .
4) Lower server memory usage.

Wednesday, May 25, 2016

Troubleshooting ORA-1555

Troubleshooting ORA-1555


This document is intended to assist in finding tips and techniques to assist with finding solutions to ORA-1555 errors. The document will cover the following topics:

Concepts/Definitions
Diagnosing
Common Causes/Solutions
Concepts/Definitions

The ORA-1555 errors can happen when a query is unable to access enough undo to build
a copy of the data at the time the query started. Committed “versions” of blocks are
maintained along with newer uncommitted “versions” of those blocks so that queries can
access data as it existed in the database at the time of the query. These are referred to as
“consistent read” blocks and are maintained using Oracle undo management.

See Note 40689.1 - ORA-1555 "Snapshot too old" - Detailed Explanation for more about
these errors.
Diagnosing

Due to space limitations, it is not always feasible to keep undo blocks on hand for the life of the instance. Oracle Automatic Undo Management (AUM) helps to manage the time frame that undo blocks are stored. The time frame is the “retention” time for those blocks.

There are several ways to investigate the ORA-1555 error. In most cases, the error is a legitimate problem with getting to an undo block that has been overwritten due to the undo “retention” period having passed.

AUM will automatically tune up and down the “retention” period, but often space limitations or configuration of the undo tablespace will throttle back continuous increases to the “retention” period.

The error message is reported in the user session and often is not captured in the alert log. The user could see a message like

Using rollback segment functionality:
ORA-1555: snapshot too old (rollback segment too small)

or

Using AUM:
ORA-01555: snapshot too old: rollback segment number 9 with name "_SYSSMU9$" too small

If the error is captured in the alert.log, you would see something like

Tue May 26 16:16:57 2009
ORA-01555 caused by SQL statement below (SQL ID: 54yn3n36w24ft, Query Duration=922 sec, SCN: 0x0007.8a55f4e3)
Initial Investigation

Rollback Segments:

With Oracle 10g and later versions of Oracle, you can still use a Rollback Segments configuration. ORA-1555 errors in that environment still follow older guidelines as described in

Note 10579.1 - How many Rollback Segments to Have
Note 107085.1 - Tuning Rollback Segments
Note 69464.1 - Rollback Segment Configuration & Tips
Automatic Undo Management:

The database will be self tuning for undo when using Automatic Undo Management. This does not eliminate ORA-1555 completely, but does minimize ORA-1555 as long as there is adequate space in the undo tablespace and workloads tend to follow repeatable patterns. In some cases with periodic changes to workload (large data updates particularly with LOB data) the self tuning of undo can become aggressive and lead to undo issues.

Note 461480.1 - FAQ Automatic Undo Management (AUM) / System Managed Undo (SMU)
Note 135053.1 -How to Create a Database with Automatic Undo Management
Note 268870.1 - How to Shrink the datafile of Undo Tablespace
Note 231776.1 - How to switch a Database from Automatic Undo Management (AUM) back to using Rollback Segments
Note 296863.1 - How to Keep All UNDO Segments from Being Offlined in Oracle 10g - Fast Ramp-Up
LOB Issues:

Out-of-row LOB undo is maintained in the LOB segment. So the UNDO tablespace and undo retention is not associated with most LOB ORA-1555 issues. Instead the LOB column is created using either PCT_VERSION or RETENTION to manage how much space within blocks or time transpires before the LOB undo is overwritten. In environments with high updates, deletes on rows including LOBs, the chances of ORA-1555 on LOB undo is very high.

PCT_VERSION and RETENTION are not auto-tuned. To “tune” those configuration settings, you must change the values for PCT_VERSION or RETENTION. Changes to UNDO_RETENTION does not change LOB retention time frames.

Note 162345.1 - LOBS - Storage, Read-consistency and Rollback
Note 386341.1 - How to determine the actual size of the LOB segments and how to free the deleted/unused space above/below the HWM
Note 563470.1 – Lob retention not changing when undo_retention is changed
Note 422826.1 – How to identify LOB Segment Use PCTVERSION or RETENTION from Data Dictionary
Error Tracing

Undo error tracing can be done for normal undo operations using the following events:

NOTE: Normal undo operations will be indicated in the error message in that the error message includes a segment name like

…. name "_SYSSMU1$" too small

If the error doesn’t show a segment name

… name "" too small

the problem is often related to LOB undo
If using pfile:

event="10442 trace name context forever, level 10"

If using spfile:

Alter system set events '10442 trace name context forever, level 10';

Reproduce the ORA-1555 error and upload the trace file to Oracle Support.

LOB undo error tracing is more difficult. Set additional tracing events as follows:

Start Session 1
Alter session set events '10046 trace name context forever, level 12';
Reproduce the error
Exit Session 1

Start Session 2
Alter session set events '10051 trace name context forever, level 1';
Reproduce the error
Exit Session 2

Start Session
Alter session set events '1555 trace name errorstack forever, level 3';
Reproduce the error
Exit Session 3

Additional resources to review:
Note 846079.1 – LOBs and ORA-1555 troubleshooting
Note 253131.1 –Concurrent Writes May Corrupt LOB Segment When Using Auto Segment Space Management
Note 467872.1 – TROUBLESHOOTING GUIDE (TSG) – ORA-1555
V$UNDOSTAT Analysis

The V$UNDOSTAT view holds undo statistics for 10 minute intervals. This view
represents statistics across instances, thus each begin time, end time, and
statistics value will be a unique interval per instance.

This does not track undo related to LOB
Note 262066.1 – How To Size UNDO Tablespace For Automatic Undo Management
Note 1112363.1 – When Does Undo Used Space Become Available?
Note 240746.1 – 10g NEW FEATURE on AUTOMATIC UNDO RETENTION
Diagnostics Scripts

Refer to Note 746173.1 : Common Diagnostic Scripts for AUM problems
and Note 877613.1 : AUM Common Analysis/Diagnostic Scripts
Common Causes/Solutions

Using Rollback Segments functionality:

* Problem happening on SYSTEM tablespace that still uses old Rollback Segment functionality even when configured for Automatic Undo Management (AUM).

* There are not enough rollback segments to manage the undo needed for long running queries.

* Rollback Segments are too small and undo is overwritten before long running queries complete.
Reference:

Note 69464.1 – Rollback Segment Configuration & Tips
Note 10630.1 – ORA-1555: “Snapshot too old” – Overview
Note 862469.1 – ORA-604 & ORA-1555 Rollback Segment 0 with Name “System” Too Small
Using Automatic Undo Management (AUM):

* TUNED_UNDORETENTION in V$UNDOSTAT around the time of the error is lower than the QUERY DURATION indicated in the error message. This is a legitimate ORA-1555 and if queries are going to run for very long time frames, UNDO_RETENTION may need to be larger. Auto-tuned retention may not be able to keep up with the undo workload and staying within space limitations on the UNDO tablespace.

* LOB updates and/or deletes are frequent and a higher PCT_VERSION is required to provide enough space in the LOB Segment to accommodate the LOB undo. RETENTION on LOBs that are updated or deleted frequently can run into problems holding UNDO long enough for queries.

* QUERY DURATION shown in the error message is 30+ years and therefore, no amount of undo will satisfy the consistent read blocks.

Note 750195.1 – ORA-1555 Shows Unrealistic Query Duration (billions of seconds)

* QUERY DURATION shown in the error message is 0. NOTE: This has been filed as a bug on many release levels and has been very difficult to narrow down to a specific problem.

Note 761128.1 – ORA-1555 Error when Query Duration as 0 Seconds

* QUERY DURATION is lower than TUNED_UNDRETENTION. Undo header information can sometimes get overwritten or you could be seeing a bug.

* TUNED_UNDORETENTION stays very high and UNDO tablepsace continues to grow continuously or getting space errors.

Note 1112431.1 – Undo Remains Unexpired When Using Non-autoextensible Datafiles for Undo Tablespace.

Reference metalink Doc ID 1307334.1

Thursday, May 19, 2016

How To PerformAa Meaningful SMTP Telnet Test To Troubleshoot Java Mailer For Sending Email Notifications

How To PerformAa Meaningful SMTP Telnet Test To Troubleshoot Java Mailer For Sending Email Notifications

Steps to perform a meaningful telnet test to investigate java mailer issues related to sending workflow email notifications to the SMTP server.

It is mandatory to have an SMTP server set up in order to send the workflow notification e-mail messages. This means that the notification mailer does not send the notification e-mails itself but completely relies on the SMTP server to achieve this task.

For this reason, it is important to be able to send an email using telnet on the SMTP server in the conditions that are used by the mailer.

Note: this test is useful in the following situations (the below list is not exhaustive):

- One is setting the workflow notification mailer up and wants to validate the outbound processing parameters.
- One is suspect of a connectivity issue between the java mailer node and the SMTP server node.
- One suspects that the SMTP server does not process emails.
- One notices that given notifications in WF_NOTIFICATIONS have MAIL_STATUS = FAILED, and that the notification preference of the notification recipient has been switched to DISABLED (this can be seen in $FND_TOP/sql/wfmlrdbg.sql output against the given notification id).
- One wants to validate a given email address.
...

More particularly this test will provide relevant output when the following strings are seen in mailer log:

- javax.mail.SendFailedException: 550 5.7.1 Unable to relay
- javax.mail.MessagingException
- Invalid Address
- Relay access denied
- Unable to relay
- Relaying denied
- Client does not have permission to submit mail to this server
- Validation failed for the following parameters -> {OUTBOUND_SERVER=Unable to make a network connection.}
- EXCEPTION:[SVC-GSM-WFMLRSVC-12848-10006 : oracle.apps.fnd.wf.mailer.SMTPOutboundProcessor.read]:Not sending notification {3939936}because the notification mail status is null OR not 'MAIL'
- Updating notification {3939936} status {FAILED} {WFMLRSND_FAILED_UNDELIVERABLE} {{SYSADMIN}}...

Solution:

It is very important to perform all the steps mentioned below; they will allow to perform the telnet SMTP test from the right node and to pass the correct values during the test.

1) Identify the concurrent tiers node where mailer runs

by running script below:

select target_node from fnd_concurrent_queues where concurrent_queue_name like 'WFMLRSVC%';

It will return for example:

TARGET_NODE                    
------------------------------
ebiz1                    

In this example ebiz1 is the node where java mailer runs.

2) Gather other parameters values necessary for the SMTP telnet test:

To perform the SMTP telnet test, in addition to mailer node, you will also need to know on which node is the SMTP server (this is mailer "outbound server" parameter), and what is the reply to address that is set up for the java mailer (this is mailer "reply to" parameter).

To get these values run the following:

SELECT b.component_name, c.parameter_name, a.parameter_value FROM fnd_svc_comp_param_vals a, fnd_svc_components b, fnd_svc_comp_params_b c WHERE b.component_id = a.component_id AND b.component_type = c.component_type AND c.parameter_id = a.parameter_id AND c.encrypted_flag = 'N' AND b.component_name like '%Mailer%' AND c.parameter_name in ('OUTBOUND_SERVER', 'REPLYTO')
ORDER BY c.parameter_name;

It will return for example:

COMPONENT_NAME                  PARAMETER_NAME                 PARAMETER_VALUE        
------------------------------- ------------------------------ -----------------------
Workflow Notification Mailer    OUTBOUND_SERVER                mitini1                          
Workflow Notification Mailer    REPLYTO                        jmailer1@dummy_domain.com

In this example the outbound server is on mitini1 node and the reply to address is set to jmailer1@dummy_domain.com.

3) Perform the SMTP telnet test as follows:

3.1) Log on to the node where mailer runs (to identify it, please refer to step 1)

This is mandatory. SMTP telnet test is only meaningful when it is performed from the concurrent tier where mailer runs.

In our example you should log to ebiz1 node.

3.2) From mailer node, issue the following commands one by one:

telnet [outbound server] 25
EHLO [mailer node]
MAIL FROM: [reply_to address]
RCPT TO: [my_test_email_address]
DATA
Subject: Test message

Test message body
.
quit

Notes:

a) Very important, the commands needs to be entered one by one
b) Replace [outbound server] by the value retrieved for OUTBOUND_SERVER in step 2.
c) Replace [mailer node] by the value retrieved in step 1.
d) Replace [reply_to address] by the value retrieved for REPLYTO in step 2.
e) Replace [my_test_email_address] by the email address that you need to test.
f) By default SMTP server runs on port 25. If another port is used you'll have to modify the port accordingly in the syntax below.
g) Enter a blank line after the email subject and after the text 'Test message body'.
h) The end of the message is signaled by a "." on a line by itself.
i) To exit the telnet session, type 'quit' and then hit 'enter'.

So the commands to enter in the context of our example are:

telnet mitini1 25  
EHLO ebiz1  
MAIL FROM: jmailer1@dummy_domain.com  
RCPT TO: robert.king@dummy_domain.com
DATA  
Subject: Test message  

Test message body  
.  
quit
(let's assume robert.king@dummy_domain.com is the given address you want to test)

3.3) Then verify the following:

a) Has an error message been thrown during the test?

To compare the output you get with the normal output received during telnet SMTP test, please refer to section 8a (Verify SMTP Server ) in Note 242941.1 How To Troubleshoot Java-based Workflow Notification Mailer In 11.5.9 and OWF.G.

b) Check the INBOX of the email address used for the test (my_test_email_address)

Is there an email here with Subject: Test message and with sender corresponding to reply_to_address email address?

In our example, you should check robert.king@dummy_domain.com  INBOX and research a message with subject "Test message" and that is from sender jmailer1@dummy_domain.com.

4) Test interpretation

If an error message has been thrown during the test, or if the test email has not been received, this means the SMTP telnet test is not successful. Because the java mailer uses the SMTP server to send notification emails, it is a prerequisite for a correct behavior of the java mailer that this test is successful.
If the test is not successful, depending on the message received, the problem has to be addressed by the SMTP Server administrator or the Network administrator.  Commonly, relaying needs to be enabled.  The Workflow Mailer service will need to be restarted to pick up any changes made.

5) In addition to telnet, once can run the $AFJVAPRG command

from the Concurrent Manager tier to test the Connection to the SMTP Server:

$AFJVAPRG -classpath $AF_CLASSPATH -Dprotocol=smtp -Ddbcfile=$FND_SECURE/<name>.dbc -Dserver=myoraclehost.us.oracle.com -Dconnect_timeout=120 -Ddebug=Y -Daccount=NoSmtpUser -Dpassword=NoSmtpPasswd -DdebugMailSession=Y oracle.apps.fnd.wf.mailer.Mailer


But please understand, the connection test is only to determine that if the Workflow Mailer can connect to the SMTP Server successfully. But if the problem is "Unable to Relay",
that will inhibit the SMTP to send messages to certain email addresses if they are outside your network unless the SMTP Email Administrator Enables Relaying.

Info on RELAYING can be found at the SMTP Server Vendor's site

6) Finishing tasks

a) Confirm that the SMTP server defined within the Workflow Notification mailer setup reflects the correct address.

b) Once the mail server tests are complete and successful, to re-send any failed notifications, please run the Resend Failed Notifications concurrent request.

Reference metalink Doc ID 753845.1

Where Is The Workflow Notification Mailer Smtp And Imap Hostname Stored In DB

Where Is The Workflow Notification Mailer Smtp And Imap Hostname Stored In DB

#This query tells you where the Workflow notification mailer is running:

select target_node from apps.fnd_concurrent_queues where concurrent_queue_name like 'WFMLRSVC%';

#This query tells you the IMAP inbound server name, SMTP outbound server name, value of reply to email address:

SELECT b.component_name, c.parameter_name, a.parameter_value FROM apps.fnd_svc_comp_param_vals a, apps.fnd_svc_components b, apps.fnd_svc_comp_params_b c WHERE b.component_id = a.component_id AND b.component_type = c.component_type AND c.parameter_id = a.parameter_id AND c.encrypted_flag = 'N' AND b.component_name like '%Mailer%' AND c.parameter_name in ('INBOUND_SERVER','OUTBOUND_SERVER', 'REPLYTO') ORDER BY c.parameter_name;

To list the Current Date File In DOS

To list the Current Date File In DOS

       
command :

dir  |find "%date:~4,2%/%date:~7,2%/%date:~10,4% " |more


dir  |find "09/29/2012" |more


Example:

D:\TESTT>dir
Volume in drive D has no label.
Volume Serial Number is 86F0-0843

Directory of D:\TESTT

09/26/2012  02:42 PM    <DIR>          .
09/26/2012  02:42 PM    <DIR>          ..
09/25/2012  01:26 PM            46,547 a
09/25/2012  01:00 PM                 0 b.txt
09/25/2012  01:01 PM                 0 c.txt
09/25/2012  01:01 PM                 0 d.txt
09/25/2012  01:01 PM                 0 e.txt
09/25/2012  01:01 PM                 0 f.txt
09/25/2012  01:01 PM                 0 g.txt
09/26/2012  02:02 PM                10 HELLO_26092012-140226.log
09/26/2012  02:41 PM                10 HELLO_26092012-144127.log
09/26/2012  02:42 PM                10 HELLO_26092012-144204.log
09/26/2012  02:42 PM                10 HELLO_26092012-144211.log
09/26/2012  02:42 PM                10 HELLO_26092012-144213.log
09/26/2012  02:42 PM                 0 hello_timestamp.log
              13 File(s)         46,597 bytes
               2 Dir(s)  310,694,817,792 bytes free

D:\TESTT>echo %date%Sat 09/29/2012

D:\TESTT>type HELLO_26092012-140226.log >today.log

D:\TESTT>type HELLO_26092012-140226.log >today1.log

D:\TESTT>
D:\TESTT>echo %date%
Sat 09/29/2012

D:\TESTT>dir  |find "%date:~4,2%/%date:~7,2%/%date:~10,4% " |more
09/29/2012  02:28 PM    <DIR>          .
09/29/2012  02:28 PM    <DIR>          ..
09/29/2012  02:28 PM                10 today.log
09/29/2012  02:28 PM                10 today1.log


D:\TESTT> dir  |find "09/29/2012" |more
09/29/2012  02:28 PM    <DIR>          .
09/29/2012  02:28 PM    <DIR>          ..
09/29/2012  02:28 PM                10 today.log
09/29/2012  02:28 PM                10 today1.log

Usefull Commands on AIX for Oracle DBA.

Usefull Commands on AIX for Oracle DBA.

Displaying the top 10 CPU-consuming processes              
ps aux | head -1; ps aux | sort -rn +2 | head -10

Displaying the top 10 memory-consuming processes
ps aux | head -1; ps aux | sort -rn +3 | head

Displaying the top 10 memory-consuming processes using SZ
ps -ealf | head -1 ; ps -ealf | sort -rn +9 | head

Displaying the processes in order of being penalized          
ps -eakl | head -1 ; ps -eakl | sort -rn +5

Displaying the processes in order of priority              
ps -eakl | sort -n +6 | head

Displaying the processes in order of nice value              
ps -eakl | sort -n +7

Displaying the processes in order of time              
ps vx | head -1 ; ps vx | grep -v PID | sort -rn +3 | head -10

Displaying the processes in order of real memory use          
ps vx | head -1 ; ps vx | grep -v PID | sort -rn +6 | head -10

Displaying the processes in order of I/O              
ps vx | head -1 ; ps vx | grep -v PID | sort -rn +4 | head -10

Displaying WLM classes ( work load manager)              
ps -a -o pid,user,class,pcpu,pmem,args

Determining the PID of wait processes                  
ps vg | head -1 ; ps vg | grep -w wait

Wait processes bound to CPUs                      
ps -mo THREAD -p 516,774,1032,1290

Determining which processes are using the most real memory      
svmon -Pu -t 3|grep -p Pid|grep '^.*[0-9]'

Determining which processes use the most paging space          
svmon -gP -t 3 |grep -p Pid|grep '^.*[0-9]'

Displaying memory used by a WLM class                  
svmon -W shared

Finding out most utilized segments                  
svmon -S

Finding out what files a process or command is using          
svmon -pP

Finding out which segments use paging space              
svmon -gS
svmon -D sid (We can use the -D option to display frame information about each segment.)

Wednesday, May 11, 2016

ORA-1654: unable to extend index SYS.WRH$_BG_EVENT_SUMMARY_PK by 1024 in tablespace SYSTEM

ORA-1654: unable to extend index SYS.WRH$_BG_EVENT_SUMMARY_PK by 1024 in tablespace SYSTEM

While doing Datapump Import operation on RHEL 5.4 server everything went good but at the end of the job import operation experienced resumable wait with an error mentioned below.

ERROR:
ORA-01654: unable to extend index SYS.I_HH_OBJ#_COL# by 128 in tablespace SYSTEM
ORA-39171: Job is experiencing a resumable wait.

Solution :
Check the size and maxsize of the data files in the SYSTEM tablespace

SQL> select banner from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
CORE    11.2.0.2.0      Production
TNS for Linux: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 – Production

SQL> select file_name, bytes, autoextensible, maxbytes from dba_data_files where tablespace_name='SYSTEM';

SQL> select sum(bytes)/1024/1024 MB from dba_free_space  where TABLESPACE_NAME='SYSTEM';

The SYSTEM tablespace has no space to allocate any more in it then we increased the size of the SYSTEM’s data file then our problem got solved.

SQL> alter database datafile '<Path to datafile>' resize <larger size> ;

or

SQL> alter tablespace system add datafile '<path of datafile>' size 2g;

Workflow Notification Mailer Not Starting After Running AutoConfig With Errors: Unable to make a network connection OR java.lang.RuntimeException: Connection refused

Workflow Notification Mailer Not Starting After Running AutoConfig With Errors: Unable to make a network connection OR java.lang.RuntimeException: Connection refused

java.lang.RuntimeException: Connection refused

Error:

The Workflow Notification Mailer fails to start after having run AutoConfig, Patching, etc.
Sample errors that can be encountered:
oracle.apps.fnd.cp.gsc.SvcComponentContainerException: Could not start component; performing rollback -> oracle.apps.fnd.cp.gsc.SvcComponentException: Validation failed for the following parameters -> {OUTBOUND_SERVER=Unable to make a network connection.}
OR
[April 14, 2014 1:05:28 PM EST]:1327428328284:-1:-1:oracle.us.com:XXX.XXX.XX.XX:-1:-1:1:20420:SYSADMIN(0):-1:Thread[BES Dispatch Thread,5,main]:XXX.XXX.XX.XX:75957:1327428318189:104:ERROR:[SVC-GSM-WFMLRSVC-60934 : oracle.apps.fnd.cp.gsc.SvcComponentContainer.onBusinessEvent(BusinessEvent)]:java.lang.RuntimeException: Connection refused
at oracle.apps.fnd.wf.mailer.MailerUtils.isSocketConnectableNew(MailerUtils.java:300)
at oracle.apps.fnd.wf.mailer.SMTPUtils.isValidOutbound(SMTPUtils.java:522)
at oracle.apps.fnd.wf.mailer.Mailer.validateParameterValues(Mailer.java:1238)
at oracle.apps.fnd.cp.gsc.SvcComponent.performValidateParameterValues(SvcComponent.java:233)
at oracle.apps.fnd.cp.gsc.SvcComponent.start(SvcComponent.java:314)
at oracle.apps.fnd.cp.gsc.SvcComponentContainer.handleComponentEvent(SvcComponentContainer.java:2212)
at oracle.apps.fnd.cp.gsc.SvcComponentContainer.onBusinessEvent(SvcComponentContainer.java:301)
at oracle.apps.fnd.wf.bes.DispatchThread.run(DispatchThread.java:57)

Cause:

Recent AutoConfig execution, without reviewing the application context variables of the Workflow Mailer.
When there is a maintenance activity like autoconfig,patching,upgrade etc which run's the autoconfig, workflow parameter SMTP (Outbound Server) is overwritten by context file parameter s_smtphost,s_smtpdomain.  If the context file parameter s_smtphost,s_smtpdomain is not pointing to correct SMTP server name(by default s_smtphost contains the application node name as value),it will be overwrite with node name which is not the correct SMTP server name.

Solution:

1. AutoConfig can modify Workflow Mailer related settings through the following context variables:
s_javamailer_imaphost: Oracle Workflow Java Mailer IMAP Host.
s_javamailer_imapdomainname: Oracle Workflow Java Mailer domain.
s_wf_admin_role: Role name of the Oracle Workflow Administrator.
s_javamailer_reply_to: Oracle Workflow Java Mailer IMAP ReplyTo Address.
s_javamailer_imap_user: Oracle Workflow Java Mailer IMAP User Name.
s_javamailer_outbound_user: Oracle Workflow Java Mailer User Name to Authenticate Oracle Workflow Mailer against SMTP Server
s_smtphost: SMTP Server Host.
s_smtpdomainname: Fully Qualified Domain Name for the Email Server.
Please review the current settings of the above variables in the application context file, and set them properly, then re-run AutoConfig, and retest the issue.  To Avoid this issue happening again in future ie whenever maintenance activity like autoconfig,patching,upgrade etc,please update below context parameter with correct SMTP server name on all the application node context file.In 11i the context file will be $APPL_TOP/admin/_hostname.xml and in R12 $INST_TOP/appl/admin/_hostname.xml.

2. If the SMTP (Outbound) Server name in the mailer configuration page is incorrect, please correct SMTP servername with the teps below and retest the issue:

1. Go into Oracle Application Manager as the SYSADMIN user.
2. In the upper right corner of the screen next to "Navigate to", please select "Workflow Manager" from the drop down and select "Go".
3. Then in the lower left corner of the screen under Related Links, select "Service Components".
4. Select "Workflow Notification Mailer" and click on "Edit".
5. Enter the correct Outbound(SMTP) Server name and Apply the changes.
6. Bounce the mailer and retest.

Monday, May 9, 2016

Export And Importing The Metadata

Export And Importing The Metadata

Production database schema : SSSPP
Tables: DIMP
Test database schema: MNPS

Export the tables using the below statement in the production database.

export:
--------      
create a directory and give the read, write access with a schema

Example:

create directory datadir as '/u05/data/datadir';
grant read, write on directory datadir to ssspp;

expdp system/******* dumpfile=expdp.struct.ssspp.dmp directory=datadir logfile=expdp.ssspp.log tables=SSSPP.DIMP content=metadata_only job_name=metadata_expdp
or
vi expdp_metadata.par
dumpfile=expdp.struct.ssspp.dmp directory=datadir logfile=expdp.ssspp.log tables=SSSPP.DIMP content=metadata_only job_name=metadata_expdp
:wq!

expdp system/****** parfile=expdp_metadata.par

To check the status of the data pump job while running

SQL> select OWNER_NAME,JOB_NAME,STATE from dba_datapump_jobs where JOB_NAME ='METADATA_EXPDP';

Import the above dump file in the test database as below.

import:
-------
-Create a dummy schema with a name MNPS
-Create a directory and give the read, write access with a schema

Example:

create user mnps identified by **** default tablespace test;
grant connect, resource to mnps;
create directory datadir as '/u05/data/testdatadir';
grant read, write on directory datadir to mnps;

impdp system/****** dumpfile=expdp.struct.ssspp.dmp directory=datadir logfile=impdp.struct.ssspp.log  remap_schema=ssspp:dimp

or

vi impdp_metadata.par
dumpfile=expdp.struct.ssspp.dmp directory=datadir logfile=impdp.struct.ssspp.log remap_schema=ssspp:mnps

impdp system/****** parfile=impdp_metadata.par

Check the test database for the tables if they are created. And we can see that there will be no data found in those tables.

Test after import:
------------------
SQL> conn DIMP/DIMP
Connected.

SQL> select * from tab;

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
PRODUCT_FAMILY              TABLE
AUDIT                       TABLE
PRODUCTS                    TABLE
PRODUCT_TYPES               TABLE
SPNL                        TABLE
SALES_DIVISION              TABLE
PRODUCT_CONFIGURATIONS      TABLE
OWNED_DISTRIB               TABLE
LABELS                      TABLE
FRCST_PROD_TYPE             TABLE
DISTRIBUTION_CHANNELS       TABLE

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
DATES                       TABLE
CURRENCY                    TABLE
ARTISTS                     TABLE
SALES_TYPE                  TABLE
REPORTING_LABEL             TABLE
CALENDARS                   TABLE
PROJECTS                    TABLE
CUSTOMERS                   TABLE
CUSTOMER_DIGITAL            TABLE
CUSTOMER_PHYSICAL           TABLE

21 rows selected.

SQL> select count (*)  from CUSTOMER_PHYSICAL ;

 COUNT(*)
----------
        0

Content parameter: A content parameter is used to filter the export if only data is loaded or only

syntax:

CONTENT={ALL | DATA_ONLY | METADATA_ONLY}
ALL unloads both data and metadata. This is the default.
DATA_ONLY unloads only table row data; no database object definitions are unloaded.
METADATA_ONLY unloads only database object definitions; no table row data is unloaded.

Wednesday, May 4, 2016

Oracle E-Business Suite Mobile Apps - Diagnostics and Troubleshooting

Oracle E-Business Suite Mobile Apps - Diagnostics and Troubleshooting

Overview

This chapter describes how to enable logging and diagnostics features as well as how to troubleshoot possible issues from the mobile client and the server. It includes the following sections:

Enabling the Logging and Diagnostics Features

Troubleshooting Oracle E-Business Suite mobile apps involves the following high level options:
  • Server logging
  • Client logging
  • REST service auditing
To better understand these logging and auditing features, this section includes the following topics:

Enabling Server Logging

Oracle E-Business Suite mobile apps use the common logging and diagnostics features in Oracle E-Business Suite to enable the logging for REST services used by mobile apps. Once these features are enabled for Oracle E-Business Suite applications, administrators can use the log messages to diagnose and troubleshoot potential issues on the Oracle E-Business Suite server.
If a mobile app user reports a problem, an administrator can set the following Oracle Application Object Library (FND) profile options for that user to enable logging, control the logging level, and set the module for which logs are recorded. These profile options are also used if app users need to upload their client log files to the server.
  • FND: Debug Log Enabled (AFLOG_ENABLED)
  • FND: Debug Log Module (AFLOG_MODULE)
  • FND: Debug Log Level (AFLOG_LEVEL)
Note: Use the app-specific REST service module names to set the FND: Debug Log Module profile option. These module names are listed in Appendix B: Mobile App Module Names.
For information on enabling the logging and diagnostics features, refer to the Oracle E-Business Suite Maintenance Guide.
Retrieving Server Logs
To retrieve the server logs recorded for your mobile app, perform the following steps:
  1. Log in to Oracle E-Business Suite as the SYSADMIN user. Select the System Administrator (or System Administration) responsibility and choose the Oracle Applications Manager link and then the Logs link from the navigation menu.
  2. In the Search System Logs page, click the Advanced Search button.
  3. Enter the following information in the Advanced Search region:
    • User: Enter the mobile app user name.
    • Module: Enter the REST service module name of the mobile app.
  4. Execute the search to retrieve and download the desired server logs.

Enabling Client Logging

If a user of Oracle E-Business Suite mobile apps reports a problem when using the app, and Oracle Support requests client logs, the following profile options set on the server for the server logging are also required for the client logging. These profile options enable the log upload service invoked by the mobile app to provide the upload feature.
  • FND: Debug Log Enabled (AFLOG_ENABLED)
    Set this profile option to Yes to enable the debug logging.
  • FND: Debug Log Module (AFLOG_MODULE)
    • For Oracle E-Business Suite Mobile Foundation Release 2.1 and onwards, set this profile option to your Application Bundle Id.
      For information on Application Bundle Id for each mobile app, see Appendix C: Application Definition Metadata.
    • For Oracle E-Business Suite Mobile Foundation Release 2.0, set this profile option to "MOBILE".
  • FND: Debug Log Level (AFLOG_LEVEL)
    Set this profile option to the level of detail you want to record, such as STATEMENT.
Note that the same logging profile options are used to enable the server and client logging, as well as the REST service auditing. It is recommended that you use the following sequence when troubleshooting both server and client code at the same time.
  1. Turn on the server logging to obtain log statements written by REST services. For information on setting profile options for server logging, see Enabling Server Logging.
  2. Direct the app user to turn on diagnostics logging on the mobile client.
  3. Direct the app user to reproduce the issue that invokes the REST services.
    Log statements from the REST services should be recorded. However, the server cannot receive the client log file at this point.
  4. Set the profile options as described in this section for the user to receive the client log file.
    The client and server logging can happen at the same time when an issue is being reproduced. However, to upload the log file, the profile options should be changed to receive the log file after the issue is reproduced.
  5. Request the mobile app user to upload the log file from the mobile client to the server.
  6. Retrieve the REST service log statements based on the profile options set in step 1.
  7. Retrieve the mobile client log file uploaded based on profile options set in step 4.
Retrieving Client Logs
Direct mobile app users to perform the following steps to collect the logs from the mobile client:
  1. In the navigation menu of the mobile app, tap Settings and then the Diagnostics.
    In the Diagnostics screen, enable the client logging feature by turning on the Logging option.
  2. Return to the navigation menu and reproduce the reported issue.
  3. In the menu, tap Settings and then the Diagnostics again.
  4. In the Diagnostics screen, tap the Upload icon on the top right corner. This displays the upload screen where app users can upload the log files recorded for the app to the Oracle E-Business Suite server.
    the picture is described in the document text
  5. You can then download the uploaded log files from the Oracle E-Business Suite server.
    To retrieve client logs, follow the steps described in Enabling Server Logging. However, use the following search criteria to locate the client logs:
    • User: Enter the mobile app user name.
    • Module: Enter appropriate information based on the Oracle E-Business Suite Mobile Foundation release:
      • For Oracle E-Business Suite Mobile Foundation Release 2.0, enter "MOBILE" as the Module name.
      • For Oracle E-Business Suite Mobile Foundation Release 2.1 and onwards, enter your Application Bundle Id as the Module name.
        For information on Application Bundle Id for each mobile app, see Appendix C: Application Definition Metadata.
Please note that if the FND: Diagnostics profile option is enabled for a user, the complete error stack from the service invocation failure is displayed. Otherwise, only a simple error message is shown instead.

Enabling REST Service Auditing

Perform the following steps to enable auditing for REST service request and response payloads during the service invocation for Oracle E-Business Suite mobile apps:
Note: The REST service payloads can be logged for auditing only when the server logging is also enabled.
If the REST service auditing feature is not required, you can choose to enable the server logging only. See Enabling Server Logging.
  1. Set the FND: OA Framework REST Service Audit Enabled (FND_OAF_REST_LOG_ENABLED) profile option to Yes.
    This enables the REST service auditing feature. The default value is No.
  2. Set the following server logging profile options for the app users:
    • FND: Debug Log Enabled (AFLOG_ENABLED)
      Set this profile option to Yes to enable the debug logging.
    • FND: Debug Log Module (AFLOG_MODULE)
      Set this profile option to fnd.framework.rest.Auditing%, <other REST service modules as applicable>
      For example, to obtain logs for the Oracle Mobile Approvals for Oracle E-Business Suite app, set the profile option to the following: fnd.framework.rest.Auditing%, fnd.wf.worklist%
      To retrieve logs for auditing, follow the steps described earlier in Enabling Server Logging. However, use fnd.framework.rest.Auditing as the Module name instead of the module name of the app, along with the app user name as the search criteria to locate the logs.
    • FND: Debug Log Level (AFLOG_LEVEL)
      Set this profile option to at least the EVENT level in order for the auditing feature to work.
    If you want to use both logs and auditing to troubleshoot an issue with the underlying REST services, set the FND: Debug Log Level profile option to STATEMENT and set the FND: Debug Log Module profile option as described in this section.

Troubleshooting Tips

This section includes the following troubleshooting information on potential problem symptoms and corresponding solutions.
For information about each app's definition metadata that may help identify the app in various troubleshooting processes, see Appendix C: Application Definition Metadata.
If you contact Oracle Support about an app, specify the associated product name for that app. See Appendix E: Associated Products in My Oracle Support.

Troubleshooting Tips on the Mobile Client

This section describes the troubleshooting tips on the mobile client. It includes the following topics:

Directing Users to Obtain Connection Details and Initiate Server Updates

In Oracle E-Business Suite Mobile Foundation Release 2.1 or later releases, while trying to diagnose and troubleshoot issues encountered on the mobile client, you can direct users to obtain the server connection details from their mobile devices and check if any new updates from the server are required.
Perform the following steps to obtain the connection details and initiate server updates:
  1. In the navigation menu of the mobile app, tap Settings and then Connection Details. The Connection Details screen appears.
  2. The Connection Details screen displays the server URL field and the Server Configuration region.
    • Server URL field: This is the URL value entered by the mobile user during the initial launch of the app. This value is retrieved from the local database in the device.
      Please note that if the mobile user wants to reconfigure the app to a different Oracle E-Business Suite instance after the initial setup is complete, the user can change the server URL value by tapping the Change URLbutton. The app displays the device's Settings screen where the user can update the server URL directly.

      Note: When a user reconfigures an app from one Oracle E-Business Suite instance to another, the local preferences are completely removed. After the configuration, the user is required to set the preferences again.


      Note: The Change URL button is available in Oracle E-Business Suite Mobile Foundation Release 3.0 and onwards.
      To initiate the reconfiguration process in Oracle E-Business Suite Mobile Foundation Release 2.1, mobile users must manually navigate to the iOS device's Settings screen to update the URL value.

      the picture is described in the document text
      Additionally, the user can navigate to the device's Settings screen to change the server URL if desired:
      • From the iOS device's Settings screen, tap Settings, then App Name, and then Server URL.
      • From the Android devices with the app open, tap Settings, then Settings or Preferences, and then Server URL.
    • Server Configuration region: This region displays the parameter values in the configuration file downloaded from the server.
      • Last Updated: The date and time when the app was last updated.
      • Session Timeout: The number of seconds that a user can remain logged in to the app.
      • Idle Timeout: The number of seconds that the app can remain idle.
      • Service Endpoint: The value used to invoke Oracle E-Business Suite services. This value can either be the same as the server URL entered by the user, or a dedicated web entry point for this app.
      • Service Version: The internal version of the mobile services used by the app, obtained from the app's definition metadata. For example, 1.0.0.
  3. To check if any new updates from the server are required for the app, tap the Sync icon next to the Server Configuration region in the Connection Details screen. Direct users to follow the instructions on the mobile device to continue the updates from the server.
    For example, a user must restart the app to apply the updates if either one of the following attributes from the server is different from the value in the device:
    • service endpoint
    • authentication type (Oracle E-Business Suite Mobile Foundation Release 4.0 and onwards only)
    If only the timeout values need to be updated, the user can choose to continue using the app without restarting it immediately. In this case the updates will be applied the next time the app is launched.

Troubleshooting Tips for Oracle E-Business Suite Mobile Apps

The following table lists common issues that might occur while using Oracle E-Business Suite mobile apps as well as the corresponding solutions.
Troubleshooting Tips on the Mobile Client
IssueTip
When a user enters a server URL in a mobile device using HTTPS, if the SSL certificate is invalid or untrusted and cannot be recognized by the mobile app, the following error message may appear:
"Please enter a valid URL."
Ensure that your mobile app can perform a successful SSL handshake with the Oracle E-Business Suite SSL endpoint.
  1. Validate that the JDK 8 client can connect to the Oracle E-Business Suite SSL endpoint.
  2. Validate that the Oracle E-Business Suite SSL endpoint presents the complete certificate chain.

For validation instructions, see the detailed steps as described in Secure Communication with HTTPS.
For a list of root CAs trusted by the mobile client, see Migrating to New cacerts File for SSL in MAF 2.x.x, Oracle Mobile Application Framework Installing Oracle Mobile Application Framework.
For information on the Oracle MAF version required for your app, see Section 1: Oracle E-Business Suite Mobile Foundation Release Update History, Oracle E-Business Suite Mobile Foundation Release Notes, Oracle Support Knowledge Document 1642431.1.
After a user enters valid user credentials in the standard login screen, the app displays the loading indicator for a few seconds and then redirects the user back to the login screen.Ensure that the Server URL used by the user to configure the app matches the Oracle E-Business Suite web entry URL. Otherwise, Oracle E-Business Suite server might reject the REST requests from the mobile app which will result in redirecting the user to the login screen.
When a user initiates the check for updates process by tapping Settings from the mobile app navigation menu, then tappingConnection Details, and then tapping the Sync icon in the Connection Details screen, the user is redirected to the login screen. After logging in to the app, the user is taken to the default landing screen.
The same issue also occurs if a user tries to navigate to a different feature after the app has idle timed out, the user is redirected to the login screen. After the user logs in to the app, instead of taking the user to the desired screen before the timeout, the app redirects the user to the default landing screen.
To resolve the issue, apply the following patch for your release:
  • For Oracle E-Business Suite 12.1.3, apply patch 21643419:R12.FND.B
  • For Oracle E-Business Suite 12.2, apply patch 22046560:R12.FND.C

It is recommended that you apply this patch after the corresponding consolidated product family patch for your app to avoid the issue.
The configuration server URL is not accessible when tested from a web browser. An HTTP 404 error appears.
(For Oracle E-Business Suite Mobile Foundation Release 3.0 and earlier)
Verify that AutoConfig was run after you applied the appropriate consolidated patch for your Oracle E-Business Suite release.
After a user enters valid user credentials in the standard login screen after the configuration screen, the following error occurs:
The login server is not reachable.
The cause of the issue could be either that the HTTP server is down or the login server was not installed and set up during installation of the appropriate patch on your Oracle E-Business Suite server.
The URL for the login server used by mobile apps is in the following format: http(s)://<hostname>:<port>/OA_HTML/RF.jsp?function_id=mLogin
Please note that this is not a URL that the app users would enter or edit. It is constructed during the app setup and loaded to the mobile app through the configuration file. If this URL value is invalid in the configuration file, the users will not be able to log in to Oracle E-Business Suite.
Before allowing users to connect to Oracle E-Business Suite from mobile apps, ensure the right login server URL is set up in the configuration file described in Validating the Configuration.
Additionally, you can test the login server URL by copying the URL and pasting it in a web browser. A pop-up window should appear for user name and password. After you successfully enter valid user credentials, an XML response should appear with the following elements: accessToken, accessTokenName, ebsVersion, and userName.
A mobile user fails to log in to an app. When an administrator tests the standalone mLogin REST service by entering the URL http(s)://<hostname>:<port>OA_HTML/RF.jsp?function_id=mLogin or tests the configuration service URL http(s)://<hostname>:<port>OA_HTML/RF.jsp?function_id=mConfig&bundleId=<application bundle id>&file=ebs-mobile-config.xml, one of the following errors occurs:
Resource/rest NOT found
or
HTTP 500 Internal server error
Perform the following steps to resolve the issue:
  1. Verify if AOLJRestServlet exists in the following file:
    • For Oracle E-Business Suite Release 12.2.x, locate the servlet in the $OA_HTML/WEB-INF/web.xml file.
    • For Oracle E-Business Suite Release 12.1.3, locate the servlet in the INST_TOP/ora/10.1.3/j2ee/oacore/application-deployments/oacore/html/orion-web.xml file.
  2. If AOLJRestServlet does not exist, then verify if the app uses a custom template.
    • If a custom template is used, the custom template must be synchronized with the seeded templates. See Section 4.2: Implementing AutoConfig Customizations, My Oracle Support Knowledge Document 387859.1.
    • If a custom template is not used, continue to the next step.
  3. Run AutoConfig and ensure there is no error.
  4. Stop and restart the application tier server and then verify the issue.
After a user enters user credentials in the standard login screen after the configuration screen, the following error occurs:
Invalid username/password. If the problem persists, please contact your system administrator
To resolve the issue, ensure that the user enters a valid user name and password. Verify the user name is still valid in the system and reset the password if required.
After a user enters valid user credentials in the standard login screen after the configuration screen, the following error occurs:
One or more parameters downloaded from the server are invalid.
The same error can also occur after the user initiates the check for updates process by tapping Settings from the mobile app navigation menu, then tapping Connection Details and then tapping the Sync icon in the Connection Details screen.
This is due to invalid configuration data, such as invalid service endpoint, in the downloaded configuration file.
To resolve the issue, ensure that a valid service endpoint is specified in the Configure Mobile Applications page while setting up the mobile app.
After a user enters valid user credentials in the standard login screen after the configuration screen, the following error occurs:
An error occurred when downloading updates from the server.
The same error can also occur after the user initiates the check for updates process as described above.
To resolve the issue, ensure that there is no server or network connection issue.
After a user logs in to an app, while on the landing page of the app, the user leaves the device idle for a period of time beyond the value set in the Idle Timeout parameter (default value is 7200 seconds). When the user attempts to open the Springboard from the landing page, a blank page appears with a lock.This issue is a known limitation in Oracle MAF, where after the idle period exceeds the value set in the Idle Timeout parameter, when the user accesses the Springboard, the app does not automatically display the login screen.
To resolve the issue, close the Springboard and access other links in the landing page. The user should be redirected to the login screen.
A mobile user may find that the date and time information in the mobile device is different from that in the desktop pages.This difference occurs because the mobile app displays the time zone and date and time information based on the settings specified in the mobile client's Settings screen. Tap Settings, then General, and then Date & Time in the iOS mobile Settings screen or tap Settings and then Date & Time in the Android Settings screen to set your preferences.
After modifying the Server URL through the iOS mobile Settings screen (tap Settings, then App Name, and then Server URL) or the Android device's Settings screen (tap Settings, then Settings or Preferences, and then Server URL), the user closes and restarts the app. The app displays the page with the message "The server URL has changed.", but the Server URL field is blank.If the user removed the previous URL in the device settings but did not enter a new URL, then no value is shown for the Server URL field.
During the initial configuration of an app, after a mobile user enters a server URL and taps Get Started, the following error message appears:
Please enter a valid URL.
Ensure the server URL is valid by performing the following steps:
  1. Check if the user has entered http:// or https:// as appropriate for accessing your Oracle E-Business Suite server.
  2. Make sure that the user has entered the correct host name and domain.
  3. Make sure that the port number if used is valid.
During the initial configuration of an app, after a mobile user enters a server URL and taps Get Started, the following error message appears:
This mobile application is not currently configured on this server.
This message appears because the required Oracle E-Business Suite Mobile Foundation patches have not been applied on the Oracle E-Business Suite server to which the app is connecting.
Apply the patches described in Applying Prerequisite Patches in order for the user to proceed through the page where the server URL value is entered.
After a user enters valid user credentials in the standard login screen after the configuration screen, the following error occurs:
Configuration Error - This mobile application is not currently enabled on this server. Please close the application.
The app may be already configured but the status is set to "Disabled".
In order for the apps to successfully access the configuration files, set the status of the app to "Enabled". For information on configuring Oracle E-Business Suite mobile apps, see Configuring the Mobile Apps on the Oracle E-Business Suite Server.
After entering a new Server URL through the Connection Details page in Oracle E-Business Suite Mobile Foundation Release 3.0 or later releases, or through the mobile Settings screen (tap Settings, then App Name, and then Server URL from the iOS Settings screen or tap Settings, then Settings or Preferences, and then Server URL from the Android Settings screen), the user returns to the app. The app still connects to the previous Oracle E-Business Suite instance.After changing the server URL, the user must restart the app to initiate the reconfiguration flow.
A user taps Settings from the mobile app navigation menu, then taps Connection Details to display the Connection Details screen. However, the Sync icon is not shown.If the app is connected to Oracle E-Business Suite Mobile Foundation releases earlier than Release 2.1, the Sync icon is automatically hidden. This Sync icon is shown only if the server is configured for Oracle E-Business Suite Mobile Foundation Release 2.1 or later releases.
After a user enters valid user credentials in the standard login screen after the configuration screen, the following error occurs:
Configuration Error - This mobile application is not currently configured on this server. Please close the application.
(For Oracle E-Business Suite Mobile Foundation Release 2.1 or later)
This error indicates that the app's status is "Not Configured". This means the administrator has not yet configured the app with appropriate configuration parameters or has not completed a mandatory setup required to use the mobile app.
For information on setting the configuration parameters for your mobile app, see Configuring the Mobile Apps on the Oracle E-Business Suite Server.
After a mobile user enters a valid server URL in the Server URL screen, and then enters his or her user name and password in the login screen, the following message appears:
Configuration Error - This mobile application is not currently configured on this server. Please close the application.
(For Oracle E-Business Suite Mobile Foundation Release 2.0 only)
This message indicates that the app is unable to access the configuration service URL. Perform the following steps to resolve the issue:
  1. Verify if the configuration service URL is accessible through a web browser by performing the following steps:
    1. Construct the configuration service URL in the following format: http(s)://<hostname>:<port>/OA_HTML/config/<application bundle id>/connections.xml
      For the Application Bundle Id information for each mobile app, see Appendix C: Application Definition Metadata.
    2. Copy the configuration service URL you just constructed and paste it into a browser window. When prompted, enter the Oracle E-Business Suite user name and password. The browser loads the configuration file connections.xml. The file is loaded only if the app is configured and enabled on the server.
    3. Verify the content to ensure that the configuration file for your mobile app is valid, well-formed XML, and validate that the configuration parameter values are the same values as configured from the Mobile Applications Manager UI pages.
  2. Verify if the app is enabled by performing the following steps:
    1. Log in to Oracle E-Business Suite as SYSADMIN user. Select the Mobile Applications Manager responsibility and choose the Applications link.
    2. Search and locate your mobile app.
  3. Ensure the status of your app is set to "Enabled".

Troubleshooting Tips on the Oracle E-Business Suite Server

The following table describes common issues that might occur on the Oracle E-Business Suite server as well as the corresponding solutions.

Troubleshooting Tips on the Oracle E-Business Suite Server
IssueTip
After applying the appropriate patch for your Oracle E-Business Suite release, the Mobile Applications Manager responsibility is still not visible for SYSADMIN user by default.Perform the following steps to resolve the issue:
  1. Make sure the concurrent manager is running.
  2. Submit a concurrent request for the "Workflow Directory Services User/Role Validation" concurrent program (FNDWFDSURV).
    Ensure that you set the "Add missing user/role assignments" parameter to Yes. You can leave the other parameters set to the default values.
  3. Submit a concurrent request for the "Compile Security" concurrent program.
Users need to access the Mobile Applications Manager responsibility.The SYSADMIN user is granted the Mobile Applications Manager responsibility by default.
The SYSADMIN user can assign the responsibility to other users through the "Mobile Application Administrator" user role in User Management.
After you select the Mobile Applications Manager responsibility and the Applications link from the navigation menu and perform a search in the Search Mobile Applications page, no mobile applications are listed in the search result table.Ensure all the prerequisite patches required for your mobile apps are applied. If the desired applications still do not appear in the search result table, contact Oracle Support.
A configuration parameter such as Timeout was modified on the server and the configuration file is regenerated. The current app users do not have the parameters updated.In Oracle E-Business Suite Mobile Foundation releases earlier than Release 2.1, the configuration file is not updated to the client automatically when it is changed. To obtain the updated configuration file, users must uninstall the mobile app and then install it again.
In Oracle E-Business Suite Mobile Foundation Release 2.1 and onwards, a mobile user can initiate the server updates from the mobile device. See Directing Users to Obtain Connection Details and Initiate Server Updates.