Architectural Changes (Oracle Database 10g to 11g Change)

posted Sep 24, 2010, 12:03 PM by Sachchida Ojha   [ updated Sep 24, 2010, 12:06 PM ]

Several architectural changes have been introduced in Oracle Database 11g compared to release Oracle Database 10g.

1. Apply Handler Modification Necessary for Handling New Error Messages that Replace ORA-1403 Errors

In Oracle Database 11g, customized DML and error handlers for Streams require modification to catch the additional Oracle errors ORA-26786 and ORA-26787 in place of the ORA-01403 No data found message.

An ORA-26787 error is raised if the row to be updated or deleted does not exist in the target table.

An ORA-26786 error is raised when the row exists in the target table, but the values of some columns do not match those of the LCR.


2. Name of processes

In Oracle Database 10g:

* Capture processes are called Cxxx and may use as many Parallel slave processes as required for capture parallelism.
* Apply processes are called Axxx and may use as many Parallel slave processes as required for apply parallelism.

In Oracle Database 11g

* Capture processes are called CPxx, with sub-processes named MSxx. No parallel slave processes are required for capture parallelism.
* Apply processes are called APxx, with sub-processes named ASxx. No parallel slave processes are required for apply parallelism.


3. Event monitor (EMON) name change


In Oracle9i Release 2 and Oracle Database 10g, the event monitor process (EMON) is a single process within the database.

In Oracle Database 11g, the event monitor process is now a set of processes consisting of a coordinator process (EMON) and four (4) subprocesses (E000, E001, E002, E003) on each instance of the database. Notification for events is performed at the originating instance of the event.

4. Propagation performed via Database Scheduler

The propagation job is created from the DBMS_PROPAGATION_ADM package. In Oracle9i Release 2 and Oracle Database 10g, the job is created as part of DBMS_JOB. In Oracle Database 11g, it is created as a job via DBMS_SCHEDULER. The job creation is transparent - but for monitoring the job, you need to know which job scheduler is used.

In Oracle9i Release 2 and Oracle Database 10g, Oracle Streams propagation jobs were performed via the JOB system (DBMS_JOB package, DBA_JOBS view).

Starting in Oracle Database 11g, Oracle Streams propagation jobs are performed via the Oracle Scheduler (DBMS_SCHEDULER package, DBA_SCHEDULER_JOBS view). Streams propagation jobs are managed using the DBMS_PROPAGATION_ADM package procedures start_propagation and stop_propagation.

After upgrading to Oracle Database 11g, Oracle Streams Advanced Queuing propagation jobs must be managed with the appropriate procedures from the DBMS_AQADM package (enable_propagation_schedule, disable_propagation_schedule, schedule_propagation, unschedule_propagation).
Comments