Tuesday, January 21, 2014

Oracle Apps public Vision Instances

Oracle Apps public Vision Instance

Reference: Oracle
You can access vision instance for FREE. No need to do any setups. You just need a browser!

Instance 1:
Public vision instance which does not require any CSI
http://demo.appshosting.com/OA_HTML/AppsLocalLogin.jsp
Username: operations
Password: welcome

Instance 2:
Another instance
http://www.biztech.com/services/vision-instance/

Instance 3: (Requires CSI)
http://vis1200.solutionbeacon.net/OA_HTML/AppsLogin

Important:

In order to access the environment, each new user will need to complete the Release 12 Vision User Registration form! You will need to supply an email address and a CSI# (Oracle Customer Identifier). When the form is submitted, your unique username/password will be generated automatically and will be emailed to the address provided. Once you receive the email, you will be able to login to the Vision environment and enjoy the same access levels as the default operations user.

Note:
You can access 11i instance also. Here is the link.
http://vis11510ext5.solutionbeacon.net/OA_HTML/DiagLogin.jsp

Workflow Related Metalink Notes

How To Troubleshoot Java-based Workflow Notification Mailer (Doc ID 242941.1)

Unable To Start Workflow Notification Mailer (Doc ID 418329.1)


How to Check Whether Notification Mailer is Working or Not (Doc ID 415516.1)


Workflow Notification Mailer Will Not Start (Doc ID 278427.1)

Workflow Notification Mailer Will Not Start (Doc ID 278163.1)

Notification Mailer Does Not Start, Remains In Status Starting (Doc ID 371830.1)


Unable To Make A Network Connection For IMAP Username/Password In Workflow Mailer Configuration [ID 784247.1]


Workflow Cannot Connect to IMAP Sever: "Unable to Make a Network Connection" [ID 577592.1]

Error Validation Error Has Occurred: Unable To Make A Network Connection During Mailer Setup [ID 834054.1]

How to Perform a Meaningful SMTP Telnet Test to Troubleshoot Java Mailer For Sending Email Notifications [ID 753845.1]

How to Troubleshoot 'Validation failed' Errors when Starting the Mailer [ID 463354.1]

Unable To Connect To The Mail Account. Check The Host, User Name And Password [ID 1123684.1]Workflow Mailer Will Not Start Stays In Starting Status [ID 837893.1]Mailer cannot Connect to IMAP Server on Oracle Applications R12.1.1 [ID 1300542.1]Java Mailer not Starting Error in Handling Component Event [ID 297725.1]Inbound Processing Is Not Happening While Approving/Rejecting From Emails [ID 418931.1]Unable To Start Notification Mailer After Upgrade To 10.2.0.3 [ID 725852.1]

AUTOPATCH ARGUMENTS

AUTOPATCH ARGUMENTS

apply Purpose: Tells AutoPatch whether to run in test mode.Default: y
driver Purpose: Tells AutoPatch the name of the patch driver file. This is usually used during non-interactive processing.
patchtop Purpose: Tells AutoPatch the top-level directory for the current patch. This is normally used during non-interactive processing. Values: A fully qualified directory name.
preinstall Purpose: Tells AutoPatch whether to run in pre-install mode. Pre-install mode is used to update AD utilities before an upgrade and to apply pre-upgrade patches.
uploadph Purpose: Tells AutoPatch to upload patch history information from the patch information files

AutoPatch Options

The options= argument is used to pass generic options to AutoPatch. It takes the form of a comma-separated list. Enter one option or a comma-separated list of options. For example, options=nocopyportion,nogenerateportion. As with AutoPatch arguments, there must be no space after the comma.

