Wednesday, November 12, 2008

UNIX lsof

Operating Oracle Application servers under Linux and UNIX requires from time to time that you find out why the application is having performance problems. When starting to debug the application server one of the first things you most likely will be doing is mine the logfiles, check all kind of Oracle tools and at some point you will have to start looking at the operating system. When looking at the operating system one of your best friends will be lsof. lsof stands for LiSt Of Files and lists information about files opened by processes for the following UNIX dialects. As everything under Linux is a file this tool will show you everything you could possible want to know.

For example you can list all the information about what is happening on your interfaces when you like to know things about the interface extend the lsof command with a -i and if you like to know something about a specific port you can extend the lsof command with -i :(port-number). For example you can use the following command 'lsof -i :521'. This will give you all the information about the processes running in conjunction with port 521.

However, lsof is not limited to interfaces only, you can for example list everything that is linked to a specific process id. For example I checked which process id is my current bash shell and found out that it is 184. So the command 'lsof -p 184' will show me the following:

johan-louwerss-macbook-pro:Versions jlouwers$ lsof -p 184
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 184 jlouwers cwd DIR 14,2 476 166647 /System/Library/Frameworks/JavaVM.framework/Versions
bash 184 jlouwers txt REG 14,2 1244928 21392 /bin/bash
bash 184 jlouwers txt REG 14,2 1059776 21697 /usr/lib/dyld
bash 184 jlouwers txt REG 14,2 134975488 700983 /private/var/db/dyld/dyld_shared_cache_i386
bash 184 jlouwers 0u CHR 16,0 0t315770 153056004 /dev/ttys000
bash 184 jlouwers 1u CHR 16,0 0t315770 153056004 /dev/ttys000
bash 184 jlouwers 2u CHR 16,0 0t315770 153056004 /dev/ttys000
bash 184 jlouwers 255u CHR 16,0 0t315770 153056004 /dev/ttys000
johan-louwerss-macbook-pro:Versions jlouwers$

lsof is also a 'replacement' for the fuser command. You can extend the lsof command wit a +d. For example execute the command: lsof +d /var/log/messages you will get a list of all processes who are writing and keeping locks on this file.

There are a lot more options in lsof you have to explore. just do a man lsof and you will find a lot more options that you can use.





Tuesday, November 11, 2008

Oracle Social CRM

Oracle is launching a new line of social marketing and social CRM applications. The new line of applications is enrrched with web2.0 options and is ideal to communicate with online social networks and incorperate the information from those sources into the application. Fully integrated with your on demand or on premise CRM and other critical enterprise data, these applications help users sell more while entering less data.

You have to check the flash demo here.....


Monday, November 10, 2008

Certified Software on Oracle VM

Oracle launched today a new release of note 464754.1 "Certified Software on Oracle VM". Here they list all Oracle applications which are certified to run on Oracle Vm:

Oracle database:
Oracle Database 10gR2 (10.2.0.3 and up) for Linux x86 and Linux x86-64
Oracle Database 11gR1 for Linux x86 and Linux x86-64

Oracle Real Application Clusters (RAC):
Oracle 10.2.0.4 (10gR2) RAC for Linux x86 certified on Oracle VM

Enterprise Manager:
EM Grid Control 10.2.0.4 for Linux x86
EM Grid Control 10.2.0.4 for Linux x86-64

Application Server:
Application Server 10gR2 (10.1.2.0.2, 10.1.2.2.0 patchset) for Linux x86 and Linux x86-64
Application Server 10gR3 for Linux x86 and Linux x86-64

Hyperion:
Shared Services version 9.3.1
Hyperion Essbase Server version 9.3.1
Hyperion Reporting and Analysis version 9.3.1

JD Edwards:
JD Edwards EnterpriseOne enterprise, database, and web servers are supported to run with Oracle VM in Oracle Enterprise Linux 5 or Red Hat Enterprise Linux 5 x86-64 guests. The support begins with JD Edwards EnterpriseOne Tools 8.97.2 and Applications 8.12

Berkeley DB:
Berkeley DB Java Edition version 3.2 Linux x86
Berkeley DB version 4.6 Linux x86
Berkeley DB XML version 2.3 Linux x86

TimesTen:
TimesTen 7.0.3.1 and above for Linux x86 and Linux x86-64

Oracle E-Business Suite:
Oracle Applications 11.5.10 CU2 or later with 11i.ATG_PF.H.RUP5 (Patch 5473858) or later for Linux x86
Oracle Applications R12 with Oracle E-Business Suite 12.0.2 Release Update Pack RUP2 (Patch 5473858) or later for Linux x86
Oracle E-Business Suite Release 12 is certified with 64-bit Oracle Enterprise Linux (OEL) 4 and 64-bit Red Hat Enterprise Linux (RHEL) 4 on x86-64 with Oracle VM.

