Pages

Friday, March 30, 2012

Compile Database Objects - 2

I have explained about compiling invalid objects in my earlier post for the db objects like packages, functions, views etc.
There are some object types that has a little different approach, specific to object types.
I will start with indexes.

Tuesday, March 27, 2012

"SP2-1503: Unable to initialize Oracle call interface" in Oracle 11g

Below error appears when we try to log in to 11g Database using sqlplus.

$ sqlplus '/ as sysdba'
SP2-1503: Unable to initialize Oracle call interface
SP2-0152: ORACLE may not be functioning properly

The issue does not appear when I logged in to a separate session and set environment like ORACLE_HOME and ORACLE_SID manually.

Thursday, November 17, 2011

ORA-17627: ORA-01017: during standby creation with RMAN

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 11/17/2011 07:38:34
RMAN-03015: error occurred in stored script Memory Script
RMAN-03009: failure of backup command on p1 channel at 11/17/2011 07:38:34
ORA-17629: Cannot connect to the remote database server
ORA-17627: ORA-01017: invalid username/password; logon denied
ORA-17629: Cannot connect to the remote database server

We need to see first the script we execute to create the standby.

As this is 11g, we have a feature that we can make a standby database using rman duplicate db, even when the backup of primary database is not available.

So to use that feature executed below RMAN commands on target server.

rman target / auxiliary sys/pass@STANDB
run
{
allocate channel p1 type disk;
allocate auxiliary channel sb1 type disk;
duplicate target database for standby from active database;
}
And this ended up with above error.

Two things to be checked in this case:

1. Simply try logging in to each of the database using service name from the other server.(remote login)
from standby - sqlplus sys/passs@PRIME
from primary - sqlplus sys/passs@STANDB

2. For executing this we have to connect both the databases using service name and if the target is connected as / then above error occurs.

Another error message will appear if we connect standby as /, but that states clearly to connect auxiliary database using service name.

So the right way of connecting using service name is

rman target sys/passs@PRIME auxiliary sys/pass@STANDB