autoconfig Purpose: Tells AutoPatch to run AutoConfig automatically.Default: autoconfig
Use options=noautoconfig if you are applying a number of patches in sequence and want to run AutoConfig once, after applying the last patch of the sequence. The more common method is to merge the patches first with AD Merge Patch.
checkfile Purpose: Tells AutoPatch to either skip running EXEC, SQL, and EXECTIER commands if they are recorded as already run, or to record them as having run after running them. checkfile provides significant performance benefits.
compiledb Purpose: Tells AutoPatch to automatically compile invalid objects in the database after running actions normally found in the database portion of the driver. Use nocompiledb for standard patch translations, documentation patches, and documentation patch translations. Use options=nocompiledb to save time when multiple non-merged patches are applied in a maintenance window.
compilejsp Purpose: Tells AutoPatch whether to automatically compile out-of-date JSP files. JSP files are only compiled if the patch contains copy actions for at least one JSP file.compilejsp for standard patches. nocompilejsp for standard patch translations, documentation patches, and documentation patch translations.
Use options=nocompilejsp to save time when multiple non-merged patches are applied in a maintenance window.
copyportion Purpose: Tells AutoPatch whether to run commands normally found in the copy portion of the driver.
databaseportion Purpose: Tells AutoPatch whether to run commands normally found in the database portion of the driver.
generateportion Purpose: Tells AutoPatch whether to run commands normally found in the generate portion of the driver. Use options=nogenerateportion to tell AutoPatch not to perform generate actions of the driver.
hotpatch Purpose: Tells AutoPatch to apply a patch regardless of whether the Oracle E-Business Suite system is in Maintenance mode.Default: nohotpatch
integrity Purpose: Tells AutoPatch whether to verify that the version of each file referenced in a copy action matches the version present in the patch.Default: nointegrity, nointegrity is safe and avoids some AutoPatch overhead.
maintenancemode Purpose: Tells AutoPatch to enable Maintenance mode at the beginning of a patch session and disable it at the end (if patch application was successful). Default: nomaintenancemode
parallel Purpose: Tells AutoPatch whether to run actions that update the database in parallel (such as SQL) and actions that generate files in parallel (such as genform).
Default: parallel Comments: Oracle does not recommend changing the default, as Oracle E-Business Suite patches are tested on systems using parallel processing.
phtofile Purpose: Tells AutoPatch where to place patch history information after applying the patch.
Default: nophtofile. Use options=phtofile to tell AutoPatch to write patch history information to the patch information files in the file system ($APPL_TOP/admin/$TWO_TASK) instead of uploading it to the database. Comments: Using phtofile allows you to defer the uploading of patch history information to the database until after the system downtime. Use the adpatch uploadph=y command to upload patch history information from the patch information files (in $APPL_TOP/admin/$TWO_TASK) to the database during uptime.
validate Purpose: Tells AutoPatch whether to connect to all registered Oracle E-Business Suite schemas at the start of the patch. Use options=validate to validate password information for all Oracle E-Business Suite schemas. Comments: Useful for finding problems with incorrectly registered Oracle E-Business Suite schemas or schemas with invalid passwords.

Friday, December 20, 2013

Diagnosing and Resolving ORA-4030 errors

Diagnosing and Resolving ORA-4030 errors

What does an ORA-4030 mean?

This error indicates that the oracle server process is unable to allocate more memory from the operating system.This memory consists of the PGA (Program Global Area) and its contents depend upon the server configuration.For dedicated server processes it contains the stack and the UGA (User Global Area) which holds user session data, cursor information and the sort area. In a multithreaded configuration (shared server), the UGA is allocated in the SGA (System Global Area) and will not be responsible for ORA-4030 errors.

The ORA-4030 thus indicates the process needs more memory (stack UGA or PGA) to perform its job.

What causes this error?



Since you run into this error, you can't allocate memory from the operating system. This could be caused by your process itself, like your process is just requesting too much memory, or some other reasons cause the operating system memory to be depleted, like a too big SGA or too many processes to be accomodated for the systems virtual memory (physical memory + swap space). Many operating systems impose limits on the amout of memory a single process can acquire to protect itself.This leads to the following questions:


