John’s Oracle Experiences

My everyday experiences with Oracle products

Archive for December, 2008

How to search and apply your command history on SLES 10

Posted by John Paul van Helvoort on December 31, 2008

Probably the most easy way of getting command which are preformed in previous sessions is to use the “history” command / file.
To interactively use the same file you can use CTRL-R which will let you search the file from the command line and apply any found entry.

Here is how i use this, pres CTRL-R :

[mid101] xxx:oracle>
(reverse-i-search)`':

Now when trying to retrieve the last used export DISPLAY command, I can type in “ex”  which will show the last command found from the history file:

(reverse-i-search)`ex': export DISPLAY=10.0.0.9:0.0

Hit ENTER and your DISPLAY is once again set .

Easy and Handy !!

Posted in Linux | Leave a Comment »

The instance already exists in the configuration repository

Posted by John Paul van Helvoort on December 30, 2008

After de-registering a failed midtier 10.1.2.3.0 installation(using deconfig.pl) from my Infrastructure.
I tried to install it again using the same instance name (mid101) as before.
Everything looks okay up to the part where the installer Launches the configuration assistant ‘OC4J Instance Configuration Assistant’.
Here this nasty error appears :

oc4j error


Initializing DCM..ERROR: Caught exception while initializing DCM.
oracle.ias.sysmgmt.exception.PersistenceException: Base Exception:
The instance, "mid101.xxx.com" already exists in the configuration repository. The instance must have a unique name.
Resolution:
Remove or destroy the instance or choose a different name then retry the operation.
at oracle.ias.sysmgmt.persistence.DBTopology.createPersistenceInstance(Unknown Source)
at oracle.ias.sysmgmt.persistence.PersistenceCluster.createPersistenceInstance(Unknown Source)
at oracle.ias.sysmgmt.task.FarmManager.joinFarm(Unknown Source)
at oracle.ias.sysmgmt.task.TaskMaster.initRepository(Unknown Source)
at oracle.ias.sysmgmt.task.TaskMaster.(Unknown Source)
at oracle.ias.sysmgmt.task.InstanceManager.sysInit(Unknown Source)
at oracle.ias.sysmgmt.task.InstanceManager.init(Unknown Source)
at oracle.j2ee.tools.deploy.Oc4jDeploy.doDeploy(Unknown Source)
at oracle.j2ee.tools.deploy.Oc4jDeploy.execute(Unknown Source)
at oracle.j2ee.tools.deploy.Oc4jDeploy.deploy(Unknown Source)
at oracle.j2ee.tools.deploy.Oc4jDeploy.main(Unknown Source)

After some searching i found the solution to this just by following these steps :

Set your ORACLE_HOME to the infrastructure home.
Then preform the follwing steps :


D:\oracle\product\101\idm\dcm\bin>dcmctl listInstances
1
Instance name: idm101.xxx.com
Cluster:
Hostname: oasserver.xxx.com
Oracle Home: D:\oracle\product\101\idm

2
Instance name: mid101.xxx.com
Cluster:
Hostname: oasserver.xxx.com
Oracle Home: D:\oracle\product\101\mid

Here you can see that the name i want to use again is still know in the infrastructure.
We need to first cleanup this registration before we can re-register with the same name.

D:\oracle\product\101\idm\dcm\bin>dcmctl destroyInstance -i mid101.xxx.com

D:\oracle\product\101\idm\dcm\bin>dcmctl listInstances
1
Instance name: idm101.xxx.com
Cluster:
Hostname: oasserver.xxx.com
Oracle Home: D:\oracle\product\101\idm

D:\oracle\product\101\idm\dcm\bin>

Now we can hit the retry button so the installation can complete.

This is how i turned my Configuration assistant “OC4J Instance Configuration Assistant” failed into
Configuration assistant “OC4J Instance Configuration Assistant” succeeded !

Posted in Application Server | Leave a Comment »

-bash: /usr/bin/crontab: Permission denied

Posted by John Paul van Helvoort on December 30, 2008

By default de Oracle user has no priviledges to add cron jobs under SLES 10.
when trying to do so you will recieve an error which looks something close to this :

oracle@xxx:~> crontab -l
-bash: /usr/bin/crontab: Permission denied

The solution to this is to add the “trusted” group to the user oracle.
To so this , you can login as root and preform this command :

