The ArtOfBI.com Newsletter

Is stupid new and freshly informative on BI and EPM.

Save one little gremlin by not pouring water on its head.

Or, sign up for killer tips, tricks and other BI / EPM goodness delivered right to your inbox.

Hell just do both. Enter your email below.

Oh no what happened?
I already signed up.

BTW, Signing up gets rid of this annoying banner.

Cheers,
Christian & The ArtOfBi.com Team

Art of Business Intelligence > 11gtitle_li=Business Intelligencetitle_li=Linux

Archive | Linux

PKI-02002: Unable to open the wallet. Check password.

Working on a linux (OEL 5 Update 5) post install of Oracle BI 11.1.1.5 I had encountered the long system output error when starting the WebLogic Server which prevented it from starting.   Ultimately the solution to problem was to chmod the /tmp director so that the user starting up the AdminServer could read/write to some files that get thrown in the /tmp location.   However, this later caused a gnome issue issues which I will talk about later.  The resolution was to su to the root user and chmod 777 -R /tmp

That worked but the permission set may need to be set lower so if I were you I would try chmod 700 -R /tmp or even lesser permission at first and continue to increase privleges until it starts up.  I was to frustrated at that point to move back through that test cycle.

<jul 21, 2011 6:11:11 PM EDT> <notice> <log Management> <bea -170019> <the server log file /u01/FMW/user_projects/domains/bifoundation_domain/servers/AdminServer/logs/AdminServer.log is opened. All server side log events will be written to this file.>
Jul 21, 2011 6:11:14 PM oracle.security.jps.internal.credstore.ssp.CsfWalletManager openWallet
WARNING: Opening of wallet based credential store failed. Reason java.io.IOException: PKI-02002: Unable to open the wallet. Check password.
oracle.security.jps.service.credstore.CredStoreException: JPS-01050: Opening of wallet based credential store failed. Reason java.io.IOException: PKI-02002: Unable to open the wallet. Check password.
at oracle.security.jps.internal.credstore.ssp.CsfWalletManager.openWallet(CsfWalletManager.java:177)
at oracle.security.jps.internal.credstore.ssp.SspCredentialStore.doInit(SspCredentialStore.java:217)
at oracle.security.jps.internal.credstore.ssp.SspCredentialStore.<init>(SspCredentialStore.java:139)
at oracle.security.jps.internal.credstore.ssp.SspCredentialStore.</init><init>(SspCredentialStore.java:126)
at oracle.security.jps.internal.credstore.ssp.SspCredentialStoreProvider.getInstance(SspCredentialStoreProvider.java:114)
at oracle.security.jps.internal.credstore.ssp.SspCredentialStoreProvider.getInstance(SspCredentialStoreProvider.java:52)
at oracle.security.jps.internal.core.runtime.ContextFactoryImpl.findServiceInstance(ContextFactoryImpl.java:139)
at oracle.security.jps.internal.core.runtime.ContextFactoryImpl.getContext(ContextFactoryImpl.java:170)
at oracle.security.jps.internal.core.runtime.ContextFactoryImpl.getContext(ContextFactoryImpl.java:191)
at oracle.security.jps.internal.core.runtime.JpsContextFactoryImpl.getContext(JpsContextFactoryImpl.java:132)
at oracle.security.jps.internal.core.runtime.JpsContextFactoryImpl.getContext(JpsContextFactoryImpl.java:127)
at oracle.security.jps.internal.policystore.PolicyUtil$1.run(PolicyUtil.java:850)
at oracle.security.jps.internal.policystore.PolicyUtil$1.run(PolicyUtil.java:844)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.internal.policystore.PolicyUtil.getDefaultPolicyStore(PolicyUtil.java:844)
at oracle.security.jps.internal.policystore.PolicyDelegationController.</init><init>(PolicyDelegationController.java:291)
at oracle.security.jps.internal.policystore.PolicyDelegationController.</init><init>(PolicyDelegationController.java:284)
at oracle.security.jps.internal.policystore.JavaPolicyProvider.</init><init>(JavaPolicyProvider.java:270)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.loadOPSSPolicy(CommonSecurityServiceManagerDelegateImpl.java:1339)
at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.initialize(CommonSecurityServiceManagerDelegateImpl.java:1018)
at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:873)
at weblogic.security.SecurityService.start(SecurityService.java:141)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

Posted in 11g, Business Intelligence, LinuxComments (0)

OBI 11g Linux Start Up Best Practice

The whole idea of starting and stopping processes for OBI is nothing new.  Windows gets buy with a very simple system that most are familiar, but Linux can often pose as a challenge.  Since, I prefer to recommend Linux (*Nix) over Windows when it comes to OBI, especially with OBI 11g it is worth a quick post on automating the start-up of OBI 11g on a Linux box (modify this logic slightly in the next OBI 11g patch when UNIX is supported).