Which process is requesting too much memory?

Some operations will require lots of process memory like huge PL/SQL tables or big sort operations. In these cases, the processes will run for a certain period of time before getting the ora-4030 error, hopefully allowing us to find out where and why the memory is allocated. You can use the following query to find out oracle's idea of PGA and UGA size for the oracle processes.

SQL> col name format a30

SQL> select sid,name,value from v$statname n,v$sesstat s  where n.STATISTIC# = s.STATISTIC# and name like 'session%memory%' order by 3 asc;

How to collect information on what the process is actually doing

oracle server processes is responsible for the memory consumption. Remember it is not always the process getting the ORA-4030 that is responsible for the memory consumption. It happens to be the process not getting the memory it requests.

For processes steadily increasing their memory, we can have a look while it runs

You can check in v$sqlarea what is beeing executed with the following query:
SQL> select sql_text from v$sqlarea a, v$session s where a.address = s.sql_address and s.sid =;


General suggestions on avoiding this error

  1. Some operations just require a lot of memory. For sort issues, decreasing SORT_AREA_SIZE can help. The Oracle server process will allocate SORT_AREA_SIZE bytes in the PGA for sort operations. When more memory is required to complete the search, the server process will use a temporary segment. This means that lowering SORT_AREA_SIZE can have a performance impact on queries requiring huge sort operations.
  2. With 9i and higher, the automatic SQL execution memory management feature is enabled by setting the parameter WORKAREA_SIZE_POLICY to AUTO and by specifying a size of PGA_AGGREGATE_TARGET in the initialization file. Using automatic PGA memory management will help reduce the possibility of ORA-4030 errors. Please note that PGA_AGGREGATE_TARGET is NOT supported on OpenVMS in Oracle 9i, but it is in Oracle 10g.  Refer to the following notes for more details:

      "Performance Issues After Increasing Workload",
      "Automatic PGA Memory Managment",
     "Top Oracle 9i init.ora Parameters Affecting Performance"
  3. PL/SQL procedures can also allocate lots of memory, so it might be required to rewrite some parts of your application. While a PL/SQL table is easy to use, it does require memory to be allocated in the PGA.
  4. Review the optimizer strategy, some access paths might need more memory due to sort operations, the use of functions on more rows,...
  5. On some operating systems, like Microsoft windows, the size of the SGA might be decreased to allow bigger PGA's.
  6. Make sure your operating system and oracle limits are set reasonably.
  7. Make sure there is enough memory available (physical memory and swapspace)


What is an ORA-4030?
ORA-4030 indicates a limit has been reached with respect to the Oracle process private memory allocation.
Typical causes:
  • OS Memory limit reached such as physical memory and/or swap/virtual paging
  • OS limits reached such as kernel or user shell limits that limit overall, user level or process level memory usage
  • OS limit on PGA memory size due to SGA attach address as documented in unpublished Document:262540.1 - Relocate SGABEG on 64-bit Oracle
  • Oracle internal limit example unpublished Bug:3130972
  • Application design causing limits to be reached
  • Bug – space leaks, heap leaks

What is difference between 4030 and 4031?

An ORA-4030 error is an error in the PGA; Memory limitation related to an Oracle rdbms server process is reached. This includes the database background processes and oracle shadow processes that are spawned directly by the database or the listener.

An ORA-4031 error is an error in the SGA; Memory limitation in SGA component such as shared pool,large pool, java pool, streams pool is reached.

What are the contents of Program Global Area memory?

A Program Global Area (PGA) is a memory region that contains data and control information for a server process. It is a non-shared memory area created by Oracle when a server process is started. Access to it is exclusive to that server process and is read and written only by Oracle code acting on behalf of it. The total PGA memory allocated by each server process attached to an Oracle instance is also referred to as the aggregated PGA memory allocated by the instance.

