ORA-00000: Some Days I wonder

I have to say I have been using the PUM now for several upgrades and patch sets and everytime I get a new image I end up beating my head against the wall trying to figure out little issues.

A common problem, I have seen is the initial load of the PUM is fine and if you only use it once you might never see any issues, however, on subsequent loads if you did not install the network connections configuration right, you might be in for a wild ride.

Today, I ran into an image that another person installed and when starting up the database and listener would not start, which means the web and app are going to be down as well. However, this one was even more special because I got some really odd errors including this one:

ORA-00000: normal, successful completion

Now maybe, I am a little dense but this is an error message, so why is it saying normal and successful completion and it is an error message. I found a few suggestions on my handy dandy Google search that suggested to look at the ORACLE_HOME, ORACLE_SID and ORACLE_BASE variables as well as to double check the hosts file. Well, before I start anything I usually have my ORACLE variables well in hand, so I checked the hosts file and found that all the references I had to localhost were not resolving because there was no entry in the hosts file. That seemed to resolve the situation so that the database would actually start, but I was still having major headaches because everything was pointing to localhost and localhost.localdomain and there was just a ton of resolution problems.

I ended up change the tnsnames.ora file which for an image is under the /etc/tnsnames.ora location the one under $ORACLE_HOME/network/admin has no effect. Once I changed the tnsnames.ora file and the listener.ora file to the actual ip address, I also added a local_listener variable to the init{SID}.ora file for the environment. This solved the database issues, however, I had to also hard code the IP address for the JSL (Jolt) for the application server in order to get it to start, and for some final insult to injury, I ended up re-installing the PIA in order to fix all the invalid references.

For working with the PUM, all database functions are under the user: oracle, all PeopleSoft functions are under the user: psadm2.
Jolt Port is: 9000, webserver http is: 8000, default pia site is: ps, and if you need the IP address assigned to the Virtual box image, when you log in as root, type: ifconfig

Happy upgrading and patching.

Oracle Database – Doesn’t Want To Listen

Oracle Database will typically initialize and running on the default ip address and port: 1521. However, since this is pretty common knowledge you may wish to change up the ports and/or ip address to force it listen somewhere else.

1) Modify the TNSNAMES.ora file to listen to the specific address and port that you want:
{DBNAME}=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST={IPADDRESS})(PORT={PORT})))(CONNECT_DATA=(SERVER=DEDICATED)(SID={ORACLE_SID})))

2) Modify (create) the LISTENER.ora file to listen to the specific address and port that you want:
my_listener=(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST={IPADDRESS})(PORT={PORT}))(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1522))))

3) Add the following line to the init{ORACLE_SID}.ora file to force it to listen:
LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST={IPADDRESS})(PORT={PORT}))’

Replace the {DBNAME}, {ORACLE_SID}, {IPADDRESS} and {PORT} variables. NOTE: this is just an example you may need to tweak this a bit for your specific environment. Restart the database and listener and you should be good to go! Not make sure that your firewall knows about the change otherwise you may cause things to break!

Oracle database 32bit to 64bit

I had a Oracle database built on a new environment, when I noticed that I had installed the 32bit database libraries instead of the 64bit.

So I installed the correct 64bit version of the Oracle database server, and I changed all the pointers to the 64bit version. I was able to start and stop the database without an issue, but when trying to access the database remotely, I got the following error:

ERROR:
ORA-06553: PLS-801: internal error [56327].

I found this solution:

shutdown immediate;
startup upgrade;
@$ORACLE_HOME/rdbms/admin/utlirp;
shutdown immediate;
startup;
@@$ORACLE_HOME/rdbms/admin/utlrp;

Oracle Database on RHEL 6.5 x86_64

When starting the install of Oracle Database Server there always seems to be a few items that either you are just suppose to know or you spend a day banging your head against the wall trying to figure out what you need to do to get the install up and running.

First item, is creating a database user and group for the install. Do this as the root user:

# groupadd -g 1001 oinstall
# groupadd -g 1002 dba
# useradd -u 1002 -g oinstall -G dba oracle
# passwd oracle

Next, you need to setup X11 forwarding. Modify the /etc/ssh/ssh_config file to allow forwarding: ForwardX11 yes. I personally use BitVise SSH Client and Xming in order to access my SSH environments. In the Xming client, I change the offset to 10 from the default of 0. In the SSH Client, enable X11 Forwarding and set it to 127.0.0.1:10. On the Unix box, install the xauth rpm using yum install xauth. Connect as the oracle user (or psoft) and create the xauthority file, command: xauth add 127.0.0.1:10 . 12345678900987654321123456789009 – you should be able to validate that x11 works by running xclock – if you see a clock, you are golden! If you see the error: Warning: Cannot convert string “” to type XftFont, do a yum install xorg-x11-fonts*

Firewalls can be a bit of a problem, and you will want to make sure that the iptables firewall allows the database to talk to machines that will be connecting to the database. In this example 10.100.120.10 is my application server connecting to the database server 10.100.120.20:

-A INPUT -s 10.100.120.10 -p tcp -m state –state NEW,ESTABLISHED -m tcp –dport 1521 -j ACCEPT
-A OUTPUT -s 10.100.120.20 -p tcp -m state –state ESTABLISHED -m tcp –dport 1024:65535 –sport 1521 -j ACCEPT

RPMs need to installed in order to make the install work correctly, you can manually do everything or you can automate the application by:

# cd /etc/yum.repos.d
# wget https://public-yum.oracle.com/public-yum-ol6.repo –no-check-certificate
# yum install oracle-rdbms-server-11gR2-preinstall
wget https://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle –no-check-certificate

RPM Libraries need to be installed in order to make the OUI work:
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
glibc-headers-2.5
ksh-20060214
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
sysstat-7.0.2

Oracle Database – Remote Logins

In order to allow remote logins into an Oracle database, you need to configure the database to use remote access, to do this you need to modify the init{sid}.ora file to have:

REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE

To create the password file, change to the ORACLE_HOME/dbs directory and run the orapwd program to create the remote access password file:

orapwd file=$ORACLE_HOME/dbs/orapw{sid} password={somepassword} entries=5