Getting down to it, as a best practice, I recommend starting all java and system components on boot of the server.  For a while there were arguments on whether to do this or not, but ultimately it boils down to maintaining as much of a hands-off approach as possible.  In the Linux world to launch the four (out-of-box) services that would be required to run OBI 11g, a user would basically need to log into the Linux OBI 11g server (or terminal in) to launch a terminal window for at a minimum of three of those components (WLS, WLS Node Manager, and OPMN). The fourth, the OBI Managed Server (handles the Java pieces), could be started from the WLS Admin Console which provides some benefit but it could also be started from a command line.  It should also go without saying, but I’ll state it any way, that the database containing the RCU created MDS and BIPLATFORM schemas should be up, pingable, and in good health before this script is launched.

Here is some basic script below to start your OBI 11g Linux environment on boot.  This is just the init.d script that you should copy, save to a linux text editor with a file name such as “OBI11gStartStop” (no extension) and load to the /etc/init.d/ directory, and load like any other init file. This blog post assumes that you have some familiarity with commands such as chkconfig as well as working with Linux directories and permission sets.

#!/bin/sh
# chkconfig: 345 99 8
# description: OBIEE11g and WLS auto start-stop script
#
# File is saved as /etc/init.d/obiee11gWLS
#
# Run-level Startup script for OBIEE

# set required paths
#export ORACLE_BASE=/u01/app/oracle
ORACLE_OWNR=obi11g
ORACLE_FMW=/u01/FMW
#export PATH=$PATH:$ORACLE_FMW

case "$1" in
'start')
echo -e "Starting Weblogic Server...."
su - $ORACLE_OWNR -c "$ORACLE_FMW/user_projects/domains/bifoundation_domain/startWebLogic.sh > /tmp/WLSStart.log 2>&amp;1 &amp;"
sleep 30
echo -e "Starting Node Manager..."
su - $ORACLE_OWNR -c "$ORACLE_FMW/wlserver_10.3/server/bin/startNodeManager.sh > /tmp/WLSNodeMgrStart.log 2>&amp;1 &amp;"
sleep 90
echo -e "Starting Managed Server: bi_server1..."
su - $ORACLE_OWNR -c "$ORACLE_FMW/user_projects/domains/bifoundation_domain/bin/startManagedWebLogic.sh bi_server1 http://OBI11G:7001 > /tmp/WLSMgdSvr.log 2>&amp;1 &amp;"
sleep 90
echo -e "Starting OPMN Components...."
su - $ORACLE_OWNR -c "$ORACLE_FMW/instances/instance1/bin/opmnctl startall"
sleep 120
;;
'stop')
echo -e "Stopping OPMN Components...."
su - $ORACLE_OWNR -c "$ORACLE_FMW/instances/instance1/bin/opmnctl stopall"
sleep 60
echo -e "Stopping Managed Server: bi_server1..."
su - $ORACLE_OWNR -c "$ORACLE_FMW/user_projects/domains/bifoundation_domain/bin/stopManagedWebLogic.sh bi_server1 http://OBI11G:7001 > /dev/null 2>&amp;1 &amp;"
sleep 30
echo -e "Stopping Weblogic Server...."
su - $ORACLE_OWNR -c "$ORACLE_FMW/user_projects/domains/bifoundation_domain/bin/stopWebLogic.sh > /dev/null 2>&amp;1 &amp;"
sleep 15
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: 'basename $0' start|stop|restart|status"
exit 1
esac

exit 0

######################################

References:

http://linux.about.com/library/cmd/blcmdl8_chkconfig.htm

http://www.hentzenwerke.com/wp/chkconfig.pdf

http://www.xaprb.com/blog/2006/06/06/what-does-devnull-21-mean/

Posted in 11g, Best Practice, LinuxComments (0)

Linux User and Groups Setup for OBI11g Install

Typically setting up the user base and groups for an install is rather straightforward.  Setting up the users and groups for OBIEE 11g on a Linux box is really no different.  I am attempting to use this post as a reference document so feel free to use it that was as well.  I foresee small changes and updates oto it over the next year so feel free to comment if you have conducted an install and noticed any variations are simpler methods.  Again, the initial user/group setup is really basic, I am just outlining some code here.

Check existing users by entering the following to see what already exists:


users

groups

Enter the following in a terminal window as “root” or similar privileged user.


groupadd oinstall

groupadd FMW

useradd -g FMW -G oinstall,FMW obi11g

passwd obi11g

mkdir -p /u01/app

mkdir -p /u01/FMW

chown -R obi11g:oinstall /u01/

chown -R obi11g:FMW /u01/FMW

chmod -R 775 /u01

Posted in 11g, Code, Linux, TutorialsComments (0)