Components of the PGA vary depending on how the database is configured. The PGA is comprised of four memory areas:
  • User Session Memory

    User session memory is the memory allocated to hold a session's variables (logon information) and other information related to the session. For a shared server, the session memory is shared and not private
  • Private SQL Areas - contains data such as bind information and runtime buffers

    A private SQL area contains data such as bind information and runtime memory structures. Each session that issues a SQL statement has a private SQL area. Each user that submits the same SQL statement has his or her own private SQL area that uses a single shared SQL area. Thus, many private SQL areas can be associated with the same shared SQL area.

    The private SQL area of a cursor is itself divided into two areas whose lifetimes are different:
    • The persistent area, which contains, for example, bind information. It is freed only when the cursor is closed.
    • The run-time area, which is freed when the execution is terminated.

    The location of a private SQL area depends on the type of connection established for a session. If a session is connected through a Dedicated Server, private SQL areas are located in the server process's PGA. However, if a session is connected through a Shared Server, part of the private SQL area (specifically, the peristent area) is kept in the SGA.

    The runtime area contains information used while the SQL statement is being executed. The size of the runtime area depends on the type and complexity of the SQL statement being executed and on the sizes of the rows that are processed by the statement. In general, the runtime area is somewhat smaller for INSERT, UPDATE, and DELETE statements than it is for SELECT statements, particularly when the SELECT statement requires a sort.

    Oracle creates the runtime area as the first step of an execute request. For INSERT, UPDATE, and DELETE statements, Oracle frees the runtime area after the statement has been executed. For queries, Oracle frees the runtime area only after all rows are fetched or the query is canceled.

    The location of a private SQL area depends on the type of connection established for a session. If a session is connected via a dedicated server, private SQL areas are located in the user's PGA. However, if a session is connected via the multi-threaded server, the persistent areas and, for SELECT statements, the runtime areas, are kept in the SGA.
  • SQL Work Areas

    The application developer of an Oracle precompiler program or OCI program can explicitly open cursors, or handles to specific private SQL areas, and use them as a named resource throughout the execution of the program. Recursive cursors that Oracle issues implicitly for some SQL statements also use shared SQL areas.

    The management of private SQL areas is the responsibility of the user process. The allocation and deallocation of private SQL areas depends largely on which application tool you are using, although the number of private SQL areas that a user process can allocate is always limited by the initialization parameter OPEN_CURSORS. The default value of this parameter is 50.

    A private SQL area continues to exist until the corresponding cursor is closed or the statement handle is freed. Although Oracle frees the runtime area after the statement completes, the persistent area remains waiting. Application developers close all open cursors that will not be used again to free the persistent area and to minimize the amount of memory required for users of the application.
  • Cursor and SQL Areas

    For complex queries (for example, decision-support queries), a big portion of the runtime area is dedicated to work areas allocated by memory-intensive operators such as the following:
    • Sort-based operators (order by, group-by, rollup, window function)
    • Hash-join
    • Bitmap merge
    • Bitmap create

    For example, a sort operator uses a work area (sometimes called the sort area) to perform the in-memory sort of a set of rows. Similarly, a hash-join operator uses a work area (also called the hash area) to build a hash table from its left input. If the amount of data to be processed by these two operators does not fit into a work area, then the input data is divided into smaller pieces. This allows some data pieces to be processed in memory while the rest are spilled to temporary disk storage to be processed later. Although bitmap operators do not spill to disk when their associated work area is too small, their complexity is inversely proportional to the size of their work area. Thus, these operators run faster with larger work area.

    In shared server mode, portions of the UGA are stored in the following:
    • Large pool if configured.
    • Shared pool if large pool is not configured.

    Note that as of 10g, the work areas controlled by PGA_AGGREGATE_TARGET are located in the PGA for shared servers. On 9i shared server work areas are defined by the *_area_size parameters and located in the sga.

Why do I see processes growing larger than the PGA_AGGREGATE_TARGET/MEMORY_TARGET/MEMORY_MAX/TARGET?