[]oracle@xxx:~> su
Password:
xxx:/ # usermod -G trusted oracle
xxx:/ # exit
[]oracle@xxx:~> crontab -l
-bash: /usr/bin/crontab: Permission denied

After have done so, you need to login with oracle again to let the changes work.

[]oracle@xxx:~> su - oracle
Password:
[]oracle@xxx:~> crontab -l
no crontab for oracle

You can now either use
[]oracle@xxx:~>crontab -e
(to add,remove or edit the oracle cron jobs)

Or use
[]oracle@xxx:~>crontab -l
(to simply list scheduled cron jobs foir the user oracle)

Posted in Linux | Leave a Comment »

A little short on swap space ?

Posted by John Paul van Helvoort on December 24, 2008

In some cases its handy to quickly be able to adjust your swap.
Here is a little trick i mostly use to do so.

First you can check your physical memory total :

grep MemTotal /proc/meminfo

To check your swap space total :

grep SwapTotal /proc/meminfo

So if you find yourself short in swap space , lets say for an Oracle installation.
You can safely expand your swap space like this

$>su - root
( You have to be root to be able to do this)

$>dd if=/dev/zero of=tmpswap bs=1k count=900000
( 900000 being 900 Megabytes )

$>chmod 600 tempswap

$>mkswap tempswap

$>swapon tempswap

Whenever you want to remove this extra swap space, use these commands :

$>su - root

$>swapoff tempswap

$>rm tempswap

Posted in Linux | Leave a Comment »

Installing OAS 10.1.2.0.2 on SLES 10

Posted by John Paul van Helvoort on December 24, 2008

After a successful installation of the OAS version 10.1.2.0.2 and patch it to 10.1.2.3 on my SuSE 10 SP2 server.
I noticed the reports was acting weirdly and the forms oc4j was constantly restarting.
The error which is thrown by the OC4J_BI_Forms process and looks like this ;

——–

08/12/18 09:29:16 Start process
——–
08/12/18 09:29:20 FormsServlet init():
    configFileName:     /u01/app/oracle/product/10.1.2/mid/forms/server/formsweb.cfg
    testMode:           false
08/12/18 09:29:20 Oracle Application Server Containers for J2EE 10g (10.1.2.3.0) initialized
08/12/18 09:29:37 ListenerServlet init()
08/12/18 09:29:46 java.lang.UnsatisfiedLinkError: /u01/app/oracle/product/10.1.2/mid/lib/librwu.so: /usr/X11R6/lib/libXm.so.2: undefined symbol: _Xsetlocale
08/12/18 09:29:46       at java.lang.ClassLoader$NativeLibrary.load(Native Method)
08/12/18 09:29:46       at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1586)
08/12/18 09:29:46       at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1511)
08/12/18 09:29:46       at java.lang.Runtime.loadLibrary0(Runtime.java:788)
08/12/18 09:29:46       at java.lang.System.loadLibrary(System.java:834)
08/12/18 09:29:46       at oracle.reports.util.EnvironmentGlobal.<init>(EnvironmentGlobal.java:30)
08/12/18 09:29:46       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
08/12/18 09:29:46       at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
08/12/18 09:29:46       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
08/12/18 09:29:46       at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
08/12/18 09:29:46       at java.lang.Class.newInstance0(Class.java:308)
08/12/18 09:29:46       at java.lang.Class.newInstance(Class.java:261)
08/12/18 09:29:46       at oracle.reports.util.EnvironmentUtility.getEnvironment(EnvironmentUtility.java:75)
08/12/18 09:29:46       at oracle.reports.server.RWServer.startServer(RWServer.java:529)
08/12/18 09:29:46       at oracle.reports.server.RWServer.run(RWServer.java:292)
08/12/18 09:29:46       at java.lang.Thread.run(Thread.java:534)

After searching metalink i found note 566991.1 which describes this problem.
The solution to this can be found by requesting a special rpm from Novell.

The downside of it is that you have to startover for it to work its magic.

As it turnsout the problem will not solve when you post apply this package to the yet installed system.
As novell did not yet published this rpm to the public its hard to get a hold of it.

So here is a link to the rpm we used to fix the problem

RPM for x86 32-bit machines:

openmotif21-libs-2.1.30MLI4-143.2.PTF.378190.0.i586.rpm

If you use a 64bit operating system, you will have to take the hard way by requesting this at Novell yourself.

Posted in Application Server | Leave a Comment »