Pages

Tuesday 27 March 2012

Installing Oracle Grid Infrastructure for a Standalone Server


Perform the following steps to install Oracle Grid Infrastructure on a stand alone server.

Oracle Grid Infrastructure installs Oracle Restart and Oracle ASM and you can configure Oracle ASM with at least one disk group during configuration. Once grid installation is completed,install Oracle Database that stores database files in Oracle ASM disk groups.

1.Go to software location and Start Oracle Universal Installer as the Oracle Grid Infrastructure software owner user(eg:Oracle).

2.Start the installer with the command
$ ./runInstaller

3.On the first screen of the installer, select Install and Configure Grid Infrastructure for a Standalone Server. Click Next.






4.On the Select Product Languages screen, select one or more languages.





5. On the CreateASMDiskGroup screen,The Create ASM Disk Group screen lists all the Oracle ASM disks.

Click Change Discovery Path to select any devices to be used by Oracle ASM.In the Change Disk Discovery Path window, enter a string to use to search for devices that Oracle ASM will use. Click OK. In our example, I selected path as "/dev/*"

    * Set Redundancy to Normal
    * Select the disks: /dev/sdb1, /dev/sdc1
    * Click Next







Note:During installation, disk paths mounted on Oracle ASM and registered on ASMLIB with the string ORCL:* are listed as default database storage candidate disks


6. On the Specify ASM Password page,

    * Select 'Use same passwords for these accounts'
    * Enter your password
    * Confirm the password
    * Click Next





When you get warning on weak password, click Yes.

7.  In the Privileged Operating System Groups screen, select the name of the operating system group you created for the OSDBA group, the OSASM group, and the database operator group OSOPER.

If you create only the dba group, then you can use that group for all three privileged groups.
If you created a separate asmadmin group, then use that value for the OSASM group. Click Next.

Note:These groups do not allow for job role separation. So a warning will appear. Click Yes



8.   On the Specify Installation Location page, the location of the database home will be shown

    * Set the Software Location to /u01/app/oracle/product/11.2.0/grid.
    * Set the Oracle Base to /u01/app/oracle
    * Click Next





9.select location for Inventory.



10. The Perform Prerequisite Check page appears and completes the checks.

Since the swap size and also some kernel parameters values were sufficient for testing purpose, I ignored the below errors. If it's for production, correct these errors and proceed.





On the Summary page, the installation settings are shown. Click Finish to complete the installation.

11. The setup page shows the install progress 


12. The Execute Configuration Scripts page asks you to execute a configuration script as the root user.

    * Open a terminal window.
    * connect as the root user.









Copy the script name from the Execute Configuration Scripts page into to the terminal window and execute it with root user.








13. When the script has completed, Click OK in the Execute Configuration Scripts page.




14.When the Finish page appears, with the message "The installation of Oracle Grid Infrastructure for single Server was successful", click Close 



Oracle ASMCA is installed as part of the Oracle Grid Infrastructure for a Standalone Server installation. To create additional disk groups, run the Oracle ASMCA utility as below.

Go to $GRID_HOME/bin and execute asmca as below
./asmca





To verify that the Oracle High Availability Service is installed properly, run ./crsctl check has command from Grid_home/bin directory.

[oracle@testdb bin]$ ./crsctl check has
CRS-4638: Oracle High Availability Services is online

To check the ASM. Connect to the ASM as below and check the diskgroup.

[oracle@testdb bin]$ . oraenv
ORACLE_SID = [oracle] ? +ASM
The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/grid is /u01/app/oracle
[oracle@testdb bin]$ sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.1.0 Production on Sun Mar 18 16:24:51 2012

Copyright (c) 1982, 2009, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Automatic Storage Management option

SQL> select name,type from v$asm_diskgroup;

NAME                           TYPE
------------------------------ ------
DATA                           NORMAL

Wednesday 21 March 2012

ORA-01031: insufficient privileges while connecting to database as sysdba