Parameter PGA_AGGREGATE_TARGET does not set a hard limit on pga size. It is only a target value used to dynamically size the process work areas.

It also does not affect other areas of the PGA that are allowed to grow beyond this limit. See below for explanation of process memory. The same is true for the MEMORY_* parameters. They are used to control the SGA and PGA size with PGA sizes controlled via dynamically calculated PGA_AGGREGATE_TARGET.

Can you control the size of a process?



As a database administrator you can control the size of a process within limitations. For example, you can configure certain database initialization parameters that affect the size of a process work area. If you choose, you can manually control the maximum size of SQL work areas by setting the following parameters: SORT_AREA_SIZE, HASH_AREA_SIZE, BITMAP_MERGE_AREA_SIZE and CREATE_BITMAP_AREA_SIZE. Setting these parameters is difficult, because the maximum work area size is ideally selected from the data input size and the total number of work areas active in the system. These two factors vary a lot from one work area to another and from one time to another. Thus, the various *_AREA_SIZE parameters are hard to tune under the best of circumstances.

With 9i and higher, you can automatically and globally manage the size of SQL work areas by specifying the total size dedicated to PGA memory for the Oracle instance by setting the initialization parameter PGA_AGGREGATE_TARGET. The specified number (for example, 2G) is a global target for the Oracle instance, and Oracle tries to ensure that the total amount of PGA memory allocated across all database server processes never exceeds this target. The key word in this statement is "tries". It is possible that PGA memory will grow beyond the "target".

The initialization parameter WORKAREA_SIZE_POLICY is a session- and system-level parameter that can be set to MANUAL or AUTO. The default is AUTO. You can switch back and forth between automatic and manual management of the work areas by setting PGA_AGGREGATE_TARGET and changing the WORKAREA_SIZE_POLICY parameter.

With PGA_AGGREGATE_TARGET, sizing of work areas for all dedicated sessions is automatic and all *_AREA_SIZE parameters are ignored for these sessions. Beginning with version 10 the PGA_AGGREGATE_TARGET is also applicable to shared server sessions.

At any given time, the total amount of PGA memory available to active work areas on the instance is automatically derived from the parameter PGA_AGGREGATE_TARGET. This amount is set to the value of PGA_AGGREGATE_TARGET minus the PGA memory allocated by other components of the system (for example, PGA memory allocated by sessions). The resulting PGA memory is then allotted to individual active work areas based on their specific memory requirement.

Keep in mind that the PGA_AGGREGATE_TARGET does not limit the amount of PGA memory usage. It is only a target and is used to dynamically size the process work areas. It does not affect other areas of the PGA that are allowed to grow beyond this limit.

There are certain areas of PGA that cannot be controlled by initialization parameters. Such areas include PL/SQL memory collections such as PL/SQL tables and VARRAYs, and local PL/SQL variables. Depending on the programming code and amount of data being handled these areas can grow very large (up to 20G internal limit on 10) and can consume large amounts of memory. This memory growth can be controlled by good programming practices. As an example, use LIMIT clause with BULK COLLECT.



Wednesday, December 18, 2013

Changes in R12 (12.2)

Changes in R12 (12.2)
1. Oracle E-Business Suite R12 (12.2) uses Oracle Fusion Middleware 11g R1 PS3 (11.1.1.4) including WebLogic 10.3.4 as its application server (Note: In previous version of R12 i.e. 12.0.X and 12.1.X this is 10g R3 i.e. 10.1.3.X). Oracle HTTP server in R12 (12.2) is 11.1.1.4 .

