Finding Process ID (PID) using port number in solaris is not easy as Linux. If you are working on new services setup and would like to allocate some port, you got to check if that port is used by some other service. You can find out which process is using particular port in solaris by below tiny shell scripts.
Following scripts will prompt you to enter port number and it will use pfiles command internally to give you the pid.
======================================
#!/bin/ksh
line='---------------------------------------------'
pids=$(/usr/bin/ps -ef -o pid=)
if [ $# -eq 0 ]; then
read ans?"Enter Port Number To Know The pid: "
else
ans=$1
fi
for f in $pids
do
/usr/proc/bin/pfiles $f 2>/dev/null | /usr/xpg4/bin/grep -q "port: $ans"
if [ $? -eq 0 ]; then
echo $line
echo "Port: $ans is used by PID:\c"
pargs -l $f
fi
done
Monday, August 25, 2014
Saturday, August 23, 2014
Deinstalling Oracle Business Intelligence 11.1.1.7.0
Deinstalling Oracle Business Intelligence on a Single Computer
To deinstall an Oracle Business Intelligence system that was previously installed on a single computer, you deinstall all Oracle Business Intelligence and WebLogic Server components.
Deinstalling an Oracle Business Intelligence installation on a single computer involves the following tasks:
Run the deinstall script and select the Deinstall instances managed by a WebLogic domain option.
Stop all Oracle Business Intelligence processes and servers, including all OPMN-controlled components and JEE components.
Drop the Metadata Services (MDS) and Business Intelligence Platform (BIPLATFORM) schemas using RCU.
Run the deinstall script and select the Deinstall the Oracle home option.
Deinstall the Oracle Common home manually or by running the deinstall script that it contains.
Use the Oracle WebLogic Server uninstaller to uninstall WebLogic Server.
Remove the Oracle home (if necessary).
Remove the Middleware home and any other homes (Domain home, Applications home, and Instance home) that might have been installed outside of the Middleware home.
To begin the process of de
Tuesday, August 19, 2014
Solaris 10 - Increasing Number of Processes Per User
Solaris 10 - Increasing Number of Processes Per User
We came across this problem when working with one of the ISV application. We were simulating workload for performance tests and realized that the load simulation tool was generating 30000+ processes/LWP. The load siluation tools was running on UltraSPARC T2 based system with Solaris 10 and 32 GB RAM.
Looked up the resources on the web for increasing the number of processes on Solaris 10 system on PER UID. Came across couple of blog entries (Giri Mandalika, Spiralbound.net) which provided good starting point but were not complete solution to our problem. We needed to increase the number of processesper user to more than current setting of 30000
bash-3.00# ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
open files (-n) 260000
pipe size (512 bytes, -p) 10
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 29995
virtual memory (kbytes, -v) unlimited
Trying to increase the "max user processes" would fail with the following error:
bash-3.00# ulimit -u 50000
bash: ulimit: max user processes: cannot modify limit: Invalid argument
bash-3.00#
After going through the Solaris 10 Tunable Guide for Process sizing learned that there are 5 related parameters related to process sizing.
maxusers - The maximum number of processes on the system, The number of quota structures held in the system. The size of the directory name look-up cache (DNLC)
reserved_procs - Specifies the number of system process slots to be reserved in the process table for processes with a UID of root
pidmax - Specifies the value of the largest possible process ID. Specifies the value of the largest possible process ID. Valid for Solaris 8 and later releases.
max_nprocs - Specifies the maximum number of processes that can be created on a system. Includes system processes and user processes. Any value specified in /etc/system is used in the computation of maxuprc.
maxuprc - Specifies the maximum number of processes that can be created on a system by any one user
Looked at the current values for these parameter:
bash-3.00# echo reserved_procs/D | mdb -k
reserved_procs:
reserved_procs: 5
bash-3.00# echo pidmax/D | mdb -k
pidmax:
pidmax: 30000
bash-3.00# echo maxusers/D | mdb -k
maxusers:
maxusers: 2048
bash-3.00#
bash-3.00# echo max_nprocs/D | mdb -k
max_nprocs:
max_nprocs: 30000
bash-3.00#
bash-3.00# echo maxuprc/D | mdb -k
maxuprc:
maxuprc: 29995
So, in order to set the max per user processes in this scenario, we were required to make the changes to "pidmax" (upper cap), maxusers, max_nprocs & maxuprc
Sample entries in /etc/system & reboot
set pidmax=60000
set maxusers = 4096
set maxuprc = 50000
set max_nprocs = 50000
After making the above entries, we were able to increase the max user processes to 50000.
bash-3.00# ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
open files (-n) 260000
pipe size (512 bytes, -p) 10
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 49995
virtual memory (kbytes, -v) unlimited
bash-3.00#
bash-3.00# echo reserved_procs/D | mdb -k
reserved_procs:
reserved_procs: 5
bash-3.00# echo pidmax/D | mdb -k
pidmax:
pidmax: 60000
bash-3.00# echo max_nprocs/D | mdb -k
max_nprocs:
max_nprocs: 50000
bash-3.00# echo maxuprc/D | mdb -k
maxuprc:
maxuprc: 50000
bash-3.00#
Note: If you are operating within the 30000 limit (default pidmax setting) the blog entry referred above seems to work fine. If you are looking at increasing the processes beyond 30000, it we need to make adjustment to other dependent parameters stated in this blog entry.
How to count the number of processes running, in Linux
How to count the number of processes running, in Linux
ps aux | wc -l
The above command will count the number of processes running on your system by any user.
If you want to see only processes by a certain user with a username user1, you can use the following command:
ps -U user1 | wc -l
Now your other question, you want to count the number of processes run by httpd, that can be achieved using two commands:
ps -C httpd | wc -l
The above command can count the number of processes spawned by a command like httpd. Replace httpd with sshd or any other command!
Another way of doing this is to use the pgrep command.
pgrep httpd | wc -l
The pgrep command can be used to lookup running processes based on name, process ID and other attributes of a process like the user who created the process.
Monday, August 18, 2014
Error: "Executing Opmnctl Start Coreapplication_obiccs1 Failed" When Installing OBIEE 11g (Doc ID 1211149.1)
APPLIES TO:
Business Intelligence Suite Enterprise Edition - Version 11.1.1.3.0 [1905] and later
Information in this document applies to any platform.
***Checked for relevance on 05-Jun-2014***
SYMPTOMS
When Installing OBI EE 11g (11.1.1.3.0) the Installation fails with the following error displayed :
Modifying BI Configuration Files - Sucsess
Executing: opmnctl start coreapplication_obiccs1 - Failed
Executing: opmnctl start coreapplication_obis1 - Recommended
Executing: opmnctl start coreapplication_obips1 - Recommended
Executing: opmnctl start coreapplication_obijh1 - Recommended
Executing: opmnctl start coreapplication_obisch1 - Recommended
Modifying BI Configuration Files - Recommended
Step Executing opmnctl start coreapplication_obiccs1 failed
Configuration Action 'Executing: opmnctl start coreapplication_obiccs1' has failed. please check logs for details
Strep Executing 'opmnctl start coreapplication_obiccs1 failed
Executing Task: Executing: opmnctl start
*************** Trying to Start OPMN **************
*************** Executing Command **************
cmd /c C:\Temp\Opmn1283940377935.bat
***************************************************
C:\Temp>SET ORACLE_HOME=D:\FusionOBIEE\Oracle_BI1
C:\Temp>CALL "D:\FusionOBIEE\instances\instance1\bin\opmnctl.bat" start
opmnctl start: opmn is already running.
progress in calculate progress2
Executing Task: Creating BI Server System Components
oracle.as.config.ProvisionException: Failed to invoke Opmn reload.
at oracle.as.config.impl.OracleASComponentBaseImpl.reloadOpmn(OracleASComponentBaseImpl.java:967)
at oracle.as.config.impl.OracleASComponentBaseImpl.create(OracleASComponentBaseImpl.java:114)
at oracle.as.install.bi.biconfig.standard.SystemComponentTask.doExecute(SystemComponentTask.java:68)
at oracle.as.install.bi.biconfig.standard.AbstractProvisioningTask.execute(AbstractProvisioningTask.java:79)
at oracle.as.install.bi.biconfig.standard.StandardProvisionTaskList.execute(StandardProvisionTaskList.java:61)
at oracle.as.install.bi.biconfig.BIConfigMain.doExecute(BIConfigMain.java:110)
at oracle.as.install.engine.modules.configuration.client.ConfigAction.execute(ConfigAction.java:335)
at oracle.as.install.engine.modules.configuration.action.TaskPerformer.run(TaskPerformer.java:87)
at oracle.as.install.engine.modules.configuration.action.TaskPerformer.startConfigAction(TaskPerformer.java:104)
at oracle.as.install.engine.modules.configuration.action.ActionRequest.perform(ActionRequest.java:15)
at oracle.as.install.engine.modules.configuration.action.RequestQueue.perform(RequestQueue.java:63)
CAUSE
Tthe OBIEE Services do not start up again automatically during the installation process.
SOLUTION
This issue can be resolved by manually running the OPMNCTL Command in another Window: -
Start by running the 'opmnctl startall' command manually
Then run the 'opmnctl status' command intermittently to check if the Services are now up and running as expected.
The Installer should then continue to a successful completion once the OBI EE Services are up and running.
Run these commands as necessary: -
c:\MiddlewareHome\instances\instance1\bin> opmnctl startall
And to check its progress you can run this command:
c:\MiddlewareHome\instances\instance1\bin> opmnctl status
And if required (to start again) :
c:\MiddlewareHome\instances\instance1\bin> opmnctl stopall
Some additional useful information :
1) Having Database connectivity is essential when Installing and logging into the OBI EE Presentation Services so having the Database (and Oracle TNS Listener up, if applicable) running is very important. If you are having installation problems with 11g please ensure that your Database is up and running and canbe connected to by the BI Server machine.
2) Some installation issues can be caused by this known issue with your Windows configuration. Please review the OBI EE 11g Release Notes document : -
Section 53.2.8 Oracle BI Installer Stops at Administrator User Details Screen
"If you attempt to install on a Windows machine that is using DHCP, does not have a primary DNS suffix, and does not have a loopback adapter configured, then the Oracle BI installer will stop at the screen prompting for the Administrator user details. This appears as a red cross in the tree on the left hand side of the installer. This issue is caused by the installer not being able to resolve the IP address to a hostname.
The workaround is to configure a loopback adapter or primary DNS suffix"
http://download.oracle.com/docs/cd/E14571_01/relnotes.1111/e10132/biee.htm#CACEFIAG
OBIEE 11.1.1.7.131017 Bundle Patch Now Available
OBIEE 11.1.1.7.131017 Bundle Patch Now Available
A new bundle patch for Oracle Business Intelligence became available last week. This is OBIEE Bundle Patch 11.1.1.7.131017, and is available on the following platforms:
HP-UX Itanium
IBM AIX on POWER Systems (64-bit)
Linux x86
Linux x86-64
Microsoft Windows (32-bit)
Microsoft Windows (64-bit)
Oracle Solaris on x86-64 (64-bit)
It is applicable to all customers running OBIEE versions 11.1.1.7.0 and 11.1.1.7.1
Patch 17530796 - OBIEE BUNDLE PATCH 11.1.1.7.131017 (Patch) is comprised of the following patches, which are not available separately:
Patch 16913445 - Patch 11.1.1.7.131017 (1 of 8) Oracle Business Intelligence Installer (BIINST)
Patch 17463314 - Patch 11.1.1.7.131017 (2 of 8) Oracle Business Intelligence Publisher (BIP)
Patch 17300417 - Patch 11.1.1.7.131017 (3 of 8) Enterprise Performance Management Components Installed from BI Installer 11.1.1.7.0 (BIFNDNEPM))
Patch 17463395 - Patch 11.1.1.7.131017 (4 of 8) Oracle Business Intelligence Server (BIS)
Patch 17463376 - Patch 11.1.1.7.131017 (5 of 8) Oracle Business Intelligence Presentation Services (BIPS)
Patch 17300045 - Patch 11.1.1.7.131017 (6 of 8) Oracle Business Intelligence Presentation Services (BIPS)
Patch 16997936 - Patch 11.1.1.7.131017 (7 of 8) Oracle Business Intelligence Presentation Services (BIPS)
Patch 17463403 - Patch 11.1.1.7.131017 (8 of 8) Oracle Business Intelligence Platform Client Installers and MapViewer
You will also notice that the bundle patch is now named in a "YYMMDD" format; i.e. the fifth place now tells you when the patch was released. This calendar date numbering scheme has been initiated with the 11.1.1.7.131017 bundle patch.
As usual, please go through the Readme and other instructions before deciding upon an installation schedule and decision.
http://bi.abhinavagarwal.net/2013/10/obiee-11117131017-bundle-patch-now.html
Sunday, August 17, 2014
OBIA 11.1.1.7.1 Installation produces error: INST-07515 – oracle.bi.bishiphome is not found in the inventory (Doc ID 1566453.1)
OBIA 11.1.1.7.1 Installation produces error: INST-07515 – oracle.bi.bishiphome is not found in the inventory (Doc ID 1566453.1)
APPLIES TO:
Business Intelligence Suite Enterprise Edition - Version 11.1.1.7.0 and later
Information in this document applies to any platform.
SYMPTOMS
When installing OBIA 11.1.1.7.1 on OBIEE 11.1.1.7.0, the installation fails with the following error:
INST-07515 – oracle.bi.bishiphome is not found in the inventory
Tried the recommendations in forum but did not resolve the error
Verified that JAVA was 64bit and in the PATH
Verified that OBIEE installation was 64bit
OBIA is being installed with same user account used for installing OBIEE.
CAUSE
Inventory not found in the Oracle Home
SOLUTION
Changing the Oracle Inventory location resolved the error
Thursday, August 7, 2014
Configuring coherence for SOA 11g
Configuring coherence for SOA
Step 1 :By default youu have multicast configured in your setDomainEnv.sh. We recommend to remove the tangosol entries from that file, configure Coherence like this:
1.a : removing tangosol from setDomainEnv.sh ..
1.b : take a backup of setDomainEnv.sh
1.c : vi setDomainEnv.sh ..remove the entry tangosol …save the file ..
Step 2. Configuring Coherence.
2.a Contact network team and request them two create two virtual host …which point to the ip of the server where soa managed servers are installed .
cat /etc/hosts
172.30.15.145 SOATEST1VHN1.mof.local SOATEST1VHN1
172.30.15.146 SOATEST2VHN1.mof.local SOATEST2VHN1
2.b create two virtual host from wls console along with two channel 0 and 1 respectively
CLICK ON NEW AND CREATE Channel-0 AND Chaneel-1 RESPECTIVELY
Creating Chaneel-1
2.c Login to wls console click on soa server 1 .configuration .server –startup and give the below
- Log into the Oracle WebLogic Server Administration Console.
- In the Domain Structure window, expand the Environment node.
- Click Servers. The Summary of Servers page appears.
- Click the name of the server (WLS_SOA1 or WLS_SOA2, which are represented as hyperlinks) in Name column of the table. The settings page for the selected server appears.
- Click Lock and Edit.
- Click the Configuration tab, and then the Server Start tab.
- Enter the following for WLS_SOA1 and WLS_SOA2 into the Arguments field.
For WLS_SOA1, enter the following:
-Dtangosol.coherence.wka1=SOAHOST1VHN1
-Dtangosol.coherence.wka2=SOAHOST2VHN1
-Dtangosol.coherence.localhost=SOAHOST2VHN1
For WLS_SOA2, enter the following:
-Dtangosol.coherence.wka1=SOAHOST1VHN1
-Dtangosol.coherence.wka2=SOAHOST2VHN1
-Dtangosol.coherence.localhost=SOAHOST2VHN1
2.d http://download.oracle.com/docs/cd/E17904_01/core.1111/e12036/extend_bpmn.htm#SOEDG420
After doing this you need a full cluster reboot.
NOTE: Coherence is responsible for deploying application in a cluster environment.
ld.so.1: opmn: fatal: libmodapi.so: open failed
APPLIES TO:
Oracle Fusion Middleware - Version 11.1.1.2.0 and later
Oracle Solaris on SPARC (64-bit)
Checked for relevance on 22-Nov-2013
==========================================================================================
SYMPTOMS
After installing Oracle Fusion Middleware 11.1.1.2 on Sun Solaris 64-bit on SPARC, starting OPMN managed process using "opmnctl startall" fails with the following error:
opmnctl startall: starting opmn and all managed processes...
ld.so.1: opmn: fatal: libmodapi.so: open failed: No such file or directory
opmnctl startall: failed.
CHANGES
The environment variable LD_LIBRARY_PATH_64 was set before issuing "opmnctl startall" and it does not include $ORACLE_HOME/opmn/lib and $ORACLE_HOME/lib.
You can retrieve the current value of this environment variable using:
echo $LD_LIBRARY_PATH_64
===================================================================================
CAUSE
The command "opmnctl" invokes 64-bit binary $ORACLE_HOME/opmn/bin/opmn which has dynamic dependencies in following two directories:
$ORACLE_HOME/opmn/lib
$ORACLE_HOME/lib
On Solaris, LD_LIBRARY_PATH_64 and LD_LIBRARY_PATH environment variables affects the runtime linkers search for dynamic dependencies.
For 64 bit applications, LD_LIBRARY_PATH_64 overrides LD_LIBRARY_PATH setting.
Regardless of LD_LIBRARY_PATH setting, if LD_LIBRARY_PATH_64 is set and does not include $ORACLE_HOME/opmn/lib and $ORACLE_HOME/lib, opmn startup will fail.
==================================================================================
SOLUTION
There are two possible solutions:
Solution 1:
1.Unset the environment variable LD_LIBRARY_PATH_64.
2.Confirm that LD_LIBRARY_PATH_64 is unset, following command should not return any value:
echo $LD_LIBRARY_PATH_64
3.Start OPMN managed components using:
opmnctl startall
Solution 2:
1. Add $ORACLE_HOME/opmn/lib and $ORACLE_HOME/lib to beginning of LD_LIBRARY_PATH_64
export LD_LIBRARY_PATH_64=$ORACLE_HOME/opmn/lib:$ORACLE_HOME/lib:$LD_LIBRARY_PATH_64
2.Confirm that LD_LIBRARY_PATH_64 is set correctly using following command:
echo $LD_LIBRARY_PATH_64
3.Start OPMN managed components using:
opmnctl startall
Subscribe to:
Posts (Atom)