Siebel:
Siebel 8.0 and above on Linux x86

Peoplesoft:
PeopleTools 8.49.07 and above allows PeopleSoft applications 8.4x and 9 to utilize Oracle Virtualization in a certified guest Linux environment.

Oracle Retail:
Oracle Retail supports the use of VM technology . As Application Server 10gR2 and 10gR3 and DB 10gR2 are certified on Oracle VM, Oracle Retail supports version 13.x of the following applications (all are certified on OEL 4:) RMS, RTM, ReIM, ReSA, ARI , RPM, Allocation, SIM, RIB, RDW, WMS GUI, MDO and Central Office.

Oracle Financial Services Software Limited(formerly i-flex Solutions Limited):
FLEXCUBE V.UM Release 10.0 and above for Linux x86 and x86-64.

Oracle WebLogic Platform 10.3:
WebLogic Server 10.3 on OEL4 and OEL5, x86 and x86_64 guest os
WebLogic Portal 10.3 on OEL4 and OEL5, x86 and x86_64 guest os
Workshop for WebLogic 10.3 IDE on OEL4 x86 guest os
Workshop for WebLogic 10.3 runtime on OEL4 and OEL5, x86 and x86_64 guest os

Oracle forms find user

When working with Oracle forms 11i you can find yourself in the position you see a large load on your system and you are able to find the process ID. Now the trick is to find the oracle apps user which is associated with the UNIX process id. Metalink is advising you some things and this script can come handy when you need to find the user:

column "User Name" format a10
column "ClPID" format a8

select
d.user_name "User Name",
b.sid SID,b.serial# "Serial#", c.spid "srvPID", a.SPID "ClPID",
to_char(START_TIME,'DD-MON-YY HH:MM:SS') "STime"
from
fnd_logins a, v$session b, v$process c, fnd_user d
where
b.paddr = c.addr
and a.pid=c.pid
and a.spid = b.process
and d.user_id = a.user_id
and (d.user_name = 'USER_NAME' OR 1=1)
and a.SPID = &PID
/


"This note can help in case that your f60webmx process id very intense or high
CPU usage / memory and you want to identify who has created that session. The script output can also help to determine the apps user that used Ctrl-Alt-Del to close an Oracle Applications 11i session and that session hung on the Forms-tier/DB-tier."

Sunday, November 09, 2008

New Oracle VM templates


Oracle launched a couple of new templates for Oracle VM which you can download and use to quickly setup a operating system and Oracle environment. By enabling customers to download complete VM templates Oracle is building a strong adoption to the way Oracle is viewing virtualization with Oracle VM and XEN. Currently Oracle is proving the following templates for downloading:

• Oracle Application Server 10g Release 3 Webcenter
• Oracle Database 10g Release 2 (10.2.0.3)
• Oracle Database 11g
• Oracle Enterprise Linux
• Oracle Enterprise Manager 10g (10.2.0.4)
• Oracle Fusion Middleware Service Oriented Architecture on WebLogic Server 9.2 (10.1.3.3)
• Oracle Siebel CRM 8

New York City

For those of you who are wondering why I was not updating my weblog and why you received out of the office messages on your mails. I have been spending some in New York City. I have been visiting the city with my girlfriend and 2 other people and have been doing mainly the big tourist things. Also made a quick visit to Coen and his wife and son so we could see the new house the have on the other side of the Hudson river.

I will be posting a small collection of pictures about the trip on my weblog for those of you who are interested. For now however a short version of the things we have been doing. Jazz-cafe, top of the rock, MoMa, Central park, Amercian Museum of Natural History, halloween, and much much more... sorry you will have to wait for the pictures :-)

Windows Essential Business Server

Microsoft launched on Friday a new server named 'Windows Essential Business Server' which is in fact a all in one solution for the small and medium sized businesses. WEBS is providing the customers with a central server platform where you can make some choices on what you want the server to be in your network. The image above is providing a clear overview . Nice to notice is that in the Premium version you can also choose to setup a database server.

You can find the press-release on the Microsoft site.

Wednesday, October 22, 2008

Ubunutu Firefox, unable to reply hotmail message

Today my girlfriend came to the stunning conclusion she was unable to reply on e-mail messages when she was using here Ubuntu box. After some investigations she found out that she was already running the latest version of FireFox and she was still prompted, after the login page of hotmail, that she was not running a supported version. it finally came out that the version installed was a 'ubuntu release' of firefox.

Following the steps below will make the 'not able to reply' problem disappear.


1. Type about:config at firefox URL field and press enter.

2. Click on "I'll be careful, I promise!" button.

3. Then at the top filter field, type useragent to make "general.useragent.vendor" name in sight.

4. Double click "general.useragent.vendor" to change the value from Ubuntu to Firefox.

5. Done!

Thanks to John Navarro on ubuntuforums.org


Tuesday, October 21, 2008