While I was trying to connect to the database, which was created recently, I was getting error as


#> sqlplus '/as sysdba'

SQL*Plus: Release 10.2.0.1.0 - Production on Wed Mar 21 02:52:18 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

ERROR:
ORA-01031: insufficient privileges


Enter user-name:
oracle@test.sangam /orasw/app/oracle/product/10.2.0/bin

Solution:


1. Check the  uid and gid of an oracle user. 

#> id oracle
uid=1014(oracle) gid=3005(oinstall) groups=100(users),3004(dba),3005(oinstall),8500(oemdba)

But the problem was db was created giving "users" as dbagroup.

You can check this in $ORACLE_HOME/rdbms/lib/config.c or $ORACLE_HOME/rdbms/lib/config.s file (depends on the OS type)

Eg:

#> cat config.c

/*  SS_DBA_GRP defines the UNIX group ID for sqldba adminstrative access.  */
/*  Refer to the Installation and User's Guide for further information.  */

/* IMPORTANT: this file needs to be in sync with
              rdbms/src/server/osds/config.c, specifically regarding the
              number of elements in the ss_dba_grp array.
 */

#define SS_DBA_GRP "users"
#define SS_OPER_GRP "users"
#define SS_ASM_GRP ""

char *ss_dba_grp[] = {SS_DBA_GRP, SS_OPER_GRP, SS_ASM_GRP};

Once file is updated, relink the oracle binaries as below
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
 $ORACLE_HOME/bin/relink all
writing relink log to: /oracle/product/11.2.0/install/relink.log


2.check the same thing exist in /etc/passwd file.

#> cat /etc/passwd |grep oracle
oraem:x:24872:8500::/opt/oracle/oraem:/bin/csh
oracle:x:1014:3005::/orasw:/usr/bin/ksh
root@test.sangam /orasw/app/oracle/product/10.2.0

3.Check the permissions of all oracle binaries.

4.Assign the "users" group gid to "oracle" by editing /etc/passwd file.

 #> cat /etc/passwd |grep oracle
oraem:x:24872:8500::/opt/oracle/oraem:/bin/csh
#oracle:x:1014:3005::/orasw:/usr/bin/ksh
oracle:x:1014:100::/orasw:/usr/bin/ksh
root@test.sangam /orasw/app/oracle/product/10.2.0

5. Now try to connect to the database. You would be able to connect to the database.


#> . oraenv
ORACLE_SID = [TESTDB] ?
oracle@test.sangam /orasw/app/oracle/product/10.2.0/bin
#> sqlplus '/as sysdba'

SQL*Plus: Release 10.2.0.1.0 - Production on Wed Mar 21 02:59:12 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup;
ORACLE instance started.

Total System Global Area 1073741824 bytes
Fixed Size                  2026224 bytes
Variable Size             272631056 bytes
Database Buffers          792723456 bytes
Redo Buffers                6361088 bytes
Database mounted.
Database opened.
SQL>


Thursday 15 March 2012

Error in invoking target 'client_sharedlib' of makefile '/u01/app/oracle/product/10.2.0.3/db_1/network/lib/ins_net_client.mk' while installing 10g database software

While installing oracle 10g software, It threw error as
"Error in invoking target 'client_sharedlib' of makefile '/u01/app/oracle/product/10.2.0.3/db_1/network/lib/ins_net_client.mk' "


Solution: Check the software you are using. Probably you are using 64 bit OS software for 32 bit operating system.

Tuesday 13 March 2012

ORA-00600: internal error code, arguments: [spstp: ORACLE_HOME uid does not match euid]

Recently, all databases went down because of uid of "oracle" user was changed by system admin. When I tried to bring up the database, got error as

04:02:31 SYS@MDMDV7>startup;
ORA-27121: unable to determine size of shared memory segment
Linux-x86_64 Error: 13: Permission denied
04:02:35 SYS@MDMDV7>exit


and in the alter log, the error was


