1 Dec

ORA-03113: End-of-file on communication channel

Applications typically connect to an Oracle service over a network using TCP/IP sockets. When that connection is lost, the application-side Oracle client software raises ORA-03113: End-of-file on communication channel. Essentially, this error indicates that the connection to the Oracle service has been lost.

The most common reason for losing the server connection is that the Oracle server process that was servicing the application has died. In Oracle, individual server processes can (and often do) die without the whole service (instance) failing.

The best way to troubleshoot ORA-03113 is to examine the Oracle instance for errors. The DBA should look for errors in the alert log indicating server process death. By addressing the errors that are crashing individual server processes, the overall problem can be solved.

If an application continues to try to make requests against a dead connection that has failed with ORA-03113, it will raise ORA-01041: Internal error. Hostdef extension doesn’t exist. or ORA-03114: not connected to ORACLE.

Example:

SQL> select * from emp;
select * from emp
                *
ERROR at line 1:
ORA-03113: end-of-file on communication channel

SQL> select * from emp;
ERROR:
ORA-03114: not connected to ORACLE

To view the last 100 lines of the alert log on the server, use ADR:

$ adrci

ADRCI: Release 11.2.0.2.0 - Production on Thu Dec 1 15:38:15 2011
ADR base = "/u01/app"

adrci> show homes
diag/tnslsnr/ip-10-100-255-165/listener
diag/rdbms/uw01/uw01

adrci> set home diag/rdbms/uw01/uw01
adrci> show alert -tail 100

Alternately, do it the old-fashioned way (on Linux or Unix):

$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Thu Dec 1 15:43:43 2011

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> show parameter background_dump

NAME				     TYPE	 VALUE
------------------------------------ ----------- -----------------------------------
background_dump_dest		     string	 /u01/app/diag/rdbms/uw01/uw01/trace

SQL> exit
Disconnected from Oracle Database 11g...

$ tail -100 /u01/app/diag/rdbms/uw01/uw01/trace/alert_uw01.log

30 Nov

ORA-06550: line %d, column %d:

The ORA-06550 error doesn’t tell you what is wrong, it tells you at which line and column in your PL/SQL code the error occurred. The error doesn’t mean much by itself. It is simply the catch-all Oracle error for PL/SQL (procedural SQL) exceptions. This error is almost always preceded by a different message stating the reason for the error.

Check the error that immediately precedes your first ORA-06550 error and concentrate on solving the problem it describes. Read the full article…

27 Nov

OurSQL Episode 67: HA and Replication

News/Feedback
Last week we talked about how we learn and keep up to date with changes to MySQL. Mark Grennan of mysqlfanboy.com posted his own list of MySQL resources.

Call for papers for Percona Live: MySQL Conference & Expo 2012 is open until Monday, December 5th. To submit a paper, first register as a speaker at http://www.percona.com/live/mysql-conference-2012/user/register and then go to My Account -> Submit Proposal.

read more

25 Nov

Using OSB Cloud Module with EC2 IAM

Oracle’s OSB Cloud Module allows you to backup to S3.  By default OSB Cloud Module will create buckets using generated names from your EC2 login. For example if your login is myaccount@gmail.com, your default buckets would be: oracle-data-myaccount-1 and oracle-log-myaccount-1.  If you already have buckets setup that you want to use and need to lock down permissions using EC2′s IAM feature, then you’ll need to do some extra work to change the bucket OSB uses and allow access.
Read the full article…

18 Nov

OurSQL Episode 66: Breaking the News Reels

In this podcast we talk about how to keep up with the MySQL ecosystem, and introduce a new segment. We invite you to let us know how you keep up, too. And we've updated our theme song!

News
The Meet the MySQL Experts podcast is now on iTunes. So now you can subscribe to the feedburner feed or to the iTunes feed.

Call for papers for Percona Live: MySQL Conference & Expo 2012 is open until Monday, December 5th. The MySQL Conference & Expo is Tuesday April 10 - Thursday, April 12, 2012 in Santa Clara, CA. To submit a paper, first register as a speaker at http://www.percona.com/live/mysql-conference-2012/user/register and then go to My Account -> Submit Proposal.

read more

11 Nov

OurSQL Episode 65: Security Blanket – The Missing Link

This week we have a big announcement about Sarah, 3 hosts and an extra special guest.

News
Call for papers for Percona Live: MySQL Conference & Expo 2012 is open until Monday, December 5th. The MySQL Conference & Expo is Tuesday April 10 - Thursday, April 12, 2012 in Santa Clara, CA.

To submit a paper, first register as a speaker at http://www.percona.com/live/mysql-conference-2012/user/register and then go to My Account -> Submit Proposal.

Main content
Previous podcasts about securing MySQL

read more

7 Nov

OurSQL Episode 64: Are We Normal Yet?

News
Call for papers for Percona Live: MySQL Conference & Expo 2012 is open until Monday, December 5th. The MySQL Conference & Expo is Tuesday April 10 - Thursday, April 12, 2012 in Santa Clara, CA. To submit a paper, first register as a speaker at http://www.percona.com/live/mysql-conference-2012/user/register and then go to My Account -> Submit Proposal.

Normalization
Book: An Introduction to Database Systems by CJ Date

read more

2 Nov

Oracle Secure Backups to S3 on 10g

If you are trying to install the Oracle Secure Backup Cloud Module for Amazon S3 on your Oracle 10g database, one thing you’ll notice right away is that you need version 1.5 or higher of the JDK. Oracle 10g ships with java 1.4, so here is what we did to get this installed

Read the full article…

31 Oct

RPM “multiple packages” oddity, fixed

I deal with all shipes and sizes, and distributions, of Linux. Each Linux distribution has quirks. Particularly with package management. There are some people who are religious about RPM (Redhat, Centos, Fedora, Suse, etc.) or APT (Debian, Ubuntu, etc). I see both good and bad points of each. In my daily tasks, I just want “Things to Work (TM)”. I had an interesting problem the other day that I found a solution for that I thought I would share.

The problem was on a server that I was trying to install Percona 5.5 on that already had a stock Centos MySQL 5.1 install. I need to uninstall the existing packages:

[root@host]# rpm -e mysql-5.0.77-4.el5_6.6
error: "mysql-5.0.77-4.el5_6.6" specifies multiple packages

Hmm, this is very odd. I’ve never seen this. There is a way to reveal exactly what the problem is:

[root@host]# rpm -q --queryformat "%{name}.%{arch}\n" mysql
mysql.x86_64
mysql.i386

Interesting! So, somehow, someone installed both the 64-bit and 32-bit versions of MySQL. Now that I know the exact error, I was able to remove each separately:

[root@host]# rpm -e mysql.x86_64

[root@host]# rpm -e mysql.i386

[root@host]# rpm -qa|grep mysql

Good, the problem is solved!

So, if ever you find yourself in this predicament, you know what to do. This also gives reason to perhaps to refer back to the RPM manual to find other useful tips.

29 Oct

OurSQL Episode 63: Snowing Already?

This week, Gerry Narvaja guest hosts and we talk about star and snowflake schemas, as a follow-up to last week's podcast on Data Warehousing 101.

News
FOSDEM has a call for papers open until Sunday, November 6th. FOSDEM is one of the largest free and non-commercial open source events, taking place in Brussels, Belgium on February 4th and 5th. There will be a Developer’s room that's near and dear to our hearts called "MySQL, MariaDB and friends".

read more