Thursday, February 28, 2013

Oracle Database Source Control made easy using Red-Gate new tool

The Red Gate launching new tool “Source Control for Oracle tool” on March 12, 2013.

How this tool can help you…
  • Manual processes to script out database objects and check in them into SVN or TFS, can be time consuming and error prone. Source Control for Oracle automates scripting of objects and check-in to SVN or TFS.
  •  Developers and DBAs can see a history of objects that have been checked in to source control, when and by who. They’ll be able to see the check-in message and a side-by-side diff view of the creation script before and after check in, object by object.
  • Pending check-ins are indicated on the taskbar icon and within the tool to prompt developers to keep source control up-to-date.
  • If developers are working on private schemas or a dedicated instance they can see other team members’ changes to objects and apply these from source control to their schemas before working on them.
  • If developers are working on a shared database they can see all the objects that haven’t yet been checked in to source control. And a history of the objects that already have been, when, and buy who.
  • The side-by-side diff view (before checking in changes, updated a local instance, or when looking at the audit trail under History) means errors are easy to spot.
You can DOWNLOAD the Beta version from below link

Win a FREE 5 user license of Source Control for Oracle 

I’m giving away one five-user license of Source Control for Oracle by Red Gate Software. To enter the draw you need to do two things:

1. Like the page oracleRACexpert.comin Facebook before April 1st 2013

2. Using the comments section below, tell me your most painful experience which could have been easily avoided by using source control.

It doesn’t have to be a lack of database source control, it just has to be a story where, things could’ve been easier if you had the right source control tools.

On April 1st 2013 I’ll choose the best story and author will get a 5 user license of Source Control for Oracle.

Please make sure you comment under an account which I can use to get in touch with you if you make the top story. Particularly painful stories will earn extra points as will stories where the pain was generously shared with a larger team!

For Prize draw Terms and Conditions please visit below link

Wednesday, February 27, 2013

Java SQL Exception “No more data to read from socket” in Oracle

Application using JDBC fails with below error after upgrading your database from Oracle 9i to 10g.

JDBC Version to are affected with this issue.

