BSM 9.2x Linux Tips and Tricks - Hewlett Packard Enterprise

BSM (OMi) 9.2x
Linux
Tips and Tricks
Siggi Gladitsch
EMEA BSM(OMi) Backline Team
(last update : 12/06/2013)
© 2008 Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice.
Agenda
•
Overview
•
Installing BSM on Linux
•
Installing a BSM patch on Linux
•
Managing BSM when it runs on Linux
•
Linux Tips and Tricks
•
Installing Oracle on Linux
•
Setting up BSM with an Oracle Database
•
Accessing an Oracle database
•
Useful Oracle / SQL commands
Overview
© 2008 Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice.
Overview
• this
is NOT an indepth Linux class
• this
is NOT an indepth Oracle class
• no
fancy slides with animations
• the
purpose is to help users usually working on Windows platforms to
install BSM and Linux on Oracle and find their way through the system
• Linux
Gurus will get bored here
• Oracle
DBAs will get bored here as well
• Windows
• All
Gurus will scratch their head
others – stay tuned
Linux
versus
Windows
© 2008 Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice.
Linux versus Windows
from the native Linux user’s point of view
Linux versus Windows
• General
Note:
In Linux there are MANY ways to get to the same result.
There are different command shells, graphical interfaces, commands,
utilities, packages, tools.
Talk to five Linux or Unix people, they know ten different ways to get
to the same result, and each way is the best one.
All here is based on RHEL 5.6 / 5.8 with using the bash shell,
VNC as X server, and VNCViewer as client or telnet to access the
system.
Linux versus Windows
• Linux
is case-sensitive!
• Linux
uses slash “/”, no backward slash “\”
(some shells can deal with both types of characters)
• And,
• the
Linux is case-sensitive!
Administrator is called root on Linux
• root
HAS ALL PERMISSIONS and can do all and everything!
(root can easily delete the complete BSM installation
while BSM is running!)
Linux versus Windows
• dir
= ls / ls –l
• cd
= cd
• mkdir
= mkdir
• taskmanager
= ps –ef
• view
a file
more / cat / tail (from the end) / page (one page at a time)
• Notepad
= vi (okay, not really), emacs
– filter output of previous command
(doesn‘t exist on Windows out of the box)
• grep
Linux versus Windows
• dots
„.“ (current directory) and „..“ (directory one level up) are very
important
the concept is available in Windows as well, but not used as intensive
as in Linux
• executing
a command as root user in the current working directory
(cwd) usually requires „./“ in front of the command name,
because the user root has no reference to the current working
directory in the path defined, which has been done for security
reasons.
Linux versus Windows
# ls *.bin
HPBsm922_9.22_setup.bin
# HPBsm922_9.22_setup.bin
-bash: HPBsm922_9.22_setup.bin: command not found
# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin
:/usr/sbin:/sbin:/usr/bin:/bin:/root/bin
# ./HPBsm922_9.22_setup.bin
Preparing to install...
Extracting the JRE from the installer archive...
Linux versus Windows
• Linux
is case-sensitive!
• It‘s
not a big deal, but can cause a big headache,
for example – is meruryas up and running?
• „ps
–e“ list all processes
then pipe the output of the ps command and grep all lines with the
string mercuryas in it („| grep mercuryas“)
# ps -e | grep mercuryas
nothing?? But BSM is up and running??
# ps -e | grep MercuryAS
25126 ?
1-17:26:00 MercuryAS
• „mercuryas“
• „grep
is actually „MercuryAS“
–i“ = ignore case
# ps -e | grep -i mercuryas
25126 ?
1-17:26:00 MercuryAS
Linux versus Windows
• Linux
• or,
is case-sensitive!
what was the EXACT logfile name again?
# cd /opt/HP/BSM/log
# tail gdegatewayclient.log
tail: cannot open 'gdegatewayclient.log' for reading: No such
file or directory
# ls –l | grep –i gde
-rw-rw-rw- 1 root root
# tail gdeGatewayClient.log
or
# tail gde*.log
0 May
2 18:20 gdeGatewayClient.log
Linux versus Windows
• How to get help on Linux
from the shell prompt
man command-name
command-name –help
info command-name
•
for example
#man uname
#uname –help
#info uname
• Google
•A
(that’s what I always use …)
Sysadmin's Unixersal Translator (ROSETTA STONE)
http://bhami.com/rosetta.html
Linux versus Windows
• Linux
server start / stop / restart
• start
switch on the box
• stop
#shutdown –h now
• restart
#reboot
• commands
need to be executed by root
Linux versus Windows
• accessing
• via
a Linux system
“command line” - use telnet / ssh / putty / …
•
# telnet vm17083.deu.hp.com
•
Trying 16.58.17.83...
•
Connected to vm17083.deu.hp.com (16.58.17.83).
•
Escape character is '^]'.
•
vm17083 (Linux release 2.6.18-274.el5 #1 SMP Fri Jul 8 17:36:59 EDT 2011) (6)
•
login: root
•
Password:
•
Last login: Fri May 10 22:20:41 from vm25177
•
Kickstart-installed RedHat 5.7Server - LinuxCOE 4.3 Thu Nov 24 12:00:44 CET 2011
•
You have new mail.
•
vm17083:/root
Linux versus Windows
• telnet
fails on your Windows 7 COE PC
•
• telnet
needs to be enabled first
Linux versus Windows
• enable
/ activate telnet
• Windows
• select
-> Control Panel -> Programs and Features
Turn Windows Features on or off
Linux versus Windows
• find
Telnet Client in the list, check the checkbox and click OK
Linux versus Windows
• now
it works
Linux versus Windows
• main
limitation of telnet (and similar) access:
no graphics, so tools like bsmbrowser or the installation wizard fail to
run:
Linux versus Windows
• use
VNCViewer to connect to the Linux system
Linux versus Windows
• root
logs in either at the login prompt
•
# telnet vm17083.deu.hp.com
•
..
•
login: root
•
Password:
Linux versus Windows
• or
using the su (switchuser) command after one is logged in already
•
[oracle@vm17016 ~]$ id
•
uid=1003(oracle) gid=1003(oracle) groups=1003(oracle)
•
[oracle@vm17016 ~]$ su -
•
Password:
•
[root@vm17016 ~]# id
•
uid=0(root) gid=0(root)
groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
•
[root@vm17016 ~]#
•
vm17083:/root
• usually
systems don’t allow root to login at the login prompt, here one
needs to login via a “more safe” user and then use the su command to
become root
Linux versus Windows
• what
Linux version is running here
•
# uname -a
•
Linux vm17083 2.6.18-274.el5 #1 SMP Fri Jul 8 17:36:59 EDT 2011 x86_64 x86_64 x86_64
GNU/Linux
•
Linux – well, it’s Linux
vm17083 – the hostname
2.6.18-274.el5 – kernel version
x86_64 x86_64 x86_64 – hardware platform
# lsb_release -a
•
LSB Version:
:core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0ia32:printing-4.0-noarch
Distributor ID: RedHatEnterpriseServer
Description:
Red Hat Enterprise Linux Server release 5.9 (Tikanga)
Release:
5.9
Codename:
Tikanga
Linux versus Windows
• drives
and paths
• other
than Windows, Linux doesn’t use drives and paths
(so no C:\HPBSM) but filesystems / paths only
(like /opt/HP/BSM)
• when
adding a new drive / partition to a Linux system, it is usually
added as a new filesystem / path, for example
#df -h
Filesystem
Size
Used Avail Use% Mounted on
/dev/sda2
93G
75G
14G
/dev/sda1
251M
7.9M
230M
tmpfs
2.8G
1.8G
1.1G
34G
14G
85% /
4% /boot
61% /dev/shm
/dev/mapper/vg01-lvoradata2
50G
• drive1
– drive2
72% /oradata2
Installing BSM on
Linux
© 2008 Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice.
Installing BSM on Linux
• as
of BSM 9.22, we support
RedHat Enterprise Linux 5.3 or any later 5.x version
(Intel x64 64 bit)
(BSM 9.22 can easily be installed on RHEL6, but it will simply not
work!)
• CPE
case QCIM1I86642 ER to support RHEL 6.x
• CPE
case QCIM1I86643 ER to support SUSE Linux 11
• Oracle
Enterprise Linux 5.5 (x86-64)
(never seen an installation until now)
• MS
SQL Server 2008
=> no support for Windows Authentication
Installing BSM on Linux
• Before
installing BSM on a Linux machine, make sure that SELinux
will not block it.
(SELinux = Security Enhanced Linux)
• You
can do this by either disabling SELinux,
or configuring it to enable java 32-bit to run.
• To
disable SELinux, open the /etc/selinux/config file, set the value of
SELINUX=disabled, and reboot the machine.
• To
configure SELinux to enable java 32-bit to run, execute the
command setsebool –P allow_execmod on
• You
might encounter errors like this with SELinux enabled:
Executing Script: ./product_upgrade_wizard.sh
..
Finalize action for com.hp.ov.installer.ovapp.core.ActionRunner@f6d773
Error: dl failure on line 864
Error: failed /opt/HP/BSM/JRE/lib/i386/client/libjvm.so, because
/opt/HP/BSM/JRE/lib/i386/client/libjvm.so: cannot restore segment prot
after reloc: Permission denied
Installing BSM on Linux
• You
must be a root user to install BSM on the server machine.
• BSM
must be run as a root user
• Starting
with BSM 9.23 BSM can also be run as non-root user!
Installing BSM on Linux
• BSM’s
installation path on Linux is
/opt/HP/BSM
and cannot be changed. This is because of the installation framework
(OVII) used by BSM.
• The
same is true for
HP shared content
/opt/OV
and
data directory for HP shared content
/var/opt/OV
Installing BSM on Linux
• If
another path is required, for example for disk space reasons, a
symbolic link can be created PRIOR to the installation of BSM.
• Symbolic
links are a special file type in which the link file actually
refers to a different file, by name. For most operations (opening,
reading, writing, …) that are passed the symbolic link file, the kernel
automatically "dereferences" the link and operates on the target of the
link. But some operations (e.g., removing) work on the link file itself,
rather than on its target.
• In
the following example the directory /HP/BAC is created, and
/opt/HP is linked to this directory, so the installation will go into
/HP/BAC, but can be accessed at /opt/HP:
Installing BSM on Linux
# mkdir /BAC/HP
# ln -s /BAC/HP /opt/HP
do not ln -s /BAC/HP /opt/HP
# cd /BAC/HP
# ll / > sgtest1
# ll
total 16
drwxrwxr-x
2 root root 4096 May 29 14:51 ./
drwxr-x--- 23 root root 4096 May 29 14:51 ../
-rw-rw-r--
1 root root 1582 May 29 14:51 sgtest1
# ll /opt/HP
lrwxrwxrwx 1 root root 12 May 29 14:51 /opt/HP -> /BAC/HP
# ll /opt/HP/*
-rw-rw-r-- 1 root root 1582 May 29 14:51 /opt/HP/sgtest1
Installing BSM on Linux
# cd /opt/HP
# ll
total 16
drwxrwxr-x
2 root root 4096 May 29 14:51 ./
drwxr-x--- 23 root root 4096 May 29 14:51 ../
-rw-rw-r--
1 root root 1582 May 29 14:51 sgtest1
# mkdir newdir
# ll
..
drwxrwxr-x
2 root root 4096 May 29 14:58 newdir/
..
## ll /BAC/HP
..
drwxrwxr-x
..
2 root root 4096 May 29 14:58 newdir/
Installing BSM on Linux
• As
Linux doesn‘t support Microsoft IIS (obviously), on Linux one only
can use Apache as BSM Web Server
Installing BSM on Linux
• The
DISPLAY environment variable must be properly configured on
the BSM server machine.
• The
machine from which you are installing must be running a X-Server
unless you are installing BSM in silent mode
• Don‘t
use for example Exceed, it is known to cause issues, for
example the selection buttons disappear within the menu or make
them unselectable
• VNCServer
is part of RHEL5 and works fine
Installing BSM on Linux
Setting up VNCServer
#vi /etc/sysconfig/vncservers
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1024x768„
#service vncserver start | stop
#chkconfig vncserver on
(forces the service to start on reboot)
executing
#vncpasswd
is required to set the password for root ;-)
Installing BSM on Linux
to enable copy & paste from vncviewer window to e.g.
a Windows system or the other way around, run
#vncconfig
Installing BSM on Linux
# ps -ef | grep vnc
root
4281
1 0 May02 ?
00:01:25 Xvnc :1 -desktop vm17083:1
(root) -httpd /usr/share/vnc/classes -auth /root/.Xauthority -geometry
1024x768 -depth 16 -rfbwait 30000 -rfbauth /root/.vnc/passwd -rfbport 5901
-pn
root
9823
4606
0 May03 pts/0
00:00:00 vncconfig
Installing BSM on Linux
• the
remaining bit missing now is a viewer for VNC,
for example RealVNC from
http://www.realvnc.com/download/viewer/
• or
TightVNC (uses less resources than RealVNC) from
http://www.tightvnc.com/
Installing BSM on Linux
• BSM
9.20 comes on multiple DVDs, the Linux bits reside on the DVD
Software_HP_BSM_9.20_Installation_for_Linux_TB998-15018 (DVD 2)
• if
the DVD is mounted, execute
„DVD2”/linux_setup/HPBsm_9.20_setup.bin
Installing BSM on Linux
if you have an .iso image saved as (for example)
/tmp/TB998-15018.iso
you need to mount the image:
create a directory for the “DVD” to show up
#mkdir /BSM920
#mount -o loop /tmp/TB998-15018.iso /BSM920
#cd /BSM920
#cd Linux_Setup
#./HPBsm_9.20_setup.bin
after the installation is completed
#umount /BSM920
#rmdir /BSM920
Installing BSM on Linux
• Config
Wizard fails with
Exception in thread “main” java.lang.UnsatisfiedLinkError:
/opt/HP/BSM/JRE/lib/xawt/libmawt.so: libXrender.so.1: cannot
open shared object file: No such file or directory
• One
or more libraries are missing. Simply check with Google for the
library name and “RedHat” to find out what package is missing, or
leave it to the tools to find out:
# yum install libXrender.so.1
In this case you also can use the package
“GNOME Desktop Environment” and install the whole package /
group:
# yum groupinstall "GNOME Desktop Environment“
• yum
is
Yellowdog Update Modified
an interactive, rpm-based package manager.
Installing BSM on Linux
• Postinstall
fails with
/opt/HP/BSM/postinstall-common.sh: /opt/HP/BSM/JRE/bin/java:
/lib/ld-linux.so.2:bad ELF interpreter. No such file or
directory.
• again,
run
# yum install lib/ld-linux.so.2
Yum will then look for any package containing that file and offer to
install it.
(Here actually the issue was that the customer tried to install BSM on
RedHat 6, thus installing the library didn’t help).
Installing a BSM
patch on Linux
© 2008 Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice.
Installing a BSM patch on Linux
• you
have BSM 9.20 installed and now need to upgrade to BSM 9.22;
the patch is BAC_00816
• download
• create
• #cd
a directory and extract the patch
tmp
• #mkdir
• #cd
the patch to /tmp/BAC_00816.zip
BAC_00816
BAC_00816
• #unzip
../BAC_00816.zip
• change
permissions on the installer file
#chown +x /tmp/BAC_00816/HPBsm922_9.22_setup.bin
• execute
the installer
#/tmp/BAC_00816/HPBsm922_9.22_setup.bin
Installing a BSM patch on Linux
# ll BAC*
-rw-r--r-- 1 root root 1338127517 May 28 14:57 BAC_00816.zip
# mkdir BAC_00816
# cd BAC_00816
# unzip ../BAC_00816.zip
Archive:
../BAC_00816.zip
inflating: Get_Documentation.htm
inflating: HPBsm922_9.22_setup.bin
creating: packages/
inflating: packages/HPBsm922AM-9.22.111-Linux2.6_64.rpm
..
inflating: packages/HPOvXpl-11.10.051-Linux2.6_64-release.rpm
inflating: packages/HPOvXpl-11.10.051-Linux2.6_64-release.rpm.xml
Installing a BSM patch on Linux
# ls *.bin
HPBsm922_9.22_setup.bin
# ./HPBsm922_9.22_setup.bin
-bash: ./HPBsm922_9.22_setup.bin: Permission denied
-rw-rw-r-- 1 root root 57796918 Apr 12 20:51 HPBsm922_9.22_setup.bin
# chmod +x HPBsm922_9.22_setup.bin
# ll HPBsm*
-rwxrwxr-x 1 root root 57796918 Apr 12 20:51 HPBsm922_9.22_setup.bin*
(bash shell shows executable files in green)
#./HPBsm922_9.22_setup.bin
Preparing to install...
Extracting the JRE from the installer archive...
Managing BSM
when it runs on
Linux
© 2008 Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice.
Managing BSM when it runs on Linux
• xyz.bat
is xyz.sh on Linux (and yes, it is case-sensitive)
for example:
Windows : bsmbrowser.bat
Linux : bsmbrowser.sh
• Windows
:
Start -> All Programs -> HP Business Service Management ->
Administration -> Configure HP Business Service Management
Linux :
execute /opt/HP/BSM/bin/config-server-wizard.sh
Managing BSM when it runs on Linux
• scripts
as part of alert actions
Linux cannot execute DOS / Windows .bat files,
but shell scripts only
The Online Help
(Application Administration > End User Management > End User Management Alerts Administration
> EUM Alerts Administration User Interface > Run Executable File Dialog)
unfortunately only states
..
You can embed predefined alert parameters into a custom command line that runs an
executable file when an alert is triggered. For example:
C:\Bin\MyAlertReporter.exe –title "Alert <<Alert Name>> for <<Entity Name>>" –Text
"<<User Message>>"
The command uses the MyAlertReporter exe file located in C:\Bin. It uses the name of
the alert, the name of the entity, and the message to the user as parameters.
..
Managing BSM when it runs on Linux
• This
of course wouldn’t work.
For Linux this might be something like
/tmp/scripts/MyAlertReporter.sh “Alert <<Alert name>> ..
Managing BSM when it runs on Linux
• Note:
adding an alert is logged to
<BSM>/log/alerts/ evb_alerts_ui.log
2013-06-13 09:41:33,032 [ajp-0.0.0.0-8009-10]
(AlertsAdminServerImpl.java:160) INFO - Customer '1': Add alert: sgtest,
type: bpm.transaction.alert.type, severity: Critical, related ci: SG Test,
enabled send for every trigger, dont send clear alert , groupby: [],
trigger config: all required [false], state [type [Empty]], triggers
[{TransactionRespTimeOnce=type [OneFieldNumeric], id
[TransactionRespTimeOnce], sample [trans_t], field [dResponseTime], is
grater [true], threshold [0.00]}], filter config: related entity [field
name [application_id], type [Binary], values
[[4505844a39610284c84fba484e8afd82]]], filters [[field name
[u_iLocationId], type [Binary], values [[]], field name [szDeviceId], type
[Long], values [[]], field name [u_iTransactionId], type [Binary], values
[[]]]], exe: [/tmp/scripts/MyAlertReporter.sh "Alert <<Alert Name>> for
<<Entity Name>>" "<<User Message>>"], id:
3db4dff2148ebca0960b3e492c59c72d.
•
Managing BSM when it runs on Linux
• /tmp/scripts/MyAlertReporter.sh
(needs to reside on the DPS!!!)
#/bin/sh
# this is a ridicolous script simply logging date and time into a file
# followed by the first four parameters passed in via the command line
date >> /tmp/scripts/MyAlertReporter.log
if [ "$1" != "" ]; then
echo $1 >> /tmp/scripts/MyAlertReporter.log
fi
if [ "$2" != "" ]; then
echo $2 >> /tmp/scripts/MyAlertReporter.log
fi
if [ "$3" != "" ]; then
echo $3 >> /tmp/scripts/MyAlertReporter.log
fi
if [ "$4" != "" ]; then
echo $4 >> /tmp/scripts/MyAlertReporter.log
fi
exit 0
Managing BSM when it runs on Linux
• alert
has been triggered, script has been executed:
# more MyAlertReporter.log
Thu Jun 13 10:11:44 CEST 2013
"Alert
sgtest
for
SG_Google_SSO"
• The
output shows that either the alert definition or the script needs
some fine tuning to get all parameters sent / received the right way.
Spaces are delimiters, so usually quotes help here.
Managing BSM when it runs on Linux
• start
/ stop / restart BSM
/opt/HP/BSM/scripts/run_hpbsm start / stop / restart
start: (if executed on the GW start the WebServer)
ulimit -n 8192;
sysctl -p;
${TOPAZ_HOME}/WebServer/bin/apache2start.sh;
followed by (for all BSM servers)
./run_nanny_as_nobody start >>
$BSMPRODUCT_HOME/log/hpbsm_start.log &
[root@vm17057 ~]# /opt/HP/BSM/scripts/run_hpbsm start
Setting NLS_LANG to AMERICAN_AMERICA.UTF8
starting Apache web server...
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
Managing BSM when it runs on Linux
• start
/ stop / restart BSM
kernel.sysrq = 0
kernel.core_uses_pid = 1
kernel.core_pattern = /tmp/core.%e.%p
fs.suid_dumpable = 2
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
fs.file-max = 364500
Starting HP BSM...
Please check the Status page at
file:///opt/HP/BSM/tools/bsmstatus/bsmstatus.sh to verify BSM is
ready.
Managing BSM when it runs on Linux
• start
/ stop / restart BSM
to easily monitor the startup process, execute
#tail –f /opt/HP/BSM/log/supervisor/nannyStatus.log
and wait for the last line to show up:
...
2013-05-29 15:51:21,029
OPR
STOPPED
2013-05-29 15:51:21,029
OPR
LAUNCHED
2013-05-29 15:51:26,707
OPR
STARTING
2013-05-29 15:51:26,708
OPR
STARTED
2013-05-29 15:51:27,080
businessImpact_service
STOPPED
2013-05-29 15:51:27,080
businessImpact_service
LAUNCHED
2013-05-29 15:51:33,596
businessImpact_service
STARTING
2013-05-29 15:51:33,596
businessImpact_service
STARTED
2013-05-29 15:51:33,615
All services started in 5m:40s
Managing BSM when it runs on Linux
• start
/ stop / restart BSM
stop: (if executed on the GW stop the WebServer)
${TOPAZ_HOME}/WebServer/bin/apache2stop.sh
followed by (for all BSM servers)
./run_nanny_as_nobody stop
[root@vm17016 scripts]# ./run_hpbsm stop
Setting NLS_LANG to AMERICAN_AMERICA.UTF8
stopping Apache web server...
calling stop script...
Stopping hpbsmd...
Waiting for hpbsmd to exit...
..
Waiting for hpbsmd to exit...
Stopped hpbsmd.
Managing BSM when it runs on Linux
• start
/ stop / restart BSM
restart: it simply executes stop followed by start
Managing BSM when it runs on Linux
• start
/ stop / restart BSM
/etc/init.d/hpbsmd start / stop / restart
start: simply calls /opt/HP/BSM/scripts/run_hpbsm start
to run in the background using the command daemon
same for stop and restart
• the
script is mainly used for the automatic start and stop of BSM
Managing BSM when it runs on Linux
• automatic
• this
• for
BSM start/stop with system start/stop
is setup during installation:
BSM the script /etc/init.d/hpbsmd is being used
• in
/etc/rc.d/rc#.d links point to scripts which gets executed when Linux
gets to Runlevel #
(# = there are Runlevels 0 – 6
0 is to stop the system
3 is like all is up and running)
• thus
there are entries to start BSM, and entries to stop BSM
Managing BSM when it runs on Linux
/etc/rc.d/rc3.d – S## = Start / boot activation priority
..
lrwxrwxrwx 1 root root 14 Nov
7
2012 S58ntpd -> ../init.d/ntpd
lrwxrwxrwx 1 root root 16 Mar 19
2012 S65hpbsmd -> ../init.d/hpbsmd
lrwxrwxrwx 1 root root 18 Nov 24
2011 S80sendmail -> ../init.d/sendmail
..
on system startup the OS executes ../init.d/hpbsmd start
/etc/rc.d/rc0.d – K## = kill / activation priority
..
lrwxrwxrwx 1 root root 18 Nov 24
2011 K30sendmail -> ../init.d/sendmail
lrwxrwxrwx 1 root root 16 Mar 19
2012 K35hpbsmd -> ../init.d/hpbsmd
lrwxrwxrwx 1 root root 13 Nov 24
2011 K35smb -> ../init.d/smb
..
on system shutdown the OS executes ../init.d/hpbsmd stop
Managing BSM when it runs on Linux
• command
line tool to manage BSM
/opt/HP/BSM/opr/support/opr-support-utils.sh
Topics:
/opt/HP/BSM/opr/support/opr-support-utils.sh –help
Setting Utility:
License Checker:
Process Status Util:
Hac Status Lister:
Retrieve uCMDB Capacity:
Event Pipeline Statistics:
Managing BSM when it runs on Linux
• command
line tool to manage BSM
Process Status Util:
-startAll
-stopAll
-start <servicename>
-stop <servicename>
-restart <servicename>
-getServiceInfo [-gi] <servicename>
-listServices [-la]
-listAllServicesStatus [-ls]
-listStatusAsHTML [-lh]
Managing BSM when it runs on Linux
• command
line tool to manage BSM
/opt/HP/BSM/opr/support/opr-support-utils.sh –listAllServicesStatus
..
Service Name= schedulergw
Process Name= schedulergw
Process Status= STARTED
Execution Order= 20
------------------------------------Service Name= mercuryAS
Process Name= MercuryAS
Process Status= STARTED
Execution Order= 6
------------------------------------..
Managing BSM when it runs on Linux
• same
set of tools exists under /opt/HP/BSM/tools
• but
Windows-specific tools and outdated tools have not been ported to
Linux and thus don‘t run
(for example TimeDiff, NannyCmd)
• DCSniffer
works with BSM 9.2x
• Loggrabber:
Windows : <BSM>\tools\loggrabber\go.bat
Linux
: /opt/HP/BSM/tools/loggrabber/saveLogs.sh
Managing BSM when it runs on Linux
When using BSM 9.22 Logging Administrator under Linux by invoking
http://<BSM Gateway Server>/topaz/logAdminBsm.jsp
and then creating a file, the GUI states that it creates the file under
C:/HPBSM/log/temp/
but in reality it is created under
/opt/HP/BSM/bin/C:/HPBSM/log/temp/
(strange path? yes, this is Linux!)
Similar when running the tool on Windows:
the GUI states that it creates the file under
C:/HPBSM/log/temp/
and it creates it there, even if BSM is installed on E:\HPBSM
CR QCCR1I86654 BSM 9.22 on Linux - Logging Administrator creates
logfiles under /opt/HP/BSM/bin/C:/HPBSM/log/temp/“
Managing BSM when it runs on Linux
BSM Status
BSM 9.1x
- open Firefox and access
http://<server>:8080/myStatus/myStatus.html
(this however doesn't always work due to a security restriction in FF,
the issue has been fixed in BSM 9.20)
BSM 9.2x
- execute /opt/HP/BSM/tools/bsmstatus/bsmstatus.sh
Managing BSM when it runs on Linux
BSM Status
another option
http://<server>:11021/invoke?operation=showServiceStatusAsHTML&
objectname=Foundations%3Atype%3DNannyManager
Managing BSM when it runs on Linux
and the HAC Status
http://<server>:8080/jmxconsole/HtmlAdaptor?action=invokeOpByName&name=Topaz%3Aservice%3
Dhac-manager&methodName=listMyStatus
Managing BSM when it runs on Linux
• Running
• Login
Sonic Console on Linux
to the Data Processing Server (DPS) and execute
/opt/HP/BSM/Sonic/MQ7.6/bin/startmc.sh (BSM 9.13)
/opt/HP/BSM/Sonic/MQ8.5/bin/startmc.sh (BSM 9.22)
When prompted to insert the credentials, everything should remain by
default:
Connection Name
Domain Name
Connection URL(s)
User Name
Password
: Connection1
: Domain1
: tcp://localhost:2506
:
:
leave "User Name" and "Password" empty and click "OK" to connect
Managing BSM when it runs on Linux
• Running
Sonic Console on Linux
Managing BSM when it runs on Linux
• Running
Sonic Console on Linux
Managing BSM when it runs on Linux
• Running
Sonic Console on Linux
to get all durable subscribers
Manage .> Containers -> <hostname> -> Durable
Subscriptions -> then click on the empty line above
[[Trinity]]dc.*.Default Client.*
Managing BSM when it runs on Linux
• Running
Sonic Console on Linux
Linux
Tips and Tricks
© 2008 Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice.
Linux Tips and Tricks
• remove
all files and directories without prompt under /opt/HP/BSM
(you shouldn’t do this!)
# rm -rf /opt/HP/BSM
• check
whether a specific process is running
# ps -e | grep – i mercuryas
# ps -ef | grep –i mercuryas
• list
all running processes
# ps -ef | more
Linux Tips and Tricks
• show
BSM process tree
•
# ps -e | grep wrapper
•
23941 ?
•
# pstree 23941
00:00:00 wrapper
Linux Tips and Tricks
• show
•
process tree
# ps –efH | more
root
root
root
root
root
root
root
root
root
root
root
root
root
root
23941
23943
24006
24044
24116
24155
24193
24448
24513
24520
24526
24574
24586
24601
1
23941
23943
24006
24044
23943
24155
24193
23943
24513
24520
23943
24574
24586
0
0
0
0
0
0
0
0
0
0
1
0
0
0
May29
May29
May29
May29
May29
May29
May29
May29
May29
May29
May29
May29
May29
May29
?
?
?
?
?
?
?
?
?
?
?
?
?
?
00:00:00
00:08:35
00:00:00
00:00:00
00:08:13
00:00:00
00:00:00
00:17:51
00:00:00
00:00:00
02:57:20
00:00:00
00:00:00
00:00:00
/opt/HP/BSM/supervisor/wrapper
/opt/HP/BSM/JRE/bin/hpbsmd /bin/sh /opt/HP/BSM/Sonic/
/bin/sh ./startcontainer
/opt/HP/BSM/JRE/bin/Do
/bin/sh /opt/HP/BSM/Sonic/
/bin/sh ./startmsgcontai
/opt/HP/BSM/JRE/bin/Me
/bin/sh /opt/HP/BSM/bin/od
/bin/sh ./service_manage
/opt/HP/BSM/JRE64/bin/
/bin/sh /opt/HP/BSM/EJBCon
/bin/sh ./mercury_run.sh
/bin/sh ./run.sh -c me
Linux Tips and Tricks
• top CPU consumer
# top (type „q“ to exit)
Linux Tips and Tricks
• case-sensitive
search for an object on the system (file, directory, ..)
under /opt/HP/BSM
# cd /opt/HP/BSM
# find . -name topaz_all.ejb.log
• search case-insensitive
# find . -iname topaz_all.ejb.log
• same but with wildcard
# find . -iname topaz*log
• same, but search the complete
# find / -iname topaz*log
• search files only / search
# find –type f ...
# find –type d ...
system
directories only
Linux Tips and Tricks
• search
for a string in a directory
# find . -type f -exec grep -qi "failed to get data from server" {} \; -print
this translates to:
find
. = current working directory
-type f = all files
-exec = for each file found execute
-grep –qi = find the string quietly (print filename only), ignore case
-print = display the result, in this case the filename
# cd /opt/HP/BSM/log
# find . -type f -exec grep -qi "license" {} \; -print
./EJBContainer/licensemgr.log
./EJBContainer/appcore.log
./EJBContainer/tvb.log
./EJBContainer/repositories.log.1
…
Linux Tips and Tricks
• search
for a string in a directory, a shorter and more easy way
# grep –rli “failed to get data from server“ *
this translates to:
grep find
-rli = recursive search through all subdirectories
print file name only
ignore case
# cd /opt/HP/BSM/log
# grep –rli “failed to get data from server“ *
./EJBContainer/licensemgr.log
./EJBContainer/appcore.log
./EJBContainer/tvb.log
./EJBContainer/repositories.log.1
…
Linux Tips and Tricks
• this
can also be used to find in what file we refer to what resource
under what name:
# cd /opt/HP/BSM
# find . -type f -exec grep -qi "not all required fields were completed" {}
\; -print
./AppServer/resources/ApplicationResources2_en.properties
./AppServer/resources/ApplicationResources2.properties
./AppServer/resources/analytics_en.properties
./AppServer/resources/analytics.properties
Linux Tips and Tricks
• here
it is :
# grep -i "not all required"
./AppServer/resources/analytics.properties
error.text.invalid=Not all required fields were completed.
• and
now we can search for the code using this resource variable:
# find . -type f -exec grep -qi "error.text.invalid" {} \; -print
./AppServer/webapps/TopazAdminCenter.ear/TopazAdminCenter.war/WEB
-INF/lib/acweb_web.jar
Linux Tips and Tricks
Linux Tips and Tricks
• what users are logged
# who
root
pts/0
root
pts/1
root
pts/2
root
pts/3
root
pts/4
root
pts/5
root
pts/6
• what’s my login
# who am I
root
pts/6
in
2013-05-02
2013-05-02
2013-05-02
2013-05-08
2013-05-10
2013-05-27
2013-05-28
16:50
16:50
17:02
09:48
22:20
13:43
10:40
(:1.0)
(:1.0)
(:1.0)
(vm17083)
(vm25177)
(:1.0)
(vm17083)
2013-05-28 10:40 (vm17083)
Linux Tips and Tricks
• how
can I login as a different user quickly
# id
uid=0(root) gid=0(root)
groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
# su – oracle
(yes, su space – space username)
$ id
uid=1003(oracle) gid=1003(oracle) groups=1003(oracle)
• but
$ who am i
root
• get
pts/3
2013-04-29 13:06 (:1.0)
back to original user
$ exit
# id
uid=0(root) gid=0(root)
groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
Linux Tips and Tricks
• quickly
become root
$ su –
(yes, su space -)
Password:
#
• execute
a command as root user without the need to login as root,
of course you need to enter the root password
$ sudo <command>
Password:
Linux Tips and Tricks
• what
shell do I use
# grep "$USER" /etc/passwd
root:x:0:0:root:/root:/bin/bash
• what
shells are available
# more /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh
/bin/zsh
Linux Tips and Tricks
• change
the login shell for a specific user
# chsh -s /bin/ksh root
Changing shell for root.
Shell changed.
• change
the login shell if you are not root
# sudo chsh -s /bin/ksh <username>
Linux Tips and Tricks
• what’s
my free disk space
# df
Filesystem
1K-blocks
Used Available Use% Mounted on
/dev/sda4
93363944
36456304
52088580
/dev/sda1
256666
8017
235397
2929648
0
2929648
tmpfs
• and
42% /
4% /boot
0% /dev/shm
for human interpretation
# df -h
Filesystem
Size
Used Avail Use% Mounted on
/dev/sda4
90G
35G
50G
/dev/sda1
251M
7.9M
230M
4% /boot
tmpfs
2.8G
0
2.8G
0% /dev/shm
42% /
Linux Tips and Tricks
• what
directories use most of the space. human format
# du –h /opt/HP/BSM
4.8M
/opt/HP/BSM/EJBContainer/lib/endorsed
8.4M
/opt/HP/BSM/EJBContainer/lib
26M
/opt/HP/BSM/EJBContainer/client
4.0K
/opt/HP/BSM/EJBContainer/log/EJBContainer
8.0K
/opt/HP/BSM/EJBContainer/log
Linux Tips and Tricks
• to
show the top disk consumers first
(doesn’t work good with the –h switch)
# du /opt/HP/BSM | sort –gr
8510524 /opt/HP/BSM
1979044 /opt/HP/BSM/AppServer
1918852 /opt/HP/BSM/AppServer/webapps
1378612 /opt/HP/BSM/log
1369192 /opt/HP/BSM/installation
1365760 /opt/HP/BSM/installation/HPBsm922
1340012 /opt/HP/BSM/installation/HPBsm922/backup
1126180 /opt/HP/BSM/Sonic
Linux Tips and Tricks
• to
find all files with a size > 100 MB in /opt/BSM
# find /opt/HP/ -size +100000k -print0 | xargs -0 ls -l
-rwxr--r-- 1 root root 157320757 Jul 29
2012 /opt/HP/BSM/dat/ip_ranges.v4.csv.zip
-r--r--r-- 1 root root 110223682 Aug
8
2012 /opt/HP/BSM/installation/HPBsm922/backup/opr/webapps/opr-web.war
-rwxrw-r-- 1 root root 110312804 May
2 18:09 /opt/HP/BSM/odb/content/content_packs/CP11.zip
-rwxrw-r-- 1 root root 110312804 May
2 18:09 /opt/HP/BSM/odb/content/CP.zip
-rw-rw-r-- 1 root root 209715200 Jul
1 10:29 /opt/HP/BSM/Sonic/Containers/Domain1.DomainManager/log/recoverylog1.bin
-rw-rw-r-- 1 root root 209715200 Jun 21 21:48 /opt/HP/BSM/Sonic/Containers/Domain1.DomainManager/log/recoverylog2.bin
-rwxr--r-- 1 root root 487862850 Jun 24
2012 /opt/HP/BSM/Sonic/installation/SonicMQ8.5/install.bin
-rwxr--r-- 1 root root 439502776 Jun 24
2012 /opt/HP/BSM/Sonic/installation/SP1/install.bin
-rwxr-xr-- 1 root root 209715200 Jul
1 11:07 /opt/HP/BSM/Sonic/runtime/MsgBroker/log/recoverylog1.bin
-rwxr-xr-- 1 root root 209715200 Jun 21 21:49 /opt/HP/BSM/Sonic/runtime/MsgBroker/log/recoverylog2.bin
Linux Tips and Tricks
• count
the number of messages in a file (wordcount –lines)
# grep “Warning” /opt/HP/BSM/log/jboss_boot.log | wc –l
17
• count
the number of .jar files in /opt/HP/BSM/lib
# ls -l /opt/HP/BSM/lib/*.jar | wc -l
589
• sort
list of files by modification date (newest one on the top)
# ls -tl | more
total 18092
-rw-r--r-- 1 root root 3049339 Jun 13 09:49 alert_statistics.ejb.log
-rw-r--r-- 1 root root
1430 Jun 13 09:41 alerts.rules.init.log
-rw-r--r-- 1 root root
133 Jun 13 09:41 alerts.rules.log
-rw-r--r-- 1 root root
1868 Jun 13 09:41 evb_alerts_ui.log
Linux Tips and Tricks
• what
process locks / uses a certain file
[root@vm17016 log]# fuser jk.2013-06-12-14.log
jk.2013-06-12-14.log: 30176
[root@vm17016 log]# ps 30176
PID TTY
30176 ?
STAT
TIME COMMAND
S
0:00 /opt/HP/BSM/WebServer/bin/rotatelogs /opt/HP/BSM/log/
Linux Tips and Tricks
rpm – RedHat Packet/Package Manager
• show
all packages installed
# rpm -query -a (or short rpm -qa)
• list all BSM packages installed
# rpm -qa | grep '^HP' | egrep -i 'bsm|opr|ov|eum|diag' | sort
HPBsm922AM-9.22.111-1
..
HPBSM_BPIPkg-9.20.019-1
HPBsmDocCom-9.30.092-1
..
HPDiagInt-9.20.105-1
..
HPEumCom-9.20.191-1
..
HPOprAdmin-9.20.197-1
..
HPOvSecCS-11.10.054-1
HPOvXpl-11.10.051-1
Linux Tips and Tricks
• list
all SystemHealth packages installed
# rpm -qa | grep -i systemhealth
SystemHealth1-9.22.010-1
SystemHealthDoc-9.22.000-1
..
Linux Tips and Tricks
• remove
a packages
# rpm -e <package>
# rpm -e HPBsmSonic-9.12.140-1
error: Failed dependencies:
HPBsmSonic >= 9.12.140 is needed by (installed)
HPBsmSonicSP2-9.12.140-1.i386
# rpm -e HPBsmSonicSP2-9.12.140-1
# rpm -e HPBsmSonic-9.12.140-1
• OR
(the lazy way, only do this if you know EXACTLY what you are doing)
# rpm -qa | grep -i hpbsm | xargs rpm -e
Installing Oracle
on Linux
© 2008 Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice.
Installing Oracle on Linux
• in
the following Oracle 11.1.0.6.0 is installed on
vm17057 which is running
Red Hat Enterprise Linux Server 5.9 (Tikanga)
Installing Oracle on Linux
• Oracle
installer (no matter whether it's the database or the client)
requires X, here we use VNC as X server
• as
• cd
user root:
/data/Oracle-11.1.0.6.0
• unzip
linux.x64_11gR1_database_1013.zip
• xhost
+
Installing Oracle on Linux
• next
• su
steps as user oracle:
- oracle
• export
DISPLAY=`hostname`:1
• xclock
(for a test of X)
• cd
(if using vnc)
/data/Oracle-11.1.0.6.0/database
• ./runInstaller
Installing Oracle on Linux
Oracle 11.1 Enterprise Edition
pre-installation check
Checking for libaio-devel-0.3.106; Not found. Failed <<<<
Checking for sysstat-7.0.0; Not found.
Failed <<<<
Downloaded the missing packages from the Internet
# rpmbuild --rebuild /tmp/sysstat-7.0.0-3.el5.src.rpm
Installing /tmp/sysstat-7.0.0-3.el5.src.rpm
..
Wrote: /usr/src/redhat/RPMS/x86_64/sysstat-7.0.0-3.x86_64.rpm
Wrote: /usr/src/redhat/RPMS/x86_64/sysstat-debuginfo-7.0.0-3.x86_64.rpm
# rpm -i -f /usr/src/redhat/RPMS/x86_64/sysstat-7.0.0-3.x86_64.rpm
rpm -query -a
..
sysstat-7.0.0-3
..
Installing Oracle on Linux
Checking for semopm=100; semopm=32. Failed <<<<
# ipcs -ls
------ Semaphore Limits -------max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 32
semaphore max value = 32767
sysctl -w kernel.sem="250 32000 100 128"
# ipcs -ls
------ Semaphore Limits --------
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 100
semaphore max value = 32767
Installing Oracle on Linux
Checking for ip_local_port_range=1024 - 65000; ip_local_port_range=32768 - 61000.
Failed <<<<
vi /etc/sysctl.conf
# increase system IP port limits
net.ipv4.ip_local_port_range = 1024 65535
Checking for rmem_default=4194304; rmem_default=126976. Failed <<<<
Checking for rmem_max=4194304; rmem_max=131071.
Failed <<<<
Checking for wmem_default=262144; wmem_default=126976.
Failed <<<<
Checking for wmem_max=262144; wmem_max=131071. Failed <<<<
vi /etc/sysctl.conf file
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
Installing Oracle on Linux
after successful installation:
Oracle Base Location - /home/oracle/app/oracle
Oracle Home Location - /home/oracle/app/oracle/product/11.1.0/db_1
UNIX DBA Group
- oracle
Global Database Name
- orcl
Database Password
- orcl
System Identifier (SID) – orcl
SID : orcl, Username : system Password : orcl
Server Parameter Filename /home/oracle/app/oracle/product/11.1.0/db_1/dbs/spfileorcl.ora
Database Control URL - https://vm17057:1158/em (login as system / orcl)
Encyption key
/home/oracle/app/oracle/product/11.1.0/db_1/vm17057_orcl/sysman/config/emkey.ora
adding the statements below to user oracle's .bashprofile
export ORACLE_HOME=/home/oracle/app/oracle/product/11.1.0/db_1
export ORACLE_SID=orcl
Installing Oracle on Linux
Starting Oracle
$su - oracle
$ORACLE_HOME/bin/lsnrctl start
$ORACLE_HOME/bin/dbstart
Installing Oracle on Linux
Starting Oracle
[oracle@vm17057 ~]$ $ORACLE_HOME/bin/lsnrctl start
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 10-JUN-2013 18:12:54
Copyright (c) 1991, 2007, Oracle.
All rights reserved.
Starting /home/oracle/app/oracle/product/11.1.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.1.0.6.0 - Production
System parameter file is /home/oracle/app/oracle/product/11.1.0/db_1/network/adm
in/listener.ora
Log messages written to /home/oracle/app/oracle/product/11.1.0/db_1/log/diag/tns
lsnr/vm17057/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vm17057)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
Installing Oracle on Linux
Starting Oracle
STATUS of the LISTENER
-----------------------Alias
LISTENER
Version
TNSLSNR for Linux: Version 11.1.0.6.0 - Production
Start Date
10-JUN-2013 18:12:54
Uptime
0 days 0 hr. 0 min. 0 sec
Trace Level
off
Security
ON: Local OS Authentication
SNMP
OFF
Listener Parameter File
/home/oracle/app/oracle/product/11.1.0/db_1/network/ad
min/listener.ora
Listener Log File
/home/oracle/app/oracle/product/11.1.0/db_1/log/diag/t
nslsnr/vm17057/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vm17057)(PORT=1521)))
The listener supports no services
The command completed successfully
Installing Oracle on Linux
Starting Oracle
[oracle@vm17057 ~]$ $ORACLE_HOME/bin/dbstart
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
Usage: /home/oracle/app/oracle/product/11.1.0/db_1/bin/dbstart ORACLE_HOME
Processing Database instance "orcl": log file /home/oracle/app/oracle/product/11
.1.0/db_1/startup.log
Installing Oracle on Linux
Stopping Oracle
#su - oracle
$ORACLE_HOME/bin/sqlplus “connect / as sysdba”
shutdown (immediate / abort)
$ORACLE_HOME/bin/dbshut
$ORACLE_HOME/bin/lsnrctl stop
Installing Oracle on Linux
Stopping Oracle
#su - oracle
[oracle@vm17057 ~]$ ORACLE_HOME/bin/sqlplus “connect / as sysdba”
..
SQL > connect / as sysdba
Connected.
SQL> shutdown abort;
ORACLE instance shut down.
SQL> exit;
Disconnected from Oracle Database 11g Enterprise Edition …
[oracle@vm17057 ~]$ $ORACLE_HOME/bin/dbshut
ORACLE_HOME_LISTNER is not SET, unable to auto-stop Oracle Net Listener
Usage: /home/oracle/app/oracle/product/11.1.0/db_1/bin/dbshut ORACLE_HOME
Processing Database instance "orcl": log file /home/oracle/app/oracle/product/11
.1.0/db_1/shutdown.log
Installing Oracle on Linux
Stopping Oracle
[oracle@vm17057 ~]$ $ORACLE_HOME/bin/lsnrctl stop
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 10-JUN-2013 18:10:43
Copyright (c) 1991, 2007, Oracle.
All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
The command completed successfully
Setting up BSM
with an Oracle
Database
© 2008 Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice.
Setting up BSM with an Oracle Database
• after
BSM and Oracle have been installed,
you need to create the tablespaces
• scripts
for the creation of Oracle tablespaces for BSM are
located at
/opt/HP/BSM/AppServer/webapps/site.war/DataBases/OR
A_DB_Utils/
• oracle_tablespace_create.sh
• oracle_tablespace_create.sql
• oracle_user_create.sh
• oracle_user_create.sql
• and
so on
Setting up BSM with an Oracle Database
• the
.sh scripts simply call SQLPLus and execute the
corresponding .sql script, for example
oracle_tablespace_create.sh
calls
sqlplus -s $1/$2@$3 @oracle_tablespace_create.sql $4 $5 $6
oracle_tablespace_create.sql
CREATE TABLESPACE "&&1"
LOGGING
DATAFILE
'&&2' SIZE &&3 REUSE
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO
Setting up BSM with an Oracle Database
• modify
oracle_tablespace_create.sh and fully qualify the path to
SQLPLUS
old
sqlplus …
new
/home/oracle/app/oracle/product/11.1.0/db_1/bin/sqlplus ...
• if
the DB server doesn‘t have BSM installed (which should be the case
for all serious BSM installations) you might need to copy the script
files over to the DB server, or perform all the steps manually
Setting up BSM with an Oracle Database
• create
a directory with PLENTY of space holding the datafiles
$ mkdir /oradata2
$ chmod 777 /oradata2
$ export ORACLE_HOME=/home/oracle/app/oracle/product/11.1.0/db_1
$ export ORACLE_SID=orcl
Setting up BSM with an Oracle Database
• create
the tablespace for the Management Database
[root@vm17057 ORA_DB_Utils]# ./oracle_tablespace_create.sh system
orcl orcl BSMVM83MGMT /oradata2/BSMVM83MGMT.dbf 5G
BATCH START !!
Creating tablespace BSMVM83MGMT into file:
/oradata2/BSMVM83MGMT.dbf with size of 5G
old
1: CREATE TABLESPACE "&&1"
new
1: CREATE TABLESPACE "BSMVM83MGMT"
old
4:
'&&2' SIZE &&3 REUSE
new
4:
'/oradata2/BSMVM83MGMT.dbf‘ SIZE 5G REUSE
[root@vm17057 ~]# ll /oradata2
-rw-r----- 1 oracle oracle
• Depending
time
5368717312 Jun 12 17:15 BSMVM83MGMT.dbf
on the size of the file this operation can take quite some
Setting up BSM with an Oracle Database
• do
the same for all other databases
./oracle_tablespace_create.sh system orcl orcl BSMVM83RTSM
/oradata2/BSMVM83RTSM.dbf 1G
./oracle_tablespace_create.sh system orcl orcl BSMVM83RTSMHIST
/oradata2/BSMVM83RTSMHIST.dbf 500M
./oracle_tablespace_create.sh system orcl orcl BSMVM83BPI
/oradata2/BSMVM83BPI.dbf 10M
./oracle_tablespace_create.sh system orcl orcl BSMVM83OPR
/oradata2/BSMVM83OPR.dbf 3G
./oracle_tablespace_create.sh system orcl orcl BSMVM83PROFDEF
/oradata2/BSMVM83PROFDEF.dbf 10G
• the
sizing requirements are listed in the Database Guide
Setting up BSM with an Oracle Database
Setting up BSM with an Oracle Database
• BSM
9.x – first provide the general database parameters
Setting up BSM with an Oracle Database
• BSM
9.x – then the parameters per database
New Schema Name
New Schema Password
Confirm Password
Default Tablespace
Temp Tablespace
:
:
:
:
:
BSMVM83MGMT
BSMVM83MGMT
BSMVM83MGMT
BSMVM83MGMT
TEMP
Setting up BSM with an Oracle Database
• to
setup a database for Service Health Analyzer
./oracle_tablespace_create.sh system orcl orcl BSMVM83SHA1
/oradata2/BSMVM83SHA1.dbf 10G
$ORACLE_HOME/bin/sqlplus -s system/orcl
@/opt/HP/BSM/AppServer/webapps/site.war/DataBases/ORA_DB_Utils/o
racle-db-creation_SHA.sql
/opt/HP/BSM/DbVerify/bin/generate_create_script.sh SHA_script.sql
Oracle Analytics 1
Script SHA_script.sql successfully created
$ORACLE_HOME/bin/sqlplus -s BSMVM83SHA1/BSMVM83SHA1
@/opt/HP/BSM/AppServer/webapps/site.war/DataBases/ORA_DB_Utils/S
HA_script.sql
Setting up BSM with an Oracle Database
• to
setup a database for Service Health Analyzer
BSM -> Admin -> Platform -> Setup and Maintenance ->
Manage Analytics Databases
Accessing an
Oracle database
© 2008 Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice.
Accessing an Oracle database
• accessing
the BSM databases
• /opt/HP/BSM/tools/bsmbrowser/bsmbrowser.sh
limited to Management and Profile database
• Oracle‘s
SQLplus
nasty character mode interface, but required to use for some basic
operations like starting a database
• Oracle
SQL Developer
graphical interface
Accessing an Oracle database
• BSMBrowser
• /opt/HP/BSM/tools/bsmbrowser/bsmbrowser.sh
• with
„Topaz Connect“ it takes login information out of
/opt/HP/BSM/conf/TopazInfra.ini
Accessing an Oracle database
• Oracle’s
sqlplus
[root@vm17057 ~]# su - oracle
[oracle@vm17057 ~]$ $ORACLE_HOME/bin/sqlplus "connect / as sysdba"
SQL*Plus: Release 11.1.0.6.0 - Production on Wed Jun 5 19:55:12 2013
Copyright (c) 1982, 2007, Oracle.
All rights reserved.
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
Accessing an Oracle database
• Oracle’s
sqlplus
[root@vm17057 ~]# su – oracle
[oracle@vm17057 ~]$ $ORACLE_HOME/bin/sqlplus
SQL*Plus: Release 11.1.0.6.0 - Production on Wed Jun 5 19:56:05 2013
Copyright (c) 1982, 2007, Oracle.
All rights reserved.
Enter user-name: system
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> connect / as sysdba
Connected.
SQL>
Accessing an Oracle database
• Oracle’s
• to
sqlplus
access a specific database – logon to it:
[oracle@vm17057 ~]$ $ORACLE_HOME/bin/sqlplus
Enter user-name: BSM910MGMT
Enter password:
SQL> select SESSION_ID,SESSION_NAME from sessions;
SESSION_ID
SESSION_NAME
----------
------------
3
Unassignedvm17057.deu.hp.comBSM910PROFSISBSM910PROFSIS
4
Unassignedvm17057.deu.hp.comBSM910PROFBPMBSM910PROFBPM
..
8 rows selected.
SQL>
Accessing an Oracle database
• Oracle’s
• execute
sqlplus
a SQL script
SQL> @/path/script
Accessing an Oracle database
• Oracle
• install
SQL Developer
JDK SE < 1.7, for example 1.6.0_30 into /opt/jdk1.6.0_30
• download
Oracle SQL Developer from
http://www.oracle.com/technetwork/developer-tools/sqldeveloper/downloads/index.html
• install
as documented, when being asked for the location of the JDK,
enter
/opt/jdk1.6.0_30
• to
start the tool, run
<path to sqldeveloper>/sqldeveloper.sh
Accessing an Oracle database
• Oracle
SQL Developer
to connect to one specific database
Connection Name (whatever you like, for example "BSM910MGMT")
Username : name of the schema (for example "BSM910MGMT")
Password : corresponding password
(make sure to check “Save Password”)
Connection Type : Basic
Role : default
Hostname : name of the server running the DB, for example
vm17057.deu.hp.com
Port : usually 1521
SID : the DB SID, I used ORCL when creating the DB
if this connection has been established and saved, you can then
access all tables within the database "BSM910MGMT"
Accessing an Oracle database
• Oracle
SQL Developer
Accessing an Oracle database
• Oracle SQL Developer
database name -> right mouse click -> Manage Databases
allows a very good overview
on all the tablespaces and
their utilization
Accessing an Oracle database
• Oracle
SQL Developer
Accessing an Oracle database
• Oracle SQL Developer
viewing contents of Mgmt DB table SESSIONS
Accessing an Oracle database
• Oracle SQL Developer
executing SQL commands
Accessing an Oracle database
• Oracle SQL Developer
executing SQL commands
Useful Oracle /
SQL commands
© 2008 Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice.
Useful Oracle / SQL commands
• show
/ delete a user
when creating a BSM database and encountering an error, the next
time the creation might fail with
“… already exists”
Oracle creates a user which is used as reference, so this one needs to
be deleted. Here I’m struggling with the database “BSMVM83SHA1”:
SQL> select * from all_users;
USERNAME
USER_ID CREATED
------------------------------ ---------- --------BSMVM83PROFDEF
138 29-APR-13
BSMVM83OPR
137 29-APR-13
BSMVM83SHA1
133 29-APR-13
SQL> drop user BSMVM83SHA1 cascade;
Useful Oracle / SQL commands
• show
/ delete a tablespace
SQL> select tablespace_name from dba_tablespaces;
TABLESPACE_NAME
-----------------------------SYSTEM
SYSAUX
BSMVM83SHA1
...
SQL > drop tablespace BSMVM83SHA1 including contents and
datafiles cascade constraints;
Useful Oracle / SQL commands
• show
/ drop a view
SQL> select text from dba_views where view_name='BPM_TRANS';
TEXT
-------------------------------------------------------------------------------select "SAMPLETIME","TUID","DBDATE","CUSTOMER_ID","INTERNAL_TRANSACTION_ID",
...
,"DOWNTIME_STATE","ERROR_COUNT","AVAILABILITY_STATUS" from BPM_TRANS_90000
<TEXT> then contains the complete SQL statement to create the view
SQL > drop view BPM_TRANS CASCADE CONSTRAINTS;
SQL > create view BPM_TRANS as <TEXT>;
Useful Oracle / SQL commands
• show
/ drop a view
SQL> select text from dba_views where view_name = 'SGTEST';
select "SAMPLETIME","AVAILABILITY_STATUS" from
BSMVM83PROFDEF.BPM_TRANS_90000
SQL> drop view SGTEST cascade constraints;
View dropped.
SQL> create view sgtest as select
"SAMPLETIME","AVAILABILITY_STATUS" from
BSMVM83PROFDEF.BPM_TRANS_90000 ;
View created.
Useful Oracle / SQL commands
• show
/ enlarge tablespaces
if you see this red mark, it‘s time to increase the tablespace
SQL > select * from dba_tablespaces
SQL > SELECT TABLESPACE_NAME, STATUS, CONTENTS FROM
USER_TABLESPACES;
SQL > SELECT TABLESPACE_NAME, FILE_NAME, BYTES FROM
DBA_DATA_FILES;
SQL > alter tablespace <name> add datafile …
Useful Oracle / SQL commands
• show
/ enlarge tablespace SYSTEM / SYSAUX
SQL> SELECT FILE_NAME, BYTES FROM DBA_DATA_FILES where
tablespace_name = 'SYSTEM';
FILE_NAME
BYTES
-------------------------------------------------- ---------/home/oracle/app/oracle/oradata/orcl/system01.dbf
1352663040
/home/oracle/app/oracle/oradata/orcl/system02.dbf
104857600
/home/oracle/app/oracle/oradata/orcl/system03.dbf
524288000
/oradata2/system04.dbf
524288000
SQL > alter tablespace SYSTEM add datafile
'/oradata2/system05.dbf' size 500m;
for SYSAUX tablespace replace “SYSTEM” with “SYSAUX”
Useful Oracle / SQL commands
• show
/ enlarge tablespace TEMP
SQL> SELECT FILE_NAME FROM DBA_TEMP_FILES;
FILE_NAME
-------------------------------------------------/home/oracle/app/oracle/oradata/orcl/temp01.dbf
/home/oracle/app/oracle/oradata/orcl/temp02.dbf
SQL > alter tablespace TEMP ADD TEMPFILE
'/home/oracle/app/oracle/oradata/orcl/temp03.dbf' SIZE 500M;
Useful Oracle / SQL commands
• move
datafiles to a different location, for example if one drive runs out
of space. The current location of the datafiles can be queried from the
V$DATAFILE view:
SQL> SELECT name FROM v$datafile;
NAME
--------------------------------------------------------/oradata/BSM910SHA1.dbf
..
shutdown the database
SQL> shutdown abort;
Useful Oracle / SQL commands
move the physical file on the OS
$ mv /oradata/BSM910SHA1.dbf /oradata2/BSM910SHA1.dbf
start the database in mount mode
SQL> startup mount;
SQL> ALTER DATABASE RENAME FILE '/oradata/BSM910SHA1.dbf' to
'/oradata2/BSM910SHA1.dbf';
SQL> ALTER DATABASE OPEN;
SQL> SELECT name FROM v$datafile;
NAME
--------------------------------------------------------/oradata2/BSM910SHA1.dbf
Useful Oracle / SQL commands
• password
expired and BSM doesn’t work anymore
for example in nanny_all.log
Failed to create a connection for pool: dbType=(ORACLE Server);
..
[mercury][Oracle JDBC Driver][Oracle]ORA-28001: the password has expired
• to
alter the password expiry policy for a certain user in Oracle first
check which profile the user is in using:
SQL> select profile from DBA_USERS where username = ‘BSM910MGMT’;
DEFAULT
SQL> select * from dba_profiles where profile='DEFAULT';
PROFILE
RESOURCE_NAME
RESOURCE
LIMIT
------------------------------ -------------------------------- --------
--------
DEFAULT
60
PASSWORD_LIFE_TIME
PASSWORD
Useful Oracle / SQL commands
• password
• now
expired and BSM doesn’t work anymore
you can change the limit to “never expire” using:
SQL> alter profile DEFAULT limit password_life_time UNLIMITED;
Profile altered.
• apply
the change for the user
SQL> ALTER USER BSM910MGMT IDENTIFIED BY BSM910MGMT;
User altered.
Useful Oracle / SQL commands
• list
all tables
SQL> select * from user_objects where object_type = 'TABLE' order
by object_name;
• table
definiton / layout
SQL> describe BPM_TRANS;
• list
all constraints for some tables
SQL> select * from user_constraints uc where uc.constraint_name
like ('BPM_TRANS%');
• list
all indexes for some tables
SQL> select * from user_indexes where table_name like
'BPM_TRANS%‘;
Useful Oracle / SQL commands
• lowest
/ highest entry (timestamp) in a table
(do we have current data from BPM)
SQL> select min(sampletime) from bpm_trans;
SQL> select max(sampletime) from bpm_trans;
MAX(SAMPLETIME)
--------------1371117323
• how
to convert 1371117323 to a human readable date and time
http://www.epochconverter.com/
Useful Oracle / SQL commands
• newest
(timestamp) 10 entries in a table
SQL > select * from bpm_trans where rownum < 10
order by sampletime desc ;
• date and time in a SELECT statement
SQL> delete from pm_catalog where pm_entity='M_MR01F1_F' and
pm_creation_date=to_date('2013-01-14 10:18:27', 'yyyy-mm-dd
hh:mi:ss‘);
Useful Oracle / SQL commands
• number
of entries per transaction (from profile db)
SQL> select internal_transaction_id, count(*) as cnt from
bpm_trans group by internal_transaction_id having count(*) > 1;
INTERNAL_TRANSACTION_ID
CNT
----------------------- ---------6
4181
11
4188
SQL> select INTERNAL_TRANSACTION_ID, TRANSACTION_NAME from
transactions_dim ;
INTERNAL_TRANSACTION_ID TRANSACTION_NAME
----------------------- -----------------------------6
Step 2 - SSO
11
SG_Step_1_KoeJe
Useful Oracle / SQL commands
• find
the SQL command executed by a certain process
SQL> select sql_id,schemaname,osuser from v$session where sql_id
<> ' ';
SQL_ID
USERNAME
SCHEMANAME
OSUSER
------------- ------------------------------ ------------------------------ -------7asy8fd1291jn SYSTEM
SYSTEM
root
bsjf3qxa0bqgv SYS
SYS
oracle
f5u5tbj17bhr7 BSM910RTSM
BSM910RTSM
root
c5brdpybgqss6
SYS
oracle
SQL> select sql_text from v$sqltext where sql_id = 'f5u5tbj17bhr7';
SQL_TEXT
---------------------------------------------------------------TRUNCATE TABLE TOPOLOGY_CHANGES_1 REUSE STORAGE
Power Points will be uploaded to
http://rndwiki.atlanta.hp.com/confluence/display/bsmtrouble/BSM+Support+Te
am+Troubleshooting+Page
You can also download them from the Virtual Room now