Errors in file /orasw/app/oracle/admin/MDMDV7/bdump/diag/rdbms/mdmdv7/MDMDV7/trace/MDMDV7_w000_27702.trc  (incident=79650):
ORA-00600: internal error code, arguments: [spstp: ORACLE_HOME uid does not match euid], [1014], [54321], [], [], [], [], [], [], [], [], []
Incident details in: /orasw/app/oracle/admin/MDMDV7/bdump/diag/rdbms/mdmdv7/MDMDV7/incident/incdir_79650/MDMDV7_w000_27702_i79650.trc
Errors in file /orasw/app/oracle/admin/MDMDV7/bdump/diag/rdbms/mdmdv7/MDMDV7/incident/incdir_79650/MDMDV7_w000_27702_i79650.trc:
ORA-00600: internal error code, arguments: [spstp: ORACLE_HOME uid does not match euid], [1014], [54321], [], [], [], [], [], [], [], [], []
Process W000 died, see its trace file
Tue Mar 13 03:33:05 2012
Errors in file /orasw/app/oracle/admin/MDMDV7/bdump/diag/rdbms/mdmdv7/MDMDV7/trace/MDMDV7_w000_27708.trc  (incident=79658):
ORA-00600: internal error code, arguments: [spstp: ORACLE_HOME uid does not match euid], [1014], [54321], [], [], [], [], [], [], [], [], []
Incident details in: /orasw/app/oracle/admin/MDMDV7/bdump/diag/rdbms/mdmdv7/MDMDV7/incident/incdir_79658/MDMDV7_w000_27708_i79658.trc
Errors in file /orasw/app/oracle/admin/MDMDV7/bdump/diag/rdbms/mdmdv7/MDMDV7/incident/incdir_79658/MDMDV7_w000_27708_i79658.trc:
ORA-00600: internal error code, arguments: [spstp: ORACLE_HOME uid does not match euid], [1014], [54321], [], [], [], [], [], [], [], [], []

and file permissions were being shown as

drwxr-xr-x 2  54321 oinstall       4096 Feb 26 23:40 DXTRNSL
drwxr-xr-x 2  54321 oinstall       4096 Mar  6 05:29 D72000I1

oracle@sfogbu015.us.oracle.com /mdm_oradata_02



Solution:
1. Change the file permission to oracle user

chown -R oracle:oinstall data_file_folder

chown -R oracle:oinstall $ORACLE_BASE folder



2.reboot the server with root user

#> reboot
Broadcast message from root (pts/6) (Tue Mar 13 04:23:04 2012):

The system is going down for reboot NOW!

3.Bring up the databases now

#> sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.1.0 Production on Tue Mar 13 04:18:44 2012

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

04:18:47 SYS@MDMDV7>startup;
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size                  2220200 bytes
Variable Size             457183064 bytes
Database Buffers          603979776 bytes
Redo Buffers                5554176 bytes
Database mounted.
Database opened.


Monday 12 March 2012

How to check ORA Error on DB Server

To check ORA errors on database server itself, go to shell prompt and type as below.

oerr ora error_number

Eg:
$ oerr ora 00845
00845, 00000, "MEMORY_TARGET not supported on this system"
// *Cause: The MEMORY_TARGET parameter was not supported on this operating system or /dev/shm was not sized correctly on Linux.
// *Action: Refer to documentation for a list of supported operating systems. Or, size /dev/shm to be at least the SGA_MAX_SIZE on each Oracle instance running on the system.

Thursday 8 March 2012

How to Drop Database in Oracle 10g and onwards...


#> sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.3.0 Production on Thu Mar 8 23:22:42 2012

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


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

SQL> shut immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup restrict mount;
ORACLE instance started.

Total System Global Area 1603411968 bytes
Fixed Size                  2228784 bytes
Variable Size             402656720 bytes
Database Buffers         1191182336 bytes
Redo Buffers                7344128 bytes
Database mounted.
SQL> drop database;

