There are reporting programs and data updating programs that need to run either periodically, or on an ad hoc basis. These programs, which run in the background while users continue to work on other tasks are run using the Concurrent Processing architecture. Concurrent Processing is an Oracle E-Business Suite feature that allows these non–interactive and potentially long-running functions to be executed efficiently alongside interactive operations on a specialized server, the Concurrent Processing Server.
Processes that run on the Concurrent Processing server are called Concurrent Requests.
When you submit such a request, either through HTML-based or Forms-based applications, a row is inserted into a database table specifying the program to be run. A Concurrent Manager then reads the applicable requests in the table, and starts the associated concurrent program.
Read more...
Concurrent Processing Server
Database Link
What is a database link?
A database link is a pointer that defines a one-way communication path from one Oracle Database to another database. A database link allows local users to access data on a remote database.
The following link types are supported:
Private database link- belongs to a specific schema of a database. Only the owner of a private database link can use it.
Public database link- all users in the database can use it.
Global database link- defined in an OID or Oracle Names Server. Anyone on the network can use it.
Blocking Sessions
Cause:
Blocking sessions occur when one session holds an exclusive lock on an object and doesn't release it before another session wants to update the same data. This will block the second until the first one has done its work.
From the view of the user it will look like the application completely hangs while waiting for the first session to release its lock. You will often have to identify these sessions in order to improve your application performance to avoid as many blocking sessions as possible.
Solution:
The following query shows all the blocking sessions which can help you to identify the problem.
col WAIT_CLASS for a12;
select blocking_session,sid,serial#,wait_class,seconds_in_wait,status from v$session where blocking_session is not NULL order by blocking_session;
Read more...