java.sql.SQLException: OALL8 is in an inconsistent state.
at oracle.jdbc.driver.DatabaseError.throwSqlException(
at oracle.jdbc.driver.T4C8Oall.init(
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(
Caused by: java.sql.SQLException: No more data to read from socket at oracle.jdbc.driver.DatabaseError.throwSqlException(
at oracle.jdbc.driver.DatabaseError.throwSqlException(
at oracle.jdbc.driver.DatabaseError.check_error(
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(
at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(
at oracle.jdbc.driver.T4C7Ocommoncall.receive(
at oracle.jdbc.driver.T4CConnection.do_rollback(
at oracle.jdbc.driver.PhysicalConnection.rollback(

Cause:- The error is due to the published Bug 5851267.

This issue is caused by constraints used by the optimizer getting attempted to be used at run time when they should not. This issue is documented in Note:463899.1

You should see the following error in the trace file during the execution of the transaction

ORA-07445: Exception aufgetreten: CORE Dump [delrefi()+34] [SIGSEGV] [Address not mapped to object] [0x8] [] []

Solution: This issue has been fixed in

If you are running in 10g then you can apply the patch for Bug:5851267

you can use the following workaround to resolve the issue.

Set database parameter "_optimizer_join_elimination_enabled" to false. By doing this you can disable the elimination transformation.

SQL> alter session set “_optimizer_join_elimination_enabled”=false;

For more information refer below metalink notes
NOTE:463899.1 - ORA-7445 [Delrefi] Where Delete Occurs

Satishbabu Gunukula, Oracle ACE

Tuesday, February 26, 2013

Oracle GoldenGate: A Real-time Data integration & Heterogeneous replication tool

Now a day, the majority of businesses are facing below challenges

Availability - Data must be accessible at or near 24/7/365 without performance degradation or interruption
Rduced latency -  Data must remain up-to-date without latency. 
Heterogeneity and IT flexibility - Integration and replication across different IT systems.
Transaction integrity - Data completeness
Oracle GoldenGate provides the solution for all these challenges. It is a high performance software application for real-time transactional change data capture, distribution, transformation and delivery across heterogeneous.

Oracle GoldenGate 11g Release 2 offers below new features
  • Intelligent Conflict Detection and Resolution for Active-Active and Multi-Master implementations 
  • Integrated Capture to support all Oracle Database and Exadata compression types, as well as XML Object  Relational, XML Binary data types 
  • Expanded support for global deployments, including support for multi-byte and character set conversions 
  • Improved security with added support for Federal Information Protection Standard (FIPS) 
  • Enhanced manageability and monitoring utilizing Oracle Enterprise Manager 
  • Increased extensibility by taking defined actions based on an event record in the transaction log or in the Trail file. 
  • Expanded heterogeneity via: 
    • Log-based capture from IBM DB2 on i-Series (AS/400) 
    • Delivery to Postgres 
    • New data types supported for Microsoft SQL Server, Sybase, and MySQL 
    • Teradata multi-byte DDL support 
    • IBM z/OS improved initial load performance
  •  Certification for near zero downtime upgrade for Oracle Communications Billing and Revenue Management applications 
Oracle GoldenGate 11gR2 supports following scenarios
1. Zero-Downtime
2. Data Distribution
3. Disaster recovery and data protection
4. Query offloading.

Oracle GoldenGate also provides graphical monitoring tool for GoldenGate deployments and it consists of the following components:
Oracle GoldenGate Monitor Agent -  An Oracle GoldenGate Monitor Agent is installed on Oracle GoldenGate instance. It collects information of the instance and sends it to the Oracle GoldenGate Monitor Server.
Oracle GoldenGate Monitor Server - The Oracle GoldenGate Monitor Server coordinates the monitoring of multiple Oracle GoldenGate instances..
Oracle GoldenGate Monitor Repository - The Oracle GoldenGate Monitor Server uses a database as a central repository to store information about users and groups, process status, monitoring points, events, and other information.

Please visit the link: Oracle Management pack Key Features and Benefits for Oracle Golden Gate

Refer below links for Oracle GoldenGate Software, Installation Documentation, White papers & Best Practices
Satishbabu Gunukula, Oracle ACE

Oracle Database upgrade fails with error “UnsatisfiedLinkError exception loading native library: njni10”

We have received following error when trying to upgrade database from 10g R2 to Oracle 10g R2 using “dbua” (Database upgrade assistant) tool

ORAC> dbua
UnsatisfiedLinkError exception loading native library: njni10
Exception in thread "main" java.lang.UnsatisfiedLinkError: get
at Method)
at Source)
at Source)
at<init>(Unknown Source)
at oracle.sysman.assistants.util.NetworkUtils.<init>(
at oracle.sysman.assistants.util.step.StepContext.<init>(
at oracle.sysman.assistants.dbma.backend.CompManager.<init>(
at oracle.sysman.assistants.dbma.ui.UICompManager.<init>(
at oracle.sysman.assistants.dbma.Dbma.getCompManager(
at oracle.sysman.assistants.dbma.Dbma.execute(
at oracle.sysman.assistants.dbma.Dbma.statusMain(
at oracle.sysman.assistants.dbma.Dbma.main(

The server Operating system is recently upgraded to newer version and suspected the issue might be related to library relink and ran “relink all”.

The “relink all” failed with below errors.

/oracle/ORAC/102_64/lib//libcore10.a(slftmp.o): In function `SlfTmpnam':
slftmp.c:(.text+0x10): warning: the use of `tmpnam_r' is dangerous, better use `mkstemp'
/usr/bin/ld: crti.o: No such file: No such file or directory
collect2: ld returned 1 exit status
make[1]: *** [/oracle/ORAC/102_64/sysman/lib/] Error 1
make: *** [libnmemso] Error 2
/usr/bin/ld: crt1.o: No such file: No such file or directory
collect2: ld returned 1 exit status
make: *** [ctxhx] Error 1
gcc: unrecognized option '-h'
gcc: unrecognized option '-h'
gcc: unrecognized option '-h'
/usr/bin/ld: crt1.o: No such file: No such file or directory
collect2: ld returned 1 exit status
make[1]: *** [/oracle/ORAC/102_64/rdbms/lib/extproc32] Error 1
make: *** [extproc32] Error 2

Solution: Finally figured out that the issue is related to missing 32bit RPM "glibc-devel (32 bit)" and after installing the RPM the database upgraded successfully to Oracle 10g R2 10.2.04.

Satishbabu Gunukula, Oracle ACE

Oracle patch set install failed with error “ cannot open shared object file"

We have received below error when we are applying patch set (Oracle 10g R2) on REHL5.

Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2013-01-10_09-32-18AM/jre/1.4.2/lib/i386/ cannot open shared object file: No such file or directory occurred..
java.lang.UnsatisfiedLinkError: /tmp/OraInstall2013-01-10_09-32-18AM/jre/1.4.2/lib/i386/ cannot open shared object file: No such file or directory.”

Normally you will receive this error when 32bit libraries are missing. Before applying the patch make sure you have both 32bit and 64bit libraries are installed on the system as per Oracle recommendation.

Solution: Install missing 32bit RPM’s for libXt, libXp and libXtst

libXp 32bit
libXt  32bit
libXtst 32bit 

The 32bit RPM's should solve the problem. If you still see any issues then you might be missing other RPM's and  refer Oracle Documentation.

Satishbabu Gunukula, Oracle ACE

Monday, February 25, 2013

Oracle Premier, Extended and Sustaining Support Info

Oracle 10g R2 is going out of Extended Support by Jul 2013. It’s time to upgrade your database to 11g.

Many users not aware of Oracle product Lifetime support.  It is simple, predictable and flexible

Premier support usually ends 5 years after the release of a version. After ending the premier support, we can buy Extended support which covers next 3 years and we have to pay extra fee.

Please find the Extended Support fee.
  • Year 6 after product release: 10% of current year’s Software Update License & Support
  • Year 7 after product release: 20% of current year’s Software Update License & Support
  • Year 8 after product release: 20% of current year’s Software Update License & Support
Extended Support offers the following:
  • Updates, fixes and security alerts
  • Tax, legal and regulatory updates
  • Upgrade scripts
  • Technical support
  • Major product and technology releases
After ending the extended support, Sustaining Support kicks off but it does not include:
  • New updates, fixes, security alerts, data fixes, and critical patch updates
  • New tax, legal, and regulatory updates
  • New upgrade scripts
  • Certification with new third-party products/versions
  • Certification with new Oracle products
For more info please see the detailed benefits and key features comparison.

Satishbabu Gunukula, Oracle ACE

ORA-07445 exception encountered, ORA-04030 out of processes memrory

I have received below error on one of the 10gR2 database.

ORA-07445: exception encountered: core dump [kohfrem()+145] [SIGSEGV] [Address not mapped to object] [0x2B69FFFFFFF8] [] []

ORA-04030: out of process memory when trying to allocate 16408 bytes (koh-kghu sessi,pmucpkl kolctx)

If user or application running many jobs then the processes running the jobs may use an increasing amount of memory over time and the job queue process may fail with ORA-4030 errors.

In that case you might be hitting a bug 7715994 and refer below Metalink note
Bug 7715994 Memory leak / ORA-4030 when running many jobs
The bug has been fixed in After spending many hours I found below workaround
Work around: When running large numbers of jobs, restart the session occasionally.

If user or application using UTL_FILE package then you see a constant growth of memory & the heapdumps suggest "koh-kghu sessi" heap is growing as a part of allocating chunks marked with "pmucalm coll", then you might be hitting the bug 7197637.

Refer below metalink note

The affected Oracle versions with this bug are and and it is fixed in 11gR2.
Workaround: Do not open too many files.

NOTE that users might expose Bug 9928290 due to regression exposed in the bug fix 7197637 and it is advised to apply both patches to fix the issue. But patch 9928290 is available from version

If your database running in <= then you need to choose one of the below options.

1. Upgrade the database to (using patch 8202632) and apply patches 9928290, 7197637
2. Upgrade the database to PSU (using patch 9352164) and apply patches 9928290, 7197637

There are many bugs caused by this error. Check below metalink note for known bugs and possible actions in various versions

OERR: ORA 4030 "out of process memory when trying to allocate %s bytes (%s,%s)"

Please note that there are different errors across the various versions. I would recommend checking the Look-up Tool to find the Actual Cause and Possible solutions and contact Oracle Support.

ORA-600/ORA-7445/ORA-700 Error Look-up Tool [Article ID 153788.1]
Master Note for Diagnosing ORA-7445 and Related Core Dumps [Article ID 1092855.1]

Satishbabu Gunukula, Oracle ACE