Database dropped.

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>

Wednesday 7 March 2012

Oracle DBNEWID Utility


What Is the DBNEWID Utility

Prior to the introduction of the DBNEWID utility, you could manually create a copy of a database and give it a new database name (DBNAME) by re-creating the control file. However, you could not give the database a new identifier (DBID). The DBID is an internal, unique identifier for a database. Because Recovery Manager (RMAN) distinguishes databases by DBID, you could not register a seed database and a manually copied database together in the same RMAN repository. The DBNEWID utility solves this problem by allowing you to change any of the following:

Both the DBNAME and DBID of a database

Only the DBNAME of a database
Only the DBID of a database



Consequences of Changing the DBID and DBNAME

 When the DBID of a database is changed, all previous backups and archived logs of the database become unusable.You must open the database with the RESETLOGS option, which re-creates the online redo logs and resets their sequence to 1

Changing the DBNAME without changing the DBID does not require you to open with the RESETLOGS option, so database backups and archived logs are not invalidated. However, changing the DBNAME does have consequences. You must change the DB_NAME initialization parameter after a database name change to reflect the new name.

Changing the DBID and Database Name

The following steps describe how to change the DBID and database name.

1.Take the Database backup

2.Ensure that the target database is mounted but not open, and that it was shut down consistently prior to mounting. For example:

SHUTDOWN IMMEDIATE
STARTUP MOUNT


#> . oraenv
ORACLE_SID = [TESTDB1] ?
The Oracle base remains unchanged with value /orasw/app/oracle
oracle@slc00uzk.us.oracle.com /orasw/app/oracle/product
#> sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.3.0 Production on Wed Mar 7 22:21:19 2012

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


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

SQL> shut immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.

Total System Global Area 1603411968 bytes
Fixed Size                  2228784 bytes
Variable Size             402656720 bytes
Database Buffers         1191182336 bytes
Redo Buffers                7344128 bytes
Database mounted.
SQL>


3.Invoke the DBNEWID utility on the command line, specifying a valid user with the SYSDBA privilege

#> nid TARGET=SYS DBNAME=new_db_name

#> nid TARGET=SYS DBNAME=TESTDB2

DBNEWID: Release 11.2.0.3.0 - Production on Wed Mar 7 22:24:18 2012

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

Password:
Connected to database TESTDB1 (DBID=1076930572)

Connected to server version 11.2.0

Control Files in database:
    /test_oradata_01/TESTDB1/control01.ctl
    /test_oradata_01/TESTDB1/control02.ctl
    /test_oradata_01/TESTDB1/control03.ctl

Change database ID and database name TESTDB1 to TESTDB2? (Y/[N]) => Y

Proceeding with operation
Changing database ID from 1076930572 to 1999354907
Changing database name from TESTDB1 to TESTDB2
    Control File /test_oradata_01/TESTDB1/control01.ctl - modified
    Control File /test_oradata_01/TESTDB1/control02.ctl - modified
    Control File /test_oradata_01/TESTDB1/control03.ctl - modified
    Datafile /test_oradata_01/TESTDB1/system01.db - dbid changed, wrote new name
    Datafile /test_oradata_01/TESTDB1/SYSAUX.db - dbid changed, wrote new name
    Datafile /test_oradata_01/TESTDB1/UNDOTBS1.db - dbid changed, wrote new name
    Datafile /test_oradata_01/TESTDB1/tools01.db - dbid changed, wrote new name
    Datafile /test_oradata_01/TESTDB1/cists01.db - dbid changed, wrote new name
    Datafile /test_oradata_01/TESTDB1/user01.db - dbid changed, wrote new name
    Datafile /test_oradata_01/TESTDB1/xmldbts01.db - dbid changed, wrote new name
    Datafile /test_oradata_01/TESTDB1/temp01.db - dbid changed, wrote new name
    Control File /test_oradata_01/TESTDB1/control01.ctl - dbid changed, wrote new name
    Control File /test_oradata_01/TESTDB1/control02.ctl - dbid changed, wrote new name
    Control File /test_oradata_01/TESTDB1/control03.ctl - dbid changed, wrote new name
    Instance shut down

