Monday, August 25, 2014

Script to knwo the pid when port number is known in Solaris 11

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

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