2. Oracle E-Business Suite R12 (12.2) uses Oracle Application Server 10g R3 (10.1.2.3) for Forms & Reports 
3. Default Database for Oracle E-Business Suite R12 (12.2) is 11g R2 (11.2.X) . (Note: In previous version of R12 i.e. 12.0.X, default database is 11.1 and 12.1.X, default database is 11.2)
4. Oracle JSP Compiler (OJSP) 10.1.3.5 (12.0.X and 12.1.X) is replaced by WebLogic JSP Compiler 11.1.1.4 in R12 version 12.2
5.Online Patching (OLP) introduced in Oracle Apps 12.2 , uses Oracle Database edition-based redefinition to reduce patch down time (more on edition-based redefinition coming soon). A secondary file system for application tier (in Apps R12 – 12.2) is introduced to support OnLine Patching (OLP) . (More on secondary file system in Apps R12.2 coming soon during 12.2 installation)
6. Oracle Apps R12.2 cloning will also support Fusion Middleware (11.1.1.4 – discussed in point 1) cloning. For standalone cloning of Fusion Middleware 11gR1 clickhere
7. Oracle Web Applications Desktop Integrator (Web ADI) in R12.2 is now certified with Microsoft Office 32-bit and 64-bit.
Step by step installation of Oracle E-Business Suite (Apps) R12.2 coming soon ..

AFTER OID integration we have couple of issues

AFTER OID integration we have  couple of issues as below:

ORA-20001: Unabled to call fnd_ldap_wrapper.update_user due to the following reason

There are scenarios where we face the below error while changing the password for a front end user in R12 or 11i where SSO is enabled.

Error:

Unabled to call fnd_ldap_wrapper.update_user due to the following reason:
ORA-20001: Unabled to call fnd_ldap_wrapper.update_user due to the following reason:
An unexpected error occured. Please contact System Administrator.. (USER_NAME=IAMUSER)

Cause:

This may occur due to wrong SSO registration or there may be chances of duplicate entries in the FND_USER table.

Solution:

Step 1.
Delete the USER_GUID in FND_USER for each user table by running the following
SQL> set server output on
SQL> @$FND_TOP/patch/115/sql/fndssouu.sql ;
 
example
SQL> set server output on
SQL> @$FND_TOP/patch/115/sql/fndssouu.sql  USER_NAME;

2. Get the user 'USER_NAME' to log-into EBS through the SSO homepage -> this will populate FND_USER table with the same GUID from OID.
Profile level option are must to be set before the login into SSO.

Note: Make Sure System Profile "Applications SSO Auto Link User" is set to "Y" at "Site" level

If the issue persists then we might be required to  de-register and register the SSO.

Wednesday, April 10, 2013

Problems and Solutions on CM

Problems: I hit the Restart button to start the Standard manager, but it still did not start? Solution: The ICM will start Standard Manager in the next process monitor session or the next time the ICM starts. Use Activate to start a manager immediately. When a manager is deactivated manually, the ICM will not restart it, you will need to set it to Restart, or activate it manually.
Problem: When you try to submit a request like Active users or Active responsibilities, request gets submitted. When we view the requests, you find that it is inactive / nomanager. Within 12 to 15 seconds, you refresh-it gets completed.
Solution: when this occurs where a request goes "inactive/no manager" and is then processed a short time later, the solution is to either increase the cache size for your Standard manger, or increase the actual number of Standard manager processes.
HELPFUL DIAGNOSTIC SCRIPTS
The following SQL scripts located under $FND_TOP/sql are useful when diagnosing concurrent manager problems:
afimchk.sql Tells the status of the ICM and PMON method
afcmstat.sql Lists active manager processes
afrqrun.sql Lists all the running, waiting and terminating requests
afrqwait.sql Lists requests that are constrained and waiting for the ICM to release them
afrqscm.sql Prints log file name of managers that can run a given request. It can be used to check for possible errors when a request stays in pending status. It requires a request id value.
afcmcreq.sql Prints the log file name of the manager that processed the request
afrqstat.sql Summary of completed concurrent requests grouped by completion status and execution type. It requires number of days prior to today on which to report parameter.
afimlock.sql Lists locks that the ICM is waiting to get
afcmrrq.sql Lists managers that currently are running a request