understanding the XEN xm list command

When maintaining a XEN Oracle VM server one of the commands you will most likely be using a lot is the list command. list will give you a overview of which virtual machine is where, which virtual machine is running, which virtual machine is down and such things. Understanding the list command is vital to understanding your server landscape and monitor things.

We will be working in this post on the XEN xm shell as described in a previous post. XEN states the following about the list command: "List information about all/some domains".

xm> help list
Usage: xm list [options] [Domain, ...]

List information about all/some domains.
-l, --long Output all VM details in SXP
--label Include security labels
--state= Select only VMs with the specified state

xm>

the help list command is already showing you some of the options you will have at the list command. issuing the list command 'stand alone' is providing a output like the one below:

xm> list
Name ID Mem VCPUs State Time(s)
48_VM1 3 1024 1 -b---- 27356.4
Domain-0 0 581 2 r----- 395481.0
xm>

ID is showing you the 'internal' XEN domain ID or 'Virtual machine ID'. this ID is used at other commands to issue commands to take actions on a domain. For example if you want to shutdown a domain you issue the command shutdown -w (domain ID).

Mem is showing you the memory assigned to the domain in megabytes. In the example above you can see that domain 48_VM1 has 1024MB allocated and Domain-0 has 581MB assigned. This is not saying anything about how much of this memory is used within the domain by the virtual machine.

Time(s) is showing the time the domain is running.

State; the State field lists 6 states for a Xen Domain, and which ones the current Domain is in.
r - running
The domain is currently running on a CPU
b - blocked
The domain is blocked, and not running or runnable. This can be caused because the domain is waiting on IO (a traditional wait state) or has gone to sleep because there was nothing else for it to do.
p - paused
The domain has been paused, usually occurring through the administrator running xm pause. When in a paused state the domain will still consume allocated resources like memory, but will not be eligible for scheduling by the Xen hypervisor.
s - shutdown
The guest has requested to be shutdown, rebooted or suspended, and the domain is in the process of being destroyed in response.
c - crashed
The domain has crashed, which is always a violent ending. Usually this state can only occur if the domain has been configured not to restart on crash. See xmdomain.cfg for more info.
d - dying
The domain is in process of dying, but hasn't completely shutdown or crashed.

By adding --label to the list command you will get the security label added at the end of the records. Below you can see a example where I did not set security labels to the domains. For more information about adding security labels to XEN domains take a look at linuxtopia.org

xm> list --label
Name ID Mem VCPUs State Time(s) Label
48_VM1 3 1024 1 -b---- 27372.1 INACTIVE
Domain-0 0 581 2 r----- 395658.0 INACTIVE
xm>

By adding a -l or --long to the list command you will get a lot more information about the domains running on your XEN server. The information is represented in a S-expression format. Xen states the following about the list -l option: "If --long is specified, the output for xm list is not the table view shown above, but instead is an S-Expression representing all information known about all domains asked for. This is mostly only useful for external programs to parse the data.". I tend to disagree with XEN on the "This is mostly only useful for external programs to parse the data" section. You can quickly see a lot of information you might need about a domain in the S-Expression representation.

Wikipedia states the following about S-Expressions:
"The term S-expression or sexp (where S stands for symbolic) refers to a convention for representing semi-structured data in human-readable textual form. S-expressions are probably best known for their use in the Lisp family of programming languages. Other uses of S-expressions are in Lisp-derived languages such as DSSSL, and as mark-up in communications protocols like IMAP and John McCarthy's CBCL. The details of the syntax and supported data types vary in the different languages, but the most common feature among these languages is the use of S-expressions as parenthesized prefix notation (sometimes known as Cambridge Polish notation).

S-expressions are used for both code and data in Lisp (see McCarthy Recursive Functions of Symbolic Expressions [1]). S-expressions were originally intended only for data to be manipulated by M-expressions, but the first implementation of Lisp was an interpreter of S-expression encodings of M-expressions, and Lisp programmers soon became accustomed to using S-expressions for both code and data.".

The S-expression output of XEN on a domain or on all domains will be explained in a future post. This is to much to discuss right now.

XEN xm shell

When operating a XEN server and/or Oracle VM from a command line you can do almost everyting via de xm command. For example if you would like to view a list of the current domains on your server you can enter the command 'xm list' to show it on the console.

[root@boxjohan ~]# xm list
Name ID Mem VCPUs State Time(s)
48_VM1 3 1024 1 -b---- 27304.2
Domain-0 0 581 2 r----- 394864.9

however, when you have to do a lot of maintenance on your XEN and/or Oracle VM server you might not want to put xm in front of all your commands. So you can work on a XEN xm shell which is developed as a shell purely for working on your XEN and/or Oracle VM server. You can enter the shell by issuing the 'xm shell' command.