Database name changed to TESTDB2.
Modify parameter file and generate a new password file before restarting.
Database ID for database TESTDB2 changed to 1999354907.
All previous backups and archived redo logs for this database are unusable.
Database is not aware of previous backups and archived logs in Recovery Area.
Database has been shutdown, open database with RESETLOGS option.
Succesfully changed database name and ID.
DBNEWID - Completed succesfully.

Note: If validation is not successful, then DBNEWID terminates and leaves the target database intact, as shown below. You can open the database, fix the error, and then either resume the DBNEWID operation or continue using the database without changing its DBID

NID-00122: Database should have no offline immediate datafiles

Change of database name failed during validation - database is intact.
DBNEWID - Completed with validation errors.


4. Modify the parameter file and also password file if you are using password file.

Modify the below parameters

db_name = TESTDB2
instance_name = TESTDB2
service_names = TESTDB2


Rename init.ora file from initTESTDB1.ora to initTESTDB2.ora

Note: If you are using spfile, create spfile from pfile.

Reset the ORACLE_SID environment variable.


Note: If you don't modify the parameter file, you will get error as below


#> sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.3.0 Production on Wed Mar 7 22:28:26 2012

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup mount;
ORACLE instance started.

Total System Global Area 1603411968 bytes
Fixed Size                  2228784 bytes
Variable Size             402656720 bytes
Database Buffers         1191182336 bytes
Redo Buffers                7344128 bytes
ORA-01103: database name 'TESTDB2' in control file is not 'TESTDB1'


SQL> exit


#> . oraenv
ORACLE_SID = [TESTDB1] ? TESTDB2
ORACLE_HOME = [/home/oracle] ? /orasw/app/oracle/product/11.2.0.3
The Oracle base remains unchanged with value /orasw/app/oracle


4.Mount the database


#> . oraenv
ORACLE_SID = [TESTDB1] ? TESTDB2
ORACLE_HOME = [/home/oracle] ? /orasw/app/oracle/product/11.2.0.3
The Oracle base remains unchanged with value /orasw/app/oracle
oracle@slc00uzk.us.oracle.com /orasw/app/oracle/product/11.2.0.3/dbs
#> sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.3.0 Production on Wed Mar 7 22:42:29 2012

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup mount;
ORACLE instance started.

Total System Global Area 1603411968 bytes
Fixed Size                  2228784 bytes
Variable Size             402656720 bytes
Database Buffers         1191182336 bytes
Redo Buffers                7344128 bytes
Database mounted.

5.Open the database in RESETLOGS mode and resume normal use.

SQL> alter database open resetlogs;

Database altered.

SQL> select name,status from v$database,v$instance;

NAME      STATUS
--------- ------------
TESTDB2  OPEN

Make a new database backup. Because you reset the online redo logs, the old backups and archived logs are no longer usable in the current incarnation of the database.


To change DBNAME Only

Repeat the process as before except use the following command to start the DBNEWID utility.

nid TARGET=sys/password@old_db_name DBNAME=new_db_name SETNAME=YES



To change DBID Only

1.Backup the database.


2.Mount the database after a clean shutdown
SHUTDOWN IMMEDIATE
STARTUP MOUNT

#> sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.3.0 Production on Wed Mar 7 22:53:36 2012

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


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

SQL> shut immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.

Total System Global Area 1603411968 bytes
Fixed Size                  2228784 bytes
Variable Size             402656720 bytes
Database Buffers         1191182336 bytes
Redo Buffers                7344128 bytes
Database mounted.
SQL> exit


3. Invoke the DBNEWID utility (nid) using a user with SYSDBA privilege. Do not specify a new DBNAME.

nid TARGET=sys/password@db_name

