Grrrr, lost about one whole day trying to figure out a problem that is caused by 'improper' patch of SOA suite from 11.1.1.2.0 to 11.1.1.3.0.
Scouted the internet and found only one thread in OTN, but there is no answer to it other than people suggesting re-installing the whole SOA and re-apply patch from scratch.
The problem is highlighted here http://forums.oracle.com/forums/thread.jspa?threadID=1005454
How I got into this problem? Here is what I suspected.
After installing the package SOA suite 11.1.1.2.0, I created my domain with soa_server and bam_server. Played around with it, unable to start the managed servers. Googled around, realised that I had to apply the PS2. Downloaded, and patched.
After that, the problem occurs during soa_server1 startup. After a bit of digging, I suspect it is the old cache of ear and jar in some tmp folder have caused the problem. Cleaning up the cache appears to have caused the startup to throw out different sort of problem, which said 'unable to find ... in xxx ear'. After some more efforts, I finally throw in the towel and figured it would be more productive just to re-install the entire WLS, SOA suite and Jdev.
Summary of the typical sequence of steps of installation:
1) Oracle DB 11g R1
2) rcu 11.1.1.3.0
3) WLS 10.3.3
4) SOA Suite 11.1.1.2.0
5) SOA PS2 11.1.1.3.0
6) Jdeveloper 11.1.1.3.0
Everything works now.
Wednesday, June 30, 2010
Wednesday, June 16, 2010
Using Oracle Repository Creation Utility (RCU) to create Metadata Repository
The previous installation of Oracle Database 11g R2 on Ubuntu 10.04 (Lucid) was successful. This article shows you how to use oracle RCU (repository creation utility) to create metadata repository on this database instance.
Step 1 - Get the Sun JDK (if you haven't done so)
Step 1 - Get the Sun JDK (if you haven't done so)
Full instructions are available here http://www.ubuntugeek.com/how-install-sun-java-runtime-environment-jre-in-ubuntu-10-04-lucid-lynx.html. Note: If you don't wish to install a jdk right now, it is alright. You can still use the jdk that comes with rcu package. It is located under the jdk folder of rcuHome.
To install sun-jdk, do the following.
kj@oradb-lucid:~$ sudo add-apt-repository 'deb http://archive.canonical.com/ lucid partner'
kj@oradb-lucid:~$ sudo apt-get update
kj@oradb-lucid:~$ sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts
after the installation, voila...
kj@oradb-lucid:~$ java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
Step 2 - Get the RCU package from Oracle download site.
To install sun-jdk, do the following.
kj@oradb-lucid:~$ sudo add-apt-repository 'deb http://archive.canonical.com/ lucid partner'
kj@oradb-lucid:~$ sudo apt-get update
kj@oradb-lucid:~$ sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts
after the installation, voila...
kj@oradb-lucid:~$ java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
Step 2 - Get the RCU package from Oracle download site.
Get the package from here.
Unzip the archive to a temp folder in your $HOME. On my machine, it is /home/kj/temp.
Step 3 - Ensure environment variables are properly set
On my machine, they are
ORACLE_SID=orcl
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
JAVA_HOME=/usr/lib/jvm/java-6-sun
PATH=/u01/app/oracle/product/11.2.0/dbhome_1/bin:/usr/local/bin:/usr/bin:/bin
If your default shell is bash, you can add these entries into your .bashrc file located under your $HOME directory.
I have these in mine for both oracle and myself.
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export JAVA_HOME=/usr/lib/jvm/java-6-sun
PATH=$ORACLE_HOME/bin:$PATH
Step 4 - Start your oracle instance (if it hasn't been started)
Login as oracle user
kj@oradb-lucid:~$ su - oracle
Password:
oracle@oradb-lucid:~$
* Check the env variables. You should have all the required vars, else, ensure your have performed step 3.
Start sqlplus
oracle@oradb-lucid:~$ sqlplus / 'as sysdba'
SQL*Plus: Release 11.2.0.1.0 Production on Tue Jun 15 15:29:38 2010
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
Startup the database, it will mount and open if successful.
SQL> startup
ORACLE instance started.
Total System Global Area 431038464 bytes
Fixed Size 1337016 bytes
Variable Size 281020744 bytes
Database Buffers 142606336 bytes
Redo Buffers 6074368 bytes
Database mounted.
Database opened.
Quit the sqlplus
SQL> quit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Step 5 - start the listener using lsnrctl command
oracle@oradb-lucid:~$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 15-JUN-2010 15:35:12
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Starting /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.2.0.1.0 - Production
System parameter file is /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/oradb-lucid/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 15-JUN-2010 15:35:14
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/oradb-lucid/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
The listener supports no services
The command completed successfully
Note that the listener isn't listening to any service immediately after startup. Give your oracle instance sometime to register itself with the listener. Type lsnrctl status again to find out.
oracle@oradb-lucid:~$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 15-JUN-2010 15:37:20
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 15-JUN-2010 15:35:14
Uptime 0 days 0 hr. 2 min. 6 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/oradb-lucid/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
Step 6 - Ensure the system parameters values of the oracle instance meet the requirements.
The typical oracle 11g r2 installation should meet most of the requirements. RCU specifically requires processess to be 300 or more for WEBCENTER component. Other than this one, everything else works for me.
To alter the system parameter, connect to sqlplus as sysdba.
oracle@oradb-lucid:~$ sqlplus / as sysdba
Issue the following sql statement
SQL> ALTER SYSTEM SET processes=300 SCOPE=SPFILE;
restart the db
SQL> shutdown immediate
SQL> startup
Step 5 - Run the rcu
Go to the folder where you have untar'ed. My was $HOME/temp/. Change directory to the bin folder. The installation script is located in $HOME/temp/rcu/bin. You can run the installation script as yourself instead of as oracle because by default oracle won't have sufficient privilege on your $HOME folder.
kj@oradb-lucid:~$ ./rcu
Follow the instruction, enter the values as depicted in the screenshots of rcu here. You shouldn't face any problem during the installation as you have adjusted your DB system parameters.
The next step is to setup Oracle Weblogic Server that serves as the container for all Oracle SOA Suite components.
Good luck.
Unzip the archive to a temp folder in your $HOME. On my machine, it is /home/kj/temp.
Step 3 - Ensure environment variables are properly set
On my machine, they are
ORACLE_SID=orcl
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
JAVA_HOME=/usr/lib/jvm/java-6-sun
PATH=/u01/app/oracle/product/11.2.0/dbhome_1/bin:/usr/local/bin:/usr/bin:/bin
If your default shell is bash, you can add these entries into your .bashrc file located under your $HOME directory.
I have these in mine for both oracle and myself.
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export JAVA_HOME=/usr/lib/jvm/java-6-sun
PATH=$ORACLE_HOME/bin:$PATH
Step 4 - Start your oracle instance (if it hasn't been started)
Login as oracle user
kj@oradb-lucid:~$ su - oracle
Password:
oracle@oradb-lucid:~$
* Check the env variables. You should have all the required vars, else, ensure your have performed step 3.
Start sqlplus
oracle@oradb-lucid:~$ sqlplus / 'as sysdba'
SQL*Plus: Release 11.2.0.1.0 Production on Tue Jun 15 15:29:38 2010
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
Startup the database, it will mount and open if successful.
SQL> startup
ORACLE instance started.
Total System Global Area 431038464 bytes
Fixed Size 1337016 bytes
Variable Size 281020744 bytes
Database Buffers 142606336 bytes
Redo Buffers 6074368 bytes
Database mounted.
Database opened.
Quit the sqlplus
SQL> quit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Step 5 - start the listener using lsnrctl command
oracle@oradb-lucid:~$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 15-JUN-2010 15:35:12
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Starting /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.2.0.1.0 - Production
System parameter file is /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/oradb-lucid/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 15-JUN-2010 15:35:14
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/oradb-lucid/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
The listener supports no services
The command completed successfully
Note that the listener isn't listening to any service immediately after startup. Give your oracle instance sometime to register itself with the listener. Type lsnrctl status again to find out.
oracle@oradb-lucid:~$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 15-JUN-2010 15:37:20
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 15-JUN-2010 15:35:14
Uptime 0 days 0 hr. 2 min. 6 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/oradb-lucid/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
Step 6 - Ensure the system parameters values of the oracle instance meet the requirements.
The typical oracle 11g r2 installation should meet most of the requirements. RCU specifically requires processess to be 300 or more for WEBCENTER component. Other than this one, everything else works for me.
To alter the system parameter, connect to sqlplus as sysdba.
oracle@oradb-lucid:~$ sqlplus / as sysdba
Issue the following sql statement
SQL> ALTER SYSTEM SET processes=300 SCOPE=SPFILE;
restart the db
SQL> shutdown immediate
SQL> startup
Step 5 - Run the rcu
Go to the folder where you have untar'ed. My was $HOME/temp/. Change directory to the bin folder. The installation script is located in $HOME/temp/rcu/bin. You can run the installation script as yourself instead of as oracle because by default oracle won't have sufficient privilege on your $HOME folder.
kj@oradb-lucid:~$ ./rcu
Follow the instruction, enter the values as depicted in the screenshots of rcu here. You shouldn't face any problem during the installation as you have adjusted your DB system parameters.
The next step is to setup Oracle Weblogic Server that serves as the container for all Oracle SOA Suite components.
Good luck.
Tuesday, June 15, 2010
YAIG - Yet another Oracle Database 11g R2 on Ubuntu 10.04 (Lucid) Installation Guide
Rather than re-inventing the wheel, this is my experience installing the oracle database 11gR2 on a 'virgin' ubuntu 10.04 32bit guest OS on vmware workstation, using the steps found here http://www.pythian.com/news/13291/installing-oracle-11gr2-enterprise-edition-on-ubuntu-10-04-lucid-lynx/, which in turn was based on the good work done here http://www.pythian.com/news/2329/installing-oracle-11gr1-on-ubuntu-904-jaunty-jackalope/.
I have tested the steps and found the following additional works are needed. The installation of the guest OS has on the vmware workstation been 'vanila', accepted all default settings.
VM hardware configurations:
RAM = 1048MB (1024MB doesn't work, failed the oracle installer pre-req check)
Vdisk = 20GB
CPU = 1
Core = 1
Additional step 1 - Fix the swap space
Oracle installer complained that I do not have enough swap space. The default is only around 850MB while the doco says 1.5GB of swap space is required for RAM between 1GB to 2GB (section 2.2.1 Memory Requirements of Oracle database installation guide). To setup additional swap space, follow the instruction in http://www.cyberciti.biz/faq/linux-add-a-swap-file-howto/
How-To
# dd if=/dev/zero of=/swapfile1 bs=1024 count=1572864
note: 1.5GB = 1024MB + 512MB = 1536MB (1024 * 1536MB = 1572864 block size)
# mkswap /swapfile1
# swapon /swapfile1
to mount on startup, edit the fstab file
# vi /etc/fstab
add the following line
/swapfile1 swap swap defaults 0 0
reboot the system. Or simply run these commands in the said order.
# swapoff -a
# swapon -a
Additional step 2 - The run level
Bump up the runlevel from 2 to 3. The default run level for ubuntu is 2. According to the doco, run level 2 up to 5 in ubuntu are the same. This step is just to make the installer happy.
How-To.
Issue the following command as root.
# init 3
Additional step 3 - Kernel Parameters
The pre-req also fails one of the recommended kernel parameters. It seems that the installer is taking the required value literally even if the configured value is larger than the recommended ones.
It says:
This is a prerequisite condition to test whether the OS kernel parameter "ip_local_port_range" is properly set. (more details)
Expected Value
: between 9000 & 65500
Actual Value
: between 9000 & 65535
Obviously to make the installer happy again, we will need to change the /etc/sysctl.conf again.
Changing from
net.ipv4.ip_local_port_range = 9000 65535
to
net.ipv4.ip_local_port_range = 9000 65500
should suffice.
Additional step 4 - Limits
The same thing as in step 3 needs to happen to /etc/security/limits.conf
The pre-req statuses:
This is a prerequisite condition to test whether the hard limit for "maximum open file descriptors" is set to at least 65536. (more details)
Expected Value
: 65536
Actual Value
: 65535
This is a prerequisite condition to test whether the soft limit for "maximum open file descriptors" is set to at least 1024. (more details)
Expected Value
: 1024
Actual Value
: 1023
This is a prerequisite condition to test whether the hard limit for "maximum user processes" is set to at least 16384. (more details)
Expected Value
: 16384
Actual Value
: 16383
We need to fix all of that. It is weird, but the fix is easy. The root cause? I don't know.
oracle soft nproc 2047
oracle hard nproc 16384 #(was 16383)
oracle soft nofile 1024 #(was 1023)
oracle hard nofile 65536 #(was 65535)
Until you see a list of 'Failed' status with regards to missing package, you should be able to safely check the 'ignore' box and proce installation. They are ignorable as stated in the cvu_prereq.xml. (yeah, the standalone installation appears to be using the pre-req definition file which is part of the 'cluster verification utility')
My screen looked like this before I proceed with success.
Lastly, if you have elected to create a new database instance during installation and if you want to install RCU (repository creation utility) for the SOA suite on this instance, you must use AL32UTF8 as the character set encoding.
After the installation, you can try to startup the dbconsole. One of the internet forums also suggested that you need to change the emctl script (located in /$ORACLE_HOME/bin/) to use the bash shell, else you will see error like ulimit: 25: bad number if you attempt to start the dbconsole.
To start the Enterprise Manager, just type the following command as oracle user.
oracle@oradb-lucid:~$ emctl start dbconsole
For Oracle RCU installation on this database instance, please refer to this article.
Subscribe to:
Posts (Atom)