[root@boxjohan ~]# xm shell
The Xen Master. Type "help" for a list of functions.
xm>

You will notice that you are now in the XEN shell and your prompt is now xm> when you issue the help command you will notice that this will give you the exact same output as issuing xm from a bash command line.

xm> help
Usage: xm [args]

Control, list, and manipulate Xen guest instances.

Common 'xm' commands:

console Attach to 's console.
create Create a domain based on .
new Adds a domain to Xend domain management
delete Remove a domain from Xend domain management.
destroy Terminate a domain immediately.
dump-core Dump core for a specific domain.
help Display this message.
list List information about all/some domains.
mem-set Set the current memory usage for a domain.
migrate Migrate a domain to another machine.
pause Pause execution of a domain.
reboot Reboot a domain.
restore Restore a domain from a saved state.
resume Resume a Xend managed domain
save Save a domain state to restore later.
shell Launch an interactive shell.
shutdown Shutdown a domain.
start Start a Xend managed domain
suspend Suspend a Xend managed domain
top Monitor a host and the domains in real time.
unpause Unpause a paused domain.
uptime Print uptime for a domain.
vcpu-set Set the number of active VCPUs for allowed for
the domain.

can either be the Domain Name or Id.
For more help on 'xm' see the xm(1) man page.
For more help on 'xm create' see the xmdomain.cfg(5) man page.

For a complete list of subcommands run 'xm help'.
xm>

By using the xm shell function you will be able to more closely work with your XEN and/or Oracle VM server however you can also do anything what you want without invoking the shell, you will be able to do anything by putting xm in front of the command you would enter in the shell.

VMware Roadmap

I just found a post at techhead.co.uk written by Simon on VMware. The posting is really a guide to performing a basic Storage VMotion using the provided command line method from VMware. There are also other useful bits of information along the way.

As VMware explain in their ‘new features storage guide’:
"Storage VMotion (SVM) enables live migration of virtual machine disks from one datastore to another with no disruption or downtime. Just as VMware VMotion allows IT administrators to minimize service disruption due to planned server downtime, Storage VMotion allows them to minimize disruption by reducing the planned storage downtime previously required for rebalancing or retiring storage arrays. Storage VMotion simplifies array migration and upgrade tasks, and reduces I/O bottlenecks by moving virtual machines while the VM remains up and running. It provides a hot migration of the storage location on which the vmhome resides."

I also found a video on the VMware 2009 Roadmap Video Storage VMotion Enhancements.

Monday, October 20, 2008

At Google Zurich

Shame I missed it, Google hosted a open source jam in the Zurich office. One of the most interesting speeches I have missed is the talk by Gabriel Petrovay about the of XQuery support in Eclipse, using XQDT and Zorba. If you like to keep informed about the Open Source Jams at the google office in Zurich keep an eye open at the discussion group where you will be able to get more info.



Sunday, October 19, 2008

Oracle CRM vlog

Ken Pulverman from the Oracle CRM team launched his first video on his blog as part of (we hope) a lot more. By posting this they make the blog now a vlog. In his first video we can see a interview with Paul Greenberg at OpenWorld who is the author of "CRM at the Speed of Light"



Dual screen on Ubuntu

I recently tried to install Ubuntu on a desktop machine which was equipped with a dual screen setup. Having two screens and a ATI catalyst radeon X1950 PRO graphical video card. When installing Ubuntu from scratch it gave me initially the same screen on both screens and I wanted to extend the desktop so you could have one big screen to work on instead of clone the screen on both monitors.

To get rid of this problem I started to explore the /etc/X11/xorg.conf file stating how X will work with your monitor(s) and input devices. I have been reading some forums and guides where people stated how they achieved to get things working. I finally started with a promising howto guide and found myself in the position after a while where I could only have a screen on one single monitor. After some restore work and fixing some stuff I broke during this approach I tried it in a different way.

ATI is providing a proprietary drivers and a management tool. Even do I normally tend to the free and opensource drivers provided by the community I decided against it this time. Free as in freedom also means that you have the freedom not to choose the freedom op opensource, in this case I picked to give up some of this freedom. After installing the drivers and the management tool all was setup in a couple of minutes. So when you try to setup a dual screen in Ubuntu and you have a ATI card, the fastest way to do things is to use the ATI software.





Monday, October 13, 2008

Oracle Project Management tool


A couple of day ago Oracle finally acquired Primavera Software, Inc. Talks where already some time on the way but October 8 Oracle and Primavera launched a press release stating that they have agreed with the takeover.

Looking at the product portfolio of Primavera it can only be considered a good investment decision. For example the Project Management tool which runs in a web browser can very easily be combined with the other Oracle products. And this will give a lot of companies the possibility to run there Project Management tools even closer in their ERP systems and by doing this you can even more closely report and measure the outcome of a project and the efficiency.
And it is one more reason to NOT switch to Microsoft Projects.