#> nid TARGET=SYS

DBNEWID: Release 11.2.0.3.0 - Production on Wed Mar 7 22:54:09 2012

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

Password:
Connected to database TESTDB2 (DBID=1999354907)

Connected to server version 11.2.0

Control Files in database:
    /test_oradata_01/TESTDB1/control01.ctl
    /test_oradata_01/TESTDB1/control02.ctl
    /test_oradata_01/TESTDB1/control03.ctl

Change database ID of database TESTDB2? (Y/[N]) => Y

Proceeding with operation
Changing database ID from 1999354907 to 1999396119
    Control File /test_oradata_01/TESTDB1/control01.ctl - modified
    Control File /test_oradata_01/TESTDB1/control02.ctl - modified
    Control File /test_oradata_01/TESTDB1/control03.ctl - modified
    Datafile /test_oradata_01/TESTDB1/system01.db - dbid changed
    Datafile /test_oradata_01/TESTDB1/SYSAUX.db - dbid changed
    Datafile /test_oradata_01/TESTDB1/UNDOTBS1.db - dbid changed
    Datafile /test_oradata_01/TESTDB1/tools01.db - dbid changed
    Datafile /test_oradata_01/TESTDB1/cists01.db - dbid changed
    Datafile /test_oradata_01/TESTDB1/user01.db - dbid changed
    Datafile /test_oradata_01/TESTDB1/xmldbts01.db - dbid changed
    Datafile /test_oradata_01/TESTDB1/temp01.db - dbid changed
    Control File /test_oradata_01/TESTDB1/control01.ctl - dbid changed
    Control File /test_oradata_01/TESTDB1/control02.ctl - dbid changed
    Control File /test_oradata_01/TESTDB1/control03.ctl - dbid changed
    Instance shut down

Database ID for database TESTDB2 changed to 1999396119.
All previous backups and archived redo logs for this database are unusable.
Database is not aware of previous backups and archived logs in Recovery Area.
Database has been shutdown, open database with RESETLOGS option.
Succesfully changed database ID.
DBNEWID - Completed succesfully.

4.Mount the database

SQL> startup mount;
ORACLE instance started.

Total System Global Area 1603411968 bytes
Fixed Size                  2228784 bytes
Variable Size             402656720 bytes
Database Buffers         1191182336 bytes
Redo Buffers                7344128 bytes
Database mounted.


5.Open the database with resetlogs.

SQL> alter database open resetlogs;

Database altered.

SQL> select name,status from v$database,v$instance;

NAME      STATUS
--------- ------------
TESTDB2  OPEN




Friday 2 March 2012

"libXp.so.6: cannot open shared object file: No such file or directory" error while installing Oracle

We got below error while installing Oracle 10g on Oracle Enterprise Linux 5


libXp.so.6: cannot open shared object file: No such file or directory
While doing a fresh install of 11i vision on Oracle Enterprise Linux 5, RapidInstall gave the following error:

Rapid Install Wizard will now launch the Java Interface.....

Exception in thread "main" java.lang.UnsatisfiedLinkError: /11istage/startCD/Disk1/rapidwiz/jre/Linux/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(Unknown Source)
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        at sun.security.action.LoadLibraryAction.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)
        at sun.awt.DebugHelper.(Unknown Source)
        at java.awt.Component.(Unknown Source)

Solution:

This error comes because libXp.so.6 library is not present in /usr/lib.  The rpm which contains this file is libXp-1.0.0-8.i386.rpm.  It is present in the Oracle Enterprise Linux 5 DVD  in /server directory.  So copy this rpm from the DVD or CD and install it:

rpm -ivh libXp-1.0.0-8.i386.rpm

Once this is installed, confirm about the presence of the the file libXp.so.6 by this command:

$ ls -ld /usr/lib/libXp.so.6
lrwxrwxrwx 1 root root 14 Jul 29 06:45 /usr/lib/libXp.so.6 -> libXp.so.6.2.0