Thursday, December 23, 2010

Dynamic Pricing - Siebel 8.1.1.x and above

Hi Friends,

Well, up to Siebel 8.0.0.x versions, we had to manually configure dozens of things to ensure that we successfully enable Dynamic Pricing (Complete Manual Instructions), but now that is no longer the case from Siebel 8.1.1.x and above versions :-)

Dynamic Pricing can now be enabled at a click of a button from:
Sitemap -> Administration - Pricing -> Pricelists -> Menu -> Enable Dynamic Pricing





Hope this tip helps!
Enjoy!

Keywords:
comparison pricing,competitive pricing,dynamic price,dynamic pricing,market pricing,price waterfall,pricer,pricing management,pricing strategy,product pricing,siebel crm,value pricing

Tuesday, November 23, 2010

IE8 - SBL-UIF-00296: You already have a web browser accessing the current web session.

Hi Friends,

With Siebel CRM recently releasing IE8 compatibility, one common issue faced on day one is
"SBL-UIF-00296: You already have a web browser accessing the current web session. Multiple browsers are not allowed to share the same web session"

No matter what you do, you are not able to open multiple Siebel instances in IE8!
Well, those who are new to IE8, there seems to be a session replication builtin which causes to replicate the session in the multiple instances you open causing Siebel to give the error.

The correct way to resolve this is to start a new IE8 Siebel Session using
a) File -> New Session or  [From IE8 UI]
b) iexplore.exe -nomerge   [Command line -nomerge option]

This way we explicitly instruct IE8 not to replicate session allowing us to open multiple Siebel instances.
Please remember that never open multiple Siebel instances in different IE Tabs! It is not supported and can cause a big issue with your data.


Hope this tip helps :-)

Keywords:
IE8, 8.0.0.8, 8.1.1.3, Siebel CRM, siebel crm,siebel customer relationship management,siebel solutions,siebel support,siebel support web,siebel systems, Internet Explorer, Session Replication, etc

Tuesday, November 02, 2010

Joomla LDAP Setup

Hi Friends,

Few days back i was playing with an internal setup of WAMP Server having Apache 2.2.11, PHP 5.3.0 & MySQL 5.1.36 deployed with Joomla 1.5.21 CMS.
 
Joomla provides a native LDAP Authentication plugin which can be enabled to connect to your LDAP directory for authentication. It can be found under your Joomla Admin Panel -> Extensions -> Plugin Manager -> Authentication - LDAP
 
In our environment we have Red Hat Directory Server providing us the directory services.
It supports bind & search kind of authentication over LDAP, so below are the settings needed to be done on the joomla authentication plugin
 
Host: ldaphost.domain.com
Port: 389 [Default, change it if you run on other port number]
Authorisation Method: Bind & Search
Base DN: dc=value,dc=value    [e.g. dc=domainname,dc=com]
Search String: uid=[search]     [Note, here uid is the attribute which stores user id. So in your environment you have userid as the attribute, then the correct value is userid=[search] ]
User's DN: [This should be blank & only used if you are using Authorisation Method as bind directly as a user. ]
Connect Username: uid=directoryadminusername,ou=directoryadminusergroup,dc=value,dc=value
[Notes:
uid - Is the attribute which stores user id. If you have userid as the attribute, the it should be userid=
directoryadminusername - This should be your LDAP Directories Admin user's id
directoryadminusergroup - This should be your LDAP Directory Admin user's group name
dc=value,dc=value - This should be similar to your Base DN ]
Connect Passwod: Specify the directory admin user password here
Map Full name: fullnameattribute [Specify the attribute within LDAP Directory which stores the full name]
Map Email: emailattribute [Specify the attribute within LDAP Directory which stores the email address]
Map Userid: useridattribute [Specify the attribute within LDAP Directory which stores the userid]
 
 


Note, once you enable the LDAP Authentication, any new user logging in will have an automatic user record creation within Joomla. So in essence, you should take off the "Register" link on the login form!

If you face issues while setting this up, then please ask in the comments section :-)
Enjoy!

Keywords:
Joomla 1.5.21, PHP, MySQL, WAMP, Apache, CMS, LDAP, etc

Friday, October 29, 2010

Joomla PHP/MySQL Performance Tuning

Hi Friends,

Few days back i was playing with an internal setup of WAMP Server having Apache 2.2.11, PHP 5.3.0 & MySQL 5.1.36 deployed with Joomla 1.5.21 CMS.
 
For a 500 user base below are Apache & MySQL Parameters for optimal Joomla Performance on a Windows Deployment:
 
Apache mpm_winnt_module
# WinNT MPM
# ThreadsPerChild: constant number of worker threads in the server process
# MaxRequestsPerChild: maximum number of requests a server process serves

ThreadLimit 1000
ThreadsPerChild 500
MaxRequestsPerChild 0
KeepAlive On
KeepAliveTimeout 60
MaxKeepAliveRequests 100
MaxMemFree 100


MySQL my.ini
key_buffer = 150M
max_allowed_packet = 1M
table_cache = 1000
sort_buffer_size = 1M
net_buffer_length = 8K
read_buffer_size = 1M
read_rnd_buffer_size = 768K
myisam_sort_buffer_size = 64M
basedir=D:/wamp/bin/mysql/mysql5.1.36
log-error=D:/wamp/logs/mysql.log
datadir=D:/wamp/bin/mysql/mysql5.1.36/data
query_cache_limit=1M
query_cache_size=32M
query_cache_type=1
tmp_table_size=32M
key_buffer_size=64M

These changes are tested & found be working at acceptable levels in my environment. Please consider your deployment sizing & other aspects before adopting above settings.

Keywords:
Apache, WAMP, PHP, MySQL, Performance, Tuning, etc

Thursday, October 28, 2010

Joomla PHP Fatal error: Out of memory

Hi Friends,

Few days back i was playing with an internal setup of WAMP Server having Apache 2.2.11, PHP 5.3.0 & MySQL 5.1.36 deployed with Joomla 1.5.21 CMS.

The first & foremost problem i faced on daily basis was a Apache Crash due to PHP Fatal error: Out of Memory!

Googling around pointed me to increase the memory allocated to PHP in php.ini by changing the parameter
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit 128M
 
By default, PHP 5.3.0 has 128MB memory allocated. The error logs though pointed to a out of memory crash, it actually didnt have a memory availability issue.

I changed this to 256MB, 512MB & even 1024MB but all the time it crashed :-(
The official parameter description suggested that, if you set this up to -1, there wont be an upper limit capped for PHP.

My next setup test was to change it to -1
; Maximum amount of memory a script may consume (128MB)

; http://php.net/memory-limit
memory_limit -1

Well, i wasnt surprised as it still crashed!!
After much digging, i felt that Apache itself wasnt able to handle its memory well on Windows. Many articles i came across also suggested the same.

So in the quest of stablizing Apache on Windows, i started investigating this issue purely from Apache point of view.
An quick overview of mpm_winnt_module parameters on Apache.org suggested that i needed to have a couple of must needed configurations :-)
  1. ThreadLimit which has a default value of 2500 if not specified, was brought down to 1000
  2. ThreadsPerChild which has a default value of 64 needs to be increased as i had atleast a 500  concurrent user base, so this was changed to 500. Remember, ThreadLimit & ThreadsPerChild go in tandem. You cannot lower ThreadLimit value when compared to ThreadsPerChild.
  3. MaxRequestsPerChild which has a default value of 0, need not be changed as in Windows, we have one parent process managing the other child process which caters to multiple threads. No separate child process forking as possible on Linux/Unix deployments.
  4. KeepAlive should be turned ON. It is very necessary to avoid unnecessary new connections from the same client within a span of 1 minute. The timeout should be turned on with atleast 1 minute.
  5. KeepAliveTimeout which has a default value of 15secs needs to be changed to 60secs i.e. 1minute
  6. MaxMemFree is a directive available in Apache 2.2.x which allows us to specify upto how much free memory will be held by the Apache process without calling the free() function. When not specified this is considered as unlimited, which is generally not good for Apache deployed on Windows Platform as memory leaks are evident. I changed this parameter to 100 in order to force Apache release free memory frequently & avoid leaks. Remember this settings has direct impact to your webserver performance, but if you are seeing too many frequent crashes, this will definitely stabilize the system.
Thats it!
Putting above settings in place along with php memory limit to -1, i was successful in stabilizing the PHP Fatal error + Apache crashes.

Please note that extensive testing was done to arrive at this settings, hence be sure of your implementation requirements & sizing before adopting ;-)

Keywords,
Apache, WAMP, PHP, MySQL, mpm_winnt_module, Joomla, performance tuning, etc.

Wednesday, October 27, 2010

WAMP child process exited with status 3221225477

Hi Friends,

Few days back i was playing with an internal setup of WAMP Server having Apache 2.2.11, PHP 5.3.0 & MySQL 5.1.36 deployed with Joomla 1.5.21 CMS.

The setup was on a Windows 64-bit AMD x86 environment, but i frequently had my Apache go down due to following error: "Parent: child process exited with status 3221225477"

A quick google & it pointed me that it should be related the associated MySQL dll. After going through various articles & bug reports, it made sense to try out one solution!

The solution was to copy libmySQL.dll available under mysql5.1.36\bin to my WINDOWS\system32 folder and then do a complete machine restart.

I did this & believe me there has been no single Apache shutdown reported due to this error :-)
Hope this helps all WAMP or XMPP deployers.

Keywords:
Apache, WAMP, XMPP, PHP, MySQL, Crash, etc

Thursday, September 30, 2010

Configure DSL-2640T with Tata Broadband [Wired ADSL]

Hi Friends,

Its been a while since i have posted a new article!
Last week my friend got with him his old Dlink DSL-2640T ADSL 2+ Router from home town.

Now, my current setup with Tata Broadband (Wired ADSL) was with Broadcom ADSL Router tied to a Linksys Wireless Router WRT54GH (a pretty basic & decent wireless router).

We need WiFi badly as we house some 5 laptops (personal [Acer Aspire 3002 NLC, Toshibha A105-S4014] + office [All Dell M65 Precision]), plus latest smartphones like HTC HD, iPhone 3G & Nokia E63 all hungry to be connected over WiFi with social networking ;-)

DSL-2640T seems to be that one device which would have helped me eliminate my Broadcom + Linksys setup including some power conservation ;-)

But hold on!
Though it seemed to be a pretty straight forward setup...i.e. Remove my ADSL Line from Broadcom and plugin to DSL-2640T and switch it on, configure the PPPOE Settings...but it didn't turned out to be a dream run :-(

Two days down the line, i was still trying to play and configure it. Fed up i even started a discussion in India Broadband Forum to check out if these guys had any specific inputs!

From what i got from them was an vital tip! Run the router in a Bridge Mode and create a PPPoE Dialer in Windows to see if you can connect! This step is essential as it certifies that all your router settings are intact and working fine.

I tried this and soon it was clearer to me that somewhere my router settings were incorrect as i was not able to login from the Dialer created within windows in bridge mode :-(

After much dilemma, the setting to be corrected was ADSL Modulation Type! By default it comes with ADSL 2+, but somehow that was not working for Tata.

So lets sit down and configure this router!
STEPS
1) Remove the ADSL Phone Line input and plug it in to your DSL-2640T's ADSL Port
2) Start the router and wait for 2mins to boot up.
3) Use a Straight through or Cross over cable and plug its one end into 1st LAN Port of router and the other end to your machine.
4) Open a browser and type in the browser: 192.168.1.1
5) On the Username/Password prompt use: User-> admin Password-> admin
6) Now lets configure the settings specific to Tata Broadband as below:

For Tata Broadband (Wired ADSL), following are the final set of settings working for me:
WAN ATM VC SETTINGS [Found Under Home->WAN]
VPI=0 ,
VCI=32
WAN Settings: PPPoE/PPPoA
Username: Your Tata Broadband UserName e.g. dummy@vsnl.net
Password: Your Tata Account Password
Authentication Type: Auto
Connection Type: PPPoE LLC

Rest settings for WAN, leave it as default



ADSL [Found Under Advanced->ADSL] 
Modulation Type = ADSL (ITU G.992.2)  [Upload Speeds limited to 128kbps]

UPDATE 1st October 2010:
ADSL (ITU G.992.2) was not giving me the optimum upload speed as the Tata Supplied router easily gave me arould 300kbps of upload speed which is part of my Flash 384 Plan.

Played further around and found the below modulation to give the best optimum download and upload speed:
Modulation Type = ADSL2 (Multimode) [Upload Speeds upto 300kbps and above]
When you set this modulation up, it gets connected over modulation: ADSL_G.dmt.bis


7) Eureka! You are done with the router configuration. Now go to Tools Tabs-> System -> Hit Save and Reboot Button
8) Upon reboot, your ADSL LED on the router should be stable and ON
Status LED keeps blinking all the while which is normal.
9) Below are few post setup screenshots for your reference to show successful connected status:







If you are looking for Firmware Upgrades to your Dlink DSL-2640T, then below FTP Link points to European Firmwares released:

ftp://203.126.164.142/DSL-2640T/

Looking at the various folders, ftp://203.126.164.142/DSL-2640T/20091107 points to the last stable released firmware for DSL-2640T Europe i.e. back in 2009
For MEA Firmwares:
ftp://ftp.dlink-me.com/DLink_ME/ADSL/DSL-2640T/Firmwares/  [Very Slow]


Be very sure before flashing your firmware. Unless you dont face any issues, please do not flash it.

Hope this helps all Tata Broadband Users! :-)

Keywords:
DSL-2640T Router, ADSL, PPPoE, Tata Broadband, Firmware, WRT54GH, Dlink, Linksys, Cisco, Nokia E63, HTC HD, Acer, Dell, Toshibha, iPhone, Apple, etc.

Monday, July 26, 2010

Shell Script to monitor Virtual Bytes for Sawserver & NQSServer

Hi Friends,

I was troubleshooting gradual increase in physical memory consumption for Sawserver & NQSServer in our environment.

One requirement was to observe the gradual increase my logging the virtual bytes using a shell script every 5 minutes.

The command was simple: ps -ef -o vsz,pcpu,args | grep sawserver64

To automate it, i wrote a small shell script which will write the output of above command every 5minutes, until I kill the script execution:


If you go over the logic, i have wrote a never ending while loop which writes timestamp, virtual byte information for sawserver & nqsserver and included a sleep command to pause the execution for 5mins.

Customizable Sections:
1) You can add more processes to be monitored for Virtual Bytes.
2) Sleep time can be increase on decreased. It accepts input in seconds, i.e. 300=5mins

How to Invoke:
1)Make sure that the script has executable rights or do chmod 777 VirtualByteTrace.sh
2)Invoke the script in background mode: bash-$./VirtualByteTrace.sh &

Output:


Tested successfully on Sun Solaris 10 platform.
Hope this helps you for any other process as well :-)

Keywords:
OBIEE, Sawserver, Sawserver64, NQSServer, Shell Script, Unix, Solaris, OBIEE 10.1.3.4.1, etc

Tuesday, July 20, 2010

Rupee Symbol Font Download

Hi Friends,

We have the Rupee Symbol font 2.0 out by Foradian Technologies!
Download & start using immediately so that its adopted by everyone faster :-)

Blog Post: http://blog.foradian.com/rupee-font-version-20
Download Font: Rupee Font.ttf

The first font was created by Souymadip. Checkout his creation at: Rupee Font
Download Font by Souymadip: Rupee.ttf

Presently it is not incorporated in Unicode, so it will not be visible without the font.
Adopt & spread the word :-)

Keywords:
Rupee Symbol, Rupee Font Download, etc

Friday, July 09, 2010

Spool Date & Timestamp using PL/SQL

Hi Friends,

The other day i was trying to write an automated alert script to monitor the asynchronous requests in Siebel Server or in other words trying to monitor the S_SRM_REQUEST table for any failed async requests.

Well in order to achieve the same, i create a quick PL/SQL Script which spooled the necessary information i required as no out of box solution existed from Siebel.
But wait a minute, the timestamp was not getting captured in the spooled out :-(
It was only spooling the date instead of the entire date & time!

For e.g. if run the below SQL, it will only spool the date



Output was like below :-(:
SYSDATE
---------
07-JUL-10


Quick research on Google & it pointed me that we need to alter our session to set the NLS_DATE_FORMAT before the spool will actually capture the Date & Time...
So based on this recommendation, i revised my PL/SQL Block to:



The end result is,
SYSDATE
--------------------
07-JUL-2010 08:14:19


Yipee! :-D
I posted here, as i thought its a very useful info for everyone :-)
Happy Weekend!

Keywords:
Programming, Siebel Async Request, S_SRM_REQUEST, PL/SQL, NLS_DATE_FORMAT, SPOOL, Oracle, etc.

Friday, July 02, 2010

oracle.sysman.emSDK.emd.fetchlet.FetchletException

Hi Friends,

While experimenting with Oracle Enterprise Manager Grid Control alongside SOA Management Pack Plus, i was getting following Metric collection errors for BPEL Process Manager Partner Link Metrics.

Issue:
The error description was:
"oracle.sysman.emSDK.emd.fetchlet.FetchletException: java.rmi.UnmarshalException: Error deserializing return-value: java.io.InvalidClassException: javax.xml.namespace.QName; local class incompatible: stream classdesc serialVersionUID = -916876369326528164, local class serialVersionUID = -9120448754896609940"

Reason:
Well, if you carefully observe the error description tries to say, "local class incompatible"!
This generally means a JDK Version conflict. If you research further, you will easily see that this happens due to a JDK Version conflict between your Grid Control Agent & the BPEL Process JDK.

You can verify the JDK Version using: "java -version"

Solution:
The only solution to this issue is to upgrade your BPEL Process Target JDK version. You cannot downgrade your Agent's JDK Version.
Please be careful while upgrading your BPEL Process Target JDK as it might destabilize your system.

Please ensure that the new JDK is compatible with your BPEL Process version and you know correct steps to upgrade the same.
After you upgrade the JDK, restart the Grid Control Agent and force an Metric Collection upload as follows:

prompt:/>emctl stop agent - Windows
bash-$ ./emctl stop agent - Unix/Linux

prompt:/>emctl start agent - Windows
bash-$ ./emctl start agent - Unix/Linux

prompt:/>emctl upload agent - Windows
bash-$ ./emctl upload agent - Unix/Linux


Keywords:
OEM, OMS, Enterprise Manager, Grid Control, Grid Control Agent, OMS Agent, OBIEE Management Pack, Siebel Management Pack, SOA Management Pack, AGENT_TZ_MISMATCH, Timezone, 10.2.0.5, PSU 3, JDK Mismatch, BPEL Process, etc

Thursday, July 01, 2010

Oracle Enterprise Manager - AGENT_TZ_MISMATCH

Hi Friends,

Last entire week i was busy playing with Oracle Enterprise Manager Grid Control alongside Siebel, OBIEE & SOA Management Packs.

Believe me, its not a piece of cake!
Though PSU 3 on top of 10.2.0.5 provides great stability, still few nagging issues around Metric collections for different target types & other areas keep affecting us.

One of the most annoying issue that took me long time to figure out was my Grid Control Agent, simply failing to startup :-(

It was working perfectly fine earlier, but didn't know when it stopped working :-(
After much due diligence in the logs, the emagent.nohup had following dumps:
Issue:
----- Wed Jun 23 11:32:51 2010::Agent Launched with PID 3852 at time Wed Jun 23 11:32:51 2010 -----
(pid=3852): starting emagent version 10.2.0.5.0
(pid=3852): emagent started successfully
OMS decided to shutdown the agent because of the following reason sent from OMS: AGENT_TZ_MISMATCH(pid=3852): emagent now exiting abnormally - initialization failure. Consult '.trc' and '.log' files.
----- Wed Jun 23 11:34:39 2010::Pid 3852 not found. reaped=3852, processStatus=14080 -----
----- Wed Jun 23 11:34:40 2010::Checking status of EMAgent : 3852 -----
----- Wed Jun 23 11:34:40 2010::EMAgent exited at Wed Jun 23 11:34:40 2010 with return value 55. -----
----- Wed Jun 23 11:34:40 2010::EMAgent has exited due to initialization failure. -----
----- Wed Jun 23 11:34:40 2010::Stopping other components. -----
----- Wed Jun 23 11:34:40 2010::Commiting Process death. -----
----- Wed Jun 23 11:34:40 2010::Exiting watchdog loop


I was scratching my head, what does AGENT_TZ_MISMATCH means?? Googled it around no luck! I was shocked & surprised that there was no results in Google!

Reason:
Felt like i have hit some kind of jackpot ;-)
After much research, i came to know that such kind of issue might happen when your Agent's host has its Time Zone changed.

Now, first of all, i didnt accept it! What does Agent's Timezone has to do with its startup? It should automatically accept the new time...

But then, it was clear that Agent did startup correctly, but when it use to communicate with my OMS Server where the Agent's Timezone is recorded, the changed TimeZone hits a mismatch here!!!

Solution:
Well, in order to resolve this, the solution is simple!
From a command prompt or terminal go to %Agent_Home%/bin directory.
Execute below command:

prompt:/>emctl resetTZ agent - Windows
bash-$./emctl resetTZ agent - Unix/Linux

This will update your Agent's emd.properties with the changed TimeZone. But wait this does not complete the changes. You will need to execute a procedure on your Enterprise Manager Repository Database to reflect the changes in the timezone of the Agent.

So connect to your OMS Repository Database (generally 'emrep') using the repository owner (generally 'sysman')

SQL>exec mgmt_target.set_agent_tzrgn(<agent_name>, <new_tz_rgn>);

Well, the exact statement for this procedure is automatically generated at the end of 'emctl resetTZ agent' command :-)

Well, this completes your Agent's TimeZone change. Now to try to start the agent using below command:

prompt:/>emctl start agent - Windows
bash-$./emctl start agent - Unix/Linux

I am sure it will startup correctly! ;-)

Keywords:
OEM, OMS, Enterprise Manager, Grid Control, Grid Control Agent, OMS Agent, OBIEE Management Pack, Siebel Management Pack, SOA Management Pack, AGENT_TZ_MISMATCH, Timezone, 10.2.0.5, PSU 3, etc

Tuesday, June 15, 2010

Extract %time% in Batch Programming

Hi Friends,

Date & Time are two very sensitive information which we need to extract frequently which doing any batch scripting for administrative purpose.

While, i already covered a article regarding how to correctly extract %date%, lets focus on how to extract %time% ;-)

Well, for the record, %time% variable holds information uniformly across all Windows Version. Which is good as we can easily extract our information as per needs.

But wait, there is a catch! No matter what you do & instruct your regional settings to include a leading "0" (zero) before the hour, silly DOS will always fail to do so for time prior to 10:00 am!

So lets evaluate how to extract %time%:
A simple way is like below:
@set time_temp=%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
@echo %time_temp%


This will work correctly only for time after 10:00 am as before 10:00 am, the %time% variable has value somewhat as:
C:\>echo %time%
C:\>7:06:03.64


As you can see, DOS fails to append a leading zero for your hour :-(
This makes my first approach fail instantly!

So how to go around & fix this problem?


As you can see, we simply but a check that if the extracted hour information is having the leading zero available or not...
If not, we are forcing one in the variable :-)

This should resolve your %time% extracting woes in batch programming!
If you have similar issues for extracting %date%, checkout how to extract %date%!

Keywords:
how to extract %time%, extract %time%, batch file commands, batch file command, bat files, bat file, batch files, batch script, batch scripting, batch program, windows scripting, windows scripts, DOS, %time%, Leading Zero, etc

Monday, June 14, 2010

Extract %date% in Batch Programming

Hi Friends,

One very annoying problems is extracting date & time using batch programming.
The reason is simple!
Try c:\>echo %date% on Windows 2003 Server v/s Windows 2000 Server
Windows 2000 Server Output: Sun 06/13/2010
Windows 2003 Server Output: 06/13/2010

You will see that both the output are different & that is a cause of big headache. When i write any administrative scripts for taking log backups with appropriate date, it is very important for me that such platform differences should not make my batch scripts to fail on either of the platform.

Thus, this let me out find a generic solution which will always extract correct date for me no matter its Windows 2000 Server or Window 2003 Server as the underlying platform!

My earlier way to extract date was like this:
@set date_temp=%date:~4,2%%date:~7,2%%date:~10,4%
This use to give me output as

Windows 2000 Server Output: 06132010
Windows 2003 Server Output: 3/01

As you can clearly see that my approach fails on Windows 2003 Server platform. I have the option to modify & setup my date extraction as per Windows 2003 Server platform, but that would make it fail on Windows 2000 Server :-(
So how to find that all in one code?

Well, its simple! Just have a glance at the below code:


Above code will always return you the correct date regardless of the underlying platform. It works correctly because its logic is based on the delimiter "-"
I was relieved that, atleast the delimiter is common across all the Windows Versions :-)

I hope this helps you in your batch or DOS programming :-D
If you have similar issues for extracting %time%, checkout how to extract %time%!

Keywords:
how to extract %date%, extract %date%, batch script, batch scripting, batch program, windows scripting, windows scripts, DOS, Windows 2000 Server, Windows 2003 Server, %date%, echo, etc

Thursday, June 10, 2010

oracle.apps.xdo.security.ValidateException

Hi Friends,

As promised in my first brush with BI Publisher post, the next error i faced was oracle.apps.xdo.security.ValidateException

Well, this was because the BI Publisher's security model was set to "BI Server" as BI Publisher was installed as part of OBIEE 10.1.3.4.1

Now, it is obvious that the RPD "Administrator" user password is changed from the default password "Administrator" & also the RPD must be missing the BI Publisher Security Groups with "Administrator" user added to XMLP_ADMIN group.

So before we proceed & understand the different Security Models & ways to counter the BI Publisher Authentication woes, it is must to setup a Super User in BI Publisher.

Super User is a fundamental used in BI Publisher which allows to have a one super admin regardless of whatever security model you configure. Due to this feature BI Publisher allows you to login & configure the BI Publisher system through one common super admin user.

In order to achieve this, you will first need to change the xmlp-server-config.xml file available under /xmlp/XMLP/Admin/Configuration/ folder:
Change the following line:
<property name="SECURITY_MODEL" value="BI Server"/>
TO
<property name="SECURITY_MODEL" value="XDO"/>

Setting the Security Model to XDO means, you are configuring the BI Publisher to use its builtin BI Publisher security model.

After you make this change, stop & restart your J2EE Application server.
Now try to access your BI Publisher using URL: http://host:port/xmlpserver/ & login using following details
User: Administrator
Password: Administrator

You should be inside BI Publisher now :-)!
Click the Admin Tab & under the "Security Center" section, click: Security Configuration


Inside "Local Superuser" section:
a) Enable the checkbox for "Enable Local Superuser
b) Choose a suitable "Superuser name"
c) Choose a suitable "Password"
d) Click the "Apply" button on the top right-hand corner.


e) Restart your J2EE App Server & try logging in using your Super user
If you can successfully login into the BI Publisher system, it makes way for you to start fidling with the other available Security Models for BI Publisher.

I will cover the other Security Models in upcoming posts.
Stay tuned!

Keywords:
BI Publisher, Tomcat, Apache, ResourceNotFoundException, OBIEE, 10.1.3.4.1, XML Publisher, Security Model, XDO, BI Server, SIEBEL etc

Tuesday, June 08, 2010

RESTful Webservices Support for Siebel

Hi Friends,

If you have heard about the REST (Representational State Transfer) Architecture, then you must have also heard about RESTful Webservices which formed on the principles of REST Architecture and gives us a more enhanced form of the Webservices in terms of scalability, interfacing with the systems & easy independent deployment of components.

Good news is Siebel 8.1.1 supports such RESTful Webservices!
It is available in Siebel 8.1.1.1 QF0135 & distributed generally as ACR 599

There are chances that this fix will be back ported for Siebel 8.0 Release as well :-)

If you need general guidelines regarding REST Architecture or RESTful Webservices, then below links are good starting points:
a) REST Architecture
b) RESTful Webservices
c) REST Tutorials

Keywords:
RESTful Webservices, REST Architecture, Siebel 8.1.1, Siebel 8.0, siebel crm,siebel customer relationship management,siebel solutions,siebel support,siebel supportweb,siebel systems,

Monday, June 07, 2010

oracle.apps.xdo.servlet.resources.ResourceNotFoundException

Hi Friends,

As promised in my first brush with BI Publisher post, the next error i faced was
oracle.apps.xdo.servlet.resources.ResourceNotFoundException "${oracle.home}/xdo/repository"

Well, i simply dont understand why does such nagging errors always come up.

Why does it happen?
The BI Publisher always need its Repository location to be defined in xmlp-server-config_orig.xml
Now had the BI Publisher being deployed on OC4J or OAS (Oracle Application Server), then the default path would have worked as a charm (${oracle.home}/xdo/repository)
But since we are deploying our BI Publisher in custom J2EE server, we will need to configure this path before we can actually use it.

Solution?
Its simple to rectify this. If you are using BI Publisher as part of integrated OBIEE Setup, you need to find the repository path.
Generally, the repository has folder structure as:
%OBIEE_INSTALL_ROOT%
-------xmlp
             -----------XMLP
                                  --------Admin
                                  --------DemoFiles
                                  --------Reports
                                  --------Tools

So your BI Publisher Repository path is: %OBIEE_INSTALL_ROOT%/xmlp/XMLP

Now you need to make these changes in the xmlp-server-config.xml file. This file is generally available in your WEB-INF folder where you have deployed the BI Publisher WAR in the J2EE Server.
E.g. for Tomcat: /tomcat-root/webapps/xmlpserver/WEB-INF/

Edit this file & change
<b><file path="${oracle.home}/xdo/repository"></file></b>
to
<b><file path="$OBIEE_INSTALL_ROOT/xmlp/XMLP"></file></b>

Now restart Apache Tomcat Server & you should be all set for a successful login into BI Publisher.


Keywords:
BI Publisher, Tomcat, Apache, ResourceNotFoundException, OBIEE, 10.1.3.4.1, XML Publisher etc

Friday, June 04, 2010

BI Publisher: com/phaos/crypto/CipherException

Hi Friends,

My first brush with BI Publisher... As always being the case, no Enterprise standard software easily setups as said in its documentation! Thats why the need to expert Consultants to deploy & maintain the same ;-)

Following was the brief error after i tried logging in from my BI Publisher login screen:

The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: com/phaos/crypto/CipherException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:476)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:371)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
oracle.apps.xdo.servlet.security.SecurityFilter.doFilter(SecurityFilter.java:100)

root cause

javax.servlet.ServletException: com/phaos/crypto/CipherException
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:846)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.login_jsp._jspService(login_jsp.java:499)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
oracle.apps.xdo.servlet.security.SecurityFilter.doFilter(SecurityFilter.java:100)

root cause

java.lang.NoClassDefFoundError: com/phaos/crypto/CipherException
oracle.apps.xdo.servlet.security.SecurityHandler.getHandler(SecurityHandler.java:66)
org.apache.jsp.login_jsp._jspService(login_jsp.java:190)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
oracle.apps.xdo.servlet.security.SecurityFilter.doFilter(SecurityFilter.java:100)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.27 logs
.

Ahh....i was like what the heck!

Before i proceed again, i would like to quickly give you my BI Publisher Setup Info:
J2EE Server: Apache Tomcat 5.5.27
BI Publisher: 10.1.3.4.1
Standalone/Integrated: This was installed as part of OBIEE 10.1.3.4.1 Setup & not deployed as standalone.

Now, above error clearly points to some issue with the Authentication stuff we just passed in the login screen of BI Publisher. It is actually missing few important jars & libraries which are causing the issue.

Why did this happen?
Well, as you all know, OBIEE Installation in Basic form comes with OC4J while Advanced format requires Oracle Application Server. If you dont want either of this, you need to setup your own J2EE Server & deploy these applications from the given WAR files.

Now, the packaging of WAR files in case of BI Publisher has been different for OC4J & any generic J2EE server. You are bound to deploy the normal OC4J WAR file on Tomcat & then face this error.
The OC4J specific WAR files has few libraries missing as these are already available with base OC4J setup.

Solution?
Now, if you want to recover from this problem, you will first need to undeploy the earlier WAR file deployed on Tomcat.
Once you undeploy, restart your Tomcat and then deploy the WAR (xmlpserver.war) from "generic" folder.
Exact Location for the "generic" folder:
%OBIEE_SETUP_ROOT%/Platform/Solaris/Server_Ancillary/Oracle_Business_Intelligence_Publisher/generic
Platform stands for Solaris/Linux/Windows etc
Deploy the xmlpserver.war from this generic folder on your Tomcat.

Restart Tomcat & they open your BI Publisher:
http://host:port/xmlpserver/

Try logging in using your RPD Administrator user & password since BI Publisher coming with OBIEE uses OBIEE Security Model & not that of standalone BI Publisher.

If you face any of below errors post attempting to login in BI Publisher then stay tuned!! I will be documenting the solutions soon :-)


oracle.apps.xdo.servlet.resources.ResourceNotFoundException   
OR
oracle.apps.xdo.security.ValidateException

Till then happy debugging...

Keywords:

BI Publisher, OBIEE, xmlpserver.war, RPD, CipherException, 10.1.3.4.1, XML Publisher, Tomcat etc

Wednesday, May 26, 2010

Siebel Bookshelf (v8.1,v8.0,v7.8,v7.7,v7.5,v7.0,v6.3,v6.2,v6.1,v6.0)

Hi Friends,

One common requirements we have in our day to day Siebel Activities is the Siebel Bookshelf. Its the ultimate knowledge power house regarding Siebel.

Below are the links you need for different Siebel Versions:

Siebel 8.1.x http://download.oracle.com/docs/cd/E14004_01/homepage.htm

Siebel 8.0.x http://download.oracle.com/docs/cd/B40099_02/homepage.htm

Siebel 7.8.x http://download.oracle.com/docs/cd/B31104_02/homepage.htm

Siebel 7.7.x http://download.oracle.com/docs/cd/E05553_01/homepage.htm

Siebel 7.5.x http://download.oracle.com/docs/cd/E05554_01/homepage.htm

Siebel 7.x http://download.oracle.com/docs/cd/E05555_01/homepage.htm

Siebel 7.x Mid-market Edition: http://download.oracle.com/docs/cd/E05565_01/homepage.htm

Siebel 6.x http://download.oracle.com/docs/cd/E05556_01/homepage.htm

Siebel Online Help Files and Help Development Kits


Enjoy!

Keywords:
Siebel Systems, Siebel CRM, Siebel System Requirements, Supported Platforms, Hardware, Software, Siebel SBA, Siebel SIA, Horizontal, Vertical, eAutomotive, OBIEE, Siebel Analytics, Siebel eBusiness and Industry Applications,MidMarket Edition, Universal Application Network (UAN), Siebel Retail Finance, Oracle Self-Service E-Billing, Oracle® Real-Time Decisions

Saturday, May 22, 2010

Reset runtime Apache access.log & error.log

Hi Friends,

Today morning i got a page from our data center that one of the Production Apache based Webserver diskspace was almost full & most of the space was consumed by access.log & error.log!

Well, i knew this would happen some day since it has been a year we put these machines in Production, moreover we havent setup the log rotation for access.log & error.log.

Now, i had two tasks at my hand...
1) Take a quick backup of both the log files.
2) Reset/Clear the logs to size zero without bouncing the Apache Webserver services, i.e. at Runtime.

Solution:
1) Took a zipped backup on another disk in the same machine:
bash$ zip /d01/Apache_BK/access_log_20052010.zip access.log
bash$ zip /d01/Apache_BK/error_log_20052010.zip error.log

2) Reset/Clear the logs to size zero using /dev/null:
bash$ cp /dev/null access.log
bash$ cp /dev/null error.log

OR

bash$ cat /dev/null > access.log
bash$ cat /dev/null > error.log

Well, using /dev/null is very effective on Linux & Unix platforms, but if you are wondering if we have something similar to that in Windows, then the answer is yes!

C:\>type NUL > access.log
C:\>type NUL > error.log

Just hope that Windows havent locked the log file with an exclusive handle ;-)
If you have a lock on the file & need to reset the log file without restarting the Apache services, then your only option is to install Unlocker (http://ccollomb.free.fr/unlocker/)

Hope this tip helps as no one wants to bounce a Production system just for taking a log backup & resetting its size to zero :-D

Enjoy!

Keywords:
Oracle HTTP Server, Apache, OHS, /dev/null, NUL, access.log, error.log, zip, backup, etc

Friday, April 16, 2010

SBL-GEN-03001: Error allocating (null)

Hi Friends,

Yesterday i came across this rare Siebel Assignment Manager error: SBL-GEN-03001: Error allocating (null) OR SBL-GEN-03001: Error allocating DynArrCreate Organization Skill Items Arr

Logs files were showing up following dump:
GenericLog    GenericError    1    000000024bc70cd4:0    2010-04-15 09:39:12    (asgnrule.cpp (8327) err=3001 sys=2640) SBL-GEN-03001: Error allocating DynArrCreate Organization Skill Items Arr

GenericLog    GenericError    1    000000024bc70cd4:0    2010-04-15 09:39:12    (asgnrule.cpp (929) err=3001 sys=0) SBL-GEN-03001: Error allocating DynArrCreate Organization Skill Items Arr


Due to this, Siebel Assignment Manager component was not getting started & constantly crashing. If you start, it will again stop & crash after few minutes.

This behaviour is particularly related to Physical Memory availability to the Assignment Manager component.
You can setup following log level for your Assignment Manager component to have a quick informative trace regarding the issue:

   1. Object Assignment = 4
   2. Rules Evaluation = 5
   3. Loading = 4
   4. Assignment Manager Generic = 4
   5. SQL Tracing = 2
   6. SQL Parse and Execute = 4
   7. Task Configuration = 4
   8. Component Tracing = 3

In our environment, this issue came up suddenly so it definitely wasnt an Siebel Product issue but something to do with our environment changes.
Further tracing of the logs lead to us that the amount of rules loading was causing the Assignment manager cache to go out of bounds of the total available physical memory on Siebel Application Server.

The only way to resolve this was to follows below steps:
1) Stop Assignment Manager & Batch Assignment components.
2) Delete rulecache.dat file under $SIEBEL_ROOT/siebsrvr/bin
3) Delete or expire all unwanted Assignment rules
4) Start Assignment Manager & Batch Assignment components
5) Allow the new rulecache.dat file to be generated.
6) Now check log to see if Assignment Manager component is still shutting down.

90% of cases, this should resolve the issue. But if you still face the same problem, you need to start investigating from your trace log. Particularly the last queries fired just before you find SBL-GEN-03001 errors being dumped in the log file.

You may also notice 0KB crash_xx.txt files under $SIEBEL_ROOT/siebsrvr/bin until you resolve this issue.
Enjoy!

Keywords:
siebel crm,siebel customer relationship management,siebel solutions,siebel support,siebel supportweb,siebel systems, assignment manager, crash.txt, FDRs, etc

Wednesday, April 14, 2010

SEVERE: EM is not configured for this database

Hi Friends,

I was doing this Oracle 10gR1 database upgrade to Oracle 10gR2 using DBUA (Database Upgrade Assistant) when my upgrade failed due to this error:


[Thread-54] [10:25:54:325] [BasicStep.configureSettings:304]  messageHandler being set=oracle.sysman.assistants.util.UIMessageHandler@6014f7
[Thread-54] [10:25:54:325] [SummarizableStep.setUpgradeStatus:620]  **++Set Upgrade status to:=1
oracle.sysman.assistants.util.step.StepExecutionException: Enterprise manager configuration failed due to the following error -
EM is not configured for this database. No EM-specific actions can be performed.
Refer to the log file at C:\OracleHomes\db10gr2\cfgtoollogs\dbua\emrep\upgrade1\emConfig.log for more details.
You can retry configuring this database with Enterprise Manager later by manually running C:\OracleHomes\db10gr2\bin\emca script.
    at oracle.sysman.assistants.util.em.EMConfigStep.executeImpl(EMConfigStep.java:141)
    at oracle.sysman.assistants.util.step.BasicStep.execute(BasicStep.java:210)
    at oracle.sysman.assistants.util.step.BasicStep.callStep(BasicStep.java:251)
    at oracle.sysman.assistants.dbma.backend.EMConfigStep.executeStepImpl(EMConfigStep.java:101)
    at oracle.sysman.assistants.dbma.backend.SummarizableStep.executeImpl(SummarizableStep.java:174)
    at oracle.sysman.assistants.util.step.BasicStep.execute(BasicStep.java:210)
    at oracle.sysman.assistants.util.step.Step.execute(Step.java:140)
    at oracle.sysman.assistants.util.step.StepContext$ModeRunner.run(StepContext.java:2468)
    at java.lang.Thread.run(Thread.java:534)
[Thread-54] [1:7:4:273] [EMConfigStep.handleNonIgnorableError:197]  EMConfig Error:=Error ignored: Could not complete the Enterprise Manager configuration.
Enterprise manager configuration failed due to the following error -
EM is not configured for this database. No EM-specific actions can be performed.
Refer to the log file at C:\OracleHomes\db10gr2\cfgtoollogs\dbua\emrep\upgrade1\emConfig.log for more details.
You can retry configuring this database with Enterprise Manager later by manually running C:\OracleHomes\db10gr2\bin\emca script.

[Thread-54] [1:7:4:273] [EMConfigStep.executeStepImpl:161]  EM Configuration Step Complete..
[Thread-54] [1:7:4:273] [SummarizableStep.executeImpl:175]  execute impl:Enterprise Manager Configuration = DONE Sucessfully
[Thread-54] [1:7:4:273] [BasicStep.configureSettings:304]  messageHandler being set=oracle.sysman.assistants.util.UIMessageHandler@6014f7


At first, i thought its over! My database is gone...but a few research down the line gave me a breather :)
I was upgrading my Oracle Enterprise Manager (OEM) Grid Control Database from 10.1.2.0 to 10.2.1.0. A Grid Control Database installation does not have a separate DBConsole installed as the Database is also managed by the OEM itself.

So in my particular case, i could simply press OK & then move ahead. The upgrade was almost complete & nothing else was required.

I just reconfigured the LSNRCTL & NET SERVICE NAME using Net Configuration Tool & rebooted my server & my new database was up & running.

However, if you are not upgrading a GC Repository Database, but an actual standalone database, this error should not be ignored as your DB Console would not be upgraded due to it.
You must followup with Oracle & find out why the upgrade for DBConsole failed.

Hope this info helps!

Keywords:
Oracle Database, Oracle 10GR1, Oracle 10GR2, Oracle Enterprise Manager, OEM, Grid Control, GC Repository Upgrade, Database Upgrade, DB Console, LISTENER.ORA, TNSNAMES.ORA, SQLNET.ORA, Listener Control, TNS Listener, DBUA, EMCA etc

Monday, April 12, 2010

Ektron eWebEditPro5: Run time Error '0'

Hi Friends,

If you recently moved to any Siebel Maintenance fix packs 8.0.0.6 and above then you might face an annoying issue with Siebel HTML Editor a.k.a Ektron eWebEditPro Editor!

After you apply the fix pack for Siebel Web Server Extension (SWSE), it upgrades the existing eWebEditPro editor from v4 to v5.

After this upgrade a necessary configuration change is not mentioned in the Maintenance Configuration Section, due to which you will notice that any template tried to be opened in the new HTML Editor results into a blank load & if you right click in the editor it results into a error popup window titled eWebEditProLibCtl5 saying, "Run time error '0'"


 In order to resolve this, you will need to edit the webeditorctrl.htm file under /$SIEBEL_SWSE_ROOT/public/enu/webeditor/

Find out the below code:



and replace it with below code:



After you do this, make sure you do a CLEAR CACHE in your browser else it will still show Javascript errors like:


This happens as the old webeditorctrl.htm file is used from browser cache for loading eWebEditPro Editor.
So ensure you do a clear cache without fail!

Hope this helps resolve patching issue.

Keywords:
siebel crm,siebel customer relationship management,siebel solutions,siebel support,siebel supportweb,siebel systems, SWSE, eWebEditPro, Ektron, HTML Editor, Marketing, WYSIWYG HTML Editor, WYSIWYG, etc.

Sunday, April 11, 2010

eCopy Paperworks & Sharepoint Implementation

Hi Friends,

I am going around researching about Enterprise Document Management system & currently evaluating eCopy Paperworks.

It is a very good document management software which has lots of builtin connectors to source documents from different sources!
Check the official website: http://www.ecopy.com/Products-eCopy-PaperWorks.asp

The most interesting part of this software is the connector for Microsoft Sharepoint. Shareponit is probably implemented in most of the organizations as part of Intranet & eCopy Paperworks allows you to leverage existing Sharepoint platform for document management.

Red Sox have implemented eCopy Paperworks with Sharepoint & we have a video from Nuance explaining the details on You Tube:



Enjoy!

Keywords:
eCopy, PCDocs, Web Docs, Sharepoint, Microsoft, Red Sox, Paperworks, Enterprise Document Management, Paperless, Digital Document, Nuance, Scanner, Document Scan, eCopy Paperworks, etc.

Wednesday, April 07, 2010

Exception in thread "main" java.lang.NoClassDefFoundError: oracle/bi/analytics/management/StandardConsoleAgent

Hi Friends,

This is my newest experiment going on with OBIEE Management Pack in Oracle Enterprise Manager (OEM) Tool (Oracle Management Server (OMS)) & OBIEE Application.

OBIEE Management Pack needs to read the performance values exposed over JMX. In order to start this utility, we need to configure the runagent.sh or runagent.cmd under /$OBIEE_ROOT/systemsmanagement/

Following is the sample runagent.sh file setup for a OBIEE Setup on Unix Platform:

#!/bin/sh
# this is a template of runagent.sh to be used on Unix.
# The installer will fill in JAVA_HOME, SAROOTDIR, and SATEMPDIR

export JAVA_HOME="/usr/java/jdk1.5.0_19"
export SAROOTDIR=/$OBIEE_ROOT/
export SADATADIR=/$OBIEE_DATA/
export SATEMPDIR=/$OBIEE_DATA/tmp
export UNIXPERFDIR=${SATEMPDIR}

java_cmd="${JAVA_HOME}/bin/java -Djava.library.path=${SAROOTDIR}/server/Bin -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9980 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -classpath analytics-jmx.jar:lib/xmlparserv2.jar oracle.bi.analytics.management.StandardConsoleAgent"

${java_cmd}


Now if you carefully observe, if you invoke the script from your home directory, the classpath will fail to resolve & give error like:
Exception in thread "main" java.lang.NoClassDefFoundError: oracle/bi/analytics/management/StandardConsoleAgent

Above issue is purely due to the way classpath parameter is given in java_cmd: -classpath analytics-jmx.jar:lib/xmlparserv2.jar oracle.bi.analytics.management.StandardConsoleAgent

The analytics-jmx.jar & xmlparsev2.jar are not resolved as absolute path locations are not given here. So you need to manually change your directory till /$OBIEE_ROOT/systemsmanagement/ & then invoke runagent.sh file to start the JMX Performance counters successfully.

The JMX Performance Counters needs to be exposed constantly so that OBIEE Management Pack reads correct values. To achieve this, you need to start the runagent.sh file in background mode. e.g.-bash-3.00$ runagent.sh &  or-bash-3.00$ nohup runagent.sh & so even after you logoff your session, the utility keeps running & gathers correct values.

Enjoy!

Keywords:
OBIEE, Siebel Analytics, Business Intelligence, Oracle Enterprise Manager Grid Control, OMS, Oracle Management Server, OEM, Grid Control, JMX, JAVA, OBIEE Performance, etc

Tuesday, April 06, 2010

8.0.0.8/8.0.0.9 Fix Pack Installer Hangs

Hi Friends,

On Linux/Unix Platforms, if you try to start 8.0.0.8 or 8.0.0.9 Fix Pack Installer in console mode (./setuplinux -console), you might see that the installer hangs after you proceed the instance to be patched step!



Further investigation led me to find out that the Fix Pack installer tries to install mandatory Oracle Configuration Manager (OCM) before the actual Siebel Patch Installation begins... As the OCM installation is launched in a separate typical Oracle 11g Database Installer type setup, it fails to launch in console mode due to which the entire setup lies in a hung state :(

The only current workaround is to start the start Fix Pack installer in UI mode so that the mandatory OCM installation completes successfully and you are allowed to proceed ahead for Siebel Patch Installation!

Read about another 8.0.0.8/8.0.0.9 Fix Pack Setup issue you might come across:
http://geektalkin.blogspot.com/2010/04/setupproductinstall-utility-err-unable.html

Keywords:
siebel crm,siebel customer relationship management,siebel solutions,siebel support,siebel supportweb,siebel systems,8.0.0.8, 8.0.0.9, Fix Pack, Siebel Patch, OCM, Oracle Configuration Manager, etc.

Monday, April 05, 2010

Installshield Installer JRE issue

Hi Friends,

Java based installshield installer comes with its own bundled JRE. If this bundled JRE gets corrupted, then you will be in a great pain to start the installer as it will report errors like:

This application requires a Java Run Time Environment (JRE)
         to run. Searching for one on your computer was not successful.
          Please use the command line switch -is:javahome to specify
          a valid JRE.  For more help use the option -is:help.


Even though you try to specify a valid JAVA HOME using -is:javahome option, still the installer will fail to start & keep giving me the same error, the reason being installshield needs a very specific JRE & it wont accept any JRE passed as an -is:javahome option!

Such particular issue is encountered with Siebel Uninstallers on Linux/Unix platform.
Siebel product uninstallers exist in /$SIEBEL_ROOT/_uninst/uninstall.ksh

You need to start the uninstaller by passing the product name as an option:
E.g. If we need to uninstall Siebel Web Server Extensions (SWSE), then we would invoke the uninstaller as:
./uninstall.ksh eappweb

Now, if you receive the JRE issue, then there is pre-extracted Installshield JRE which is corrupted.
Such JRE exists in the Product directory which you are trying to uninstall:
e.g. /$SIEBEL_ROOT/_uninst/eappweb/_jvm

In order to fix this issue, the only option you have is to restore the _jvm directory from backup or copy the contents of _jvm from a different machine having similar Siebel Setup & overwrite the contents in the corrupted JRE directory.

While i was researching on this issue, i came across solution for IBM Product Installshield Installers, was to setup the below Environment variable to successfully bypass this error:
set JAVA_COMPILER=NONE
or
export JAVA_COMPILER=NONE

Hope this info helps if you come across installshield issues.

Keywords:
siebel crm,siebel customer relationship management,siebel solutions,siebel support,siebel supportweb,siebel systems, Installshield, JAVA, JRE, JVM, Uninstaller, JAVA_COMPILER, etc.

Sunday, April 04, 2010

Setup.product.install, Utility, err, unable to launch (SBL-STJ-00152)

Hi Friends,

As Siebel 8.0 is evolving, we have new annoying bugs to face!
From Siebel 8.0.0.8 Fix Pack onwards, you might face an error like:

(Mar 29, 2010 5:57:33 AM), Setup.product.install, Utility, err, unable to launch: "\\server1\d$\Siebel_Install_Image\8.0.0.9\Windows\Server\Siebel_Enterprise_Server/Disk1/install/setup.exe -waitforcompletion -nowait ORACLE_HOME="d:\sba80/gtwysrvr" -defaultHomeName -responseFile \\server1\d$\Siebel_Install_Image\8.0.0.9\Windows\Server\Siebel_Enterprise_Server/Disk1/stage/response/NTOCMCD.rsp" error code: "-1"(SBL-STJ-00152)
(Mar 29, 2010 5:58:41 AM), Setup.product.install, InstalledProductsPanel, err, Not able to stop the server. Please stop the server
manually and run patch installation again.(SBL-STJ-00101)




If you note, i was trying to apply 8.0.0.9 Fix Pack from a network shared location. Like always,  i expected this to work perfectly fine as with earlier Patch Installs, but this time it errored out!

Well, further investigation led me to find out that, the Fix Pack installer tries to install mandatory Oracle Configuration Manager (OCM) before the actual Siebel Patch Installation begins...
The OCM installation is launched in a separate typical Oracle 11g Database Installer type setup, which fails to launch when we have invoked the parent Siebel Patch setup from a network shared location!

In order to workaround this issue, you need to copy the extracted Patch Installer, like for Siebel Enterprise Server to a local machine drive where you are trying to apply the patch.

As of now, this is no mechanism to bypass OCM installation, though OCM has nothing to do with Siebel Patching Process as such.

If you do not want OCM, post-installation, re-run Oracle Installer & deinstall the OCM. Oracle has acknowledged that OCM installation should be optional, so lets see when they add the optional functionality in the installer.

Till then breathe a sigh & proceed with the Patch Installation :-)

Keywords:
siebel crm,siebel customer relationship management,siebel solutions,siebel support,siebel supportweb,siebel systems, SBL-STJ-00152, SBL-STJ-00101, 8.0.0.8 Fix Pack, 8.0.0.9 Fix Pack, Oracle Configuration Manager, OCM, etc.

Sunday, March 28, 2010

Save Our Tigers Initiative

Hi Friends,

Geek Talkin Siebel has pledged full support to "Save Our Tigers" initiative!
If you feel you can do some part to save our precious national animal, please register & pledge your support as well!

Pledge Support At: http://www.saveourtigers.com/JoinTheRoar.php
Home Page: http://www.saveourtigers.com/

Let unite & bring a change :-)

Keywords: Save Our Tigers Intitiative, Tiger Conservation, India National Animal, Forest Reserves, etc

Wednesday, March 17, 2010

How to Setup Related Posts Widget for Blogger

Hi Friends,

I wished this feature would have been available out of box with Blogger! But since that is not the case, we need to hookup custom code to achieve the "Related Posts" functionality.

It is very important to let your Blog readers have a glance at other posts. The archive section is not very friendly to expect readers browse manually to different items. Hence the related posts functionality is a big hit to achieve the reader sticky ness to your Blog :-)

The widget is pretty simple to install! Lets follow the steps below:

Steps for Implementation:

   1. Go to Layout >Edit HTML in your Blogger Dashboard.

   2. Back up your existing Template before making any changes!




   3. Make sure to check the "Expand Widget Templates" box.



   4. Search for the </head> tag.


   5. Add the following code just before the tag.


   6. Now search for <data:post.body/>. In some of the templates this code may look like this
      <div class='post-body>
      or
      <data:post.body/>

 
   7. Add the following code just beneath the code you just searched for.



   8. Now Save your Template and you are done!




Customization

    * In order to change the number of maximum related posts being displayed for each label, search for the code below (within the code given in step 7) and change the number "5" to any desired number.

I hope this valuable functionality is easily added by following this simple setup guide!
Original Author Website: http://widgetsforfree.blogspot.com/2009/01/related-posts-widget-for-blogger.html

If you face any problems setting this up leave a comment & i would be happy to help.
Enjoy!

Keywords: Blog Tricks, Related Posts, Blogger, Blogspot, Widget, Javascripts, Guide, etc

Tuesday, March 16, 2010

SBL-DAT-60171: End of the log stream is reached

Hi Friends,

This is an amusing bug [SBL-DAT-60171: End of the log stream is reached] in Siebel 8.0 which is dumped in your log files while accessing Audit Trail fields.
Its related to database as its dumped via sqllog.cpp (671) file.

This error comes when GetAuditTrail method is called via script.
So far this issue exists in Siebel 8.0 till 8.1.1. There is no uncertain application behaviour noticed due to this error, but just a dump in the log.

Its already logged as a bug, but so far no fixes have been released for the same.
If this error is in your logs & do not create any related problem, then you can safely ignore this error.

Enjoy!

Keywords:siebel crm,siebel customer relationship management,siebel solutions,siebel support,siebel supportweb,siebel systems, SBL-DAT-60171, Audit Trail, Logs, etc

Wednesday, February 10, 2010

SBL-EIM-00205: NULL target table for relation

Hi Friends,

You can encounter SBL-EIM-00205: NULL target table for relation error while running an EIM Job in Siebel 8.0!
This issue is peculiar to Siebel 8.0 & above as this is caused to erroneous EIM Mapping when you have enabled Case Insensitivity (CIAI) on one of your base table columns.

When you enable CIAI (Case Insensitivity Accent Insensitivity) on one of your base table columns which has indexes on it, it will create another column corresponding to it & create CIAI indexes on the same to achieve the functionality.

For e.g. If you have created a new column on S_ORG_EXT say Column X_A having indexes on it & then you enable CIAI on it, it will create a another column called X_A_CI & create CIAI index on top of it. So internally whenever in application you query on column A, it will be driven by the CIAI Column created & the index associated to it.

This is good to achieve Case Insensitive & Accent Insentive stuff on a column, but when you move forward & run the EIM Column Mapping Wizard as its a new column, it will create mappings for both, i.e. Column X_A & Column X_A_CI in the EIM Mapping!

This mapping of X_A_CI column creates an issue with EIM which causes it to fail with SBL-EIM-00205 error!
In order to resolve this, you will need to manually delete the X_A_CI column mapped into the EIM Table  [EIM_ACCOUNT (For S_ORG_EXT)].


Delete this mapping & apply EIM table changes on the table & then do a DDLSYNC on the server. Delete eimcolrelcache.dat & diccache.dat before restarting the server.
Once the server is up, try running your EIM Job, it should no longer fail with SBL-EIM-00205 error. Also this has been acknowledged as a bug, so lets wait for Siebel to fix it. Until then this is the only workaround available.

Enjoy!

References:
How to DDLSync?
How to run CIAI wizard?
How to run EIM Column Mapping Wizard?


Keywords:
siebel crm,siebel customer relationship management,siebel solutions,siebel support,siebel supportweb,siebel systems, EIM, EIM Mapping, Extend Base Table, Enterprise Integration Manager, CIAI, Case Insensitive, Accent Insensitive, SBL-EIM-00205, etc

Tuesday, February 09, 2010

How to run EIM Mapping Wizard?

Hi Friends,

Its a common activity where in you extend a base table for your customization requirements & then also need the same column available for data loading using Siebel EIM (Enterprise Integration Manger).

Here, i will walk you through simple steps to run EIM Mapping Wizard. For our example i have extended a column in S_ORG_EXT & want to map the same in EIM_ACCOUNT.

Steps:
1) Lock EIM_ACCOUNT & S_ORG_EXT Projects in your Siebel Tools
2) Go to S_ORG_EXT Table from object explorer in Tools & right click the same to select EIM Table Mapping:


3) Now, Interface Table Mapping Wizard opens up which shows all the EIM tables to which S_ORG_EXT has been associated. Since we want to map our new column in EIM_ACCOUNT, select EIM_ACCOUNT from the list & then click Next:

4) Moving ahead, click finish to let the Mapping Wizard actually map the columns in EIM_ACCOUNT Table:
 

  

  

5) As you saw above the EIM Table mapping has completed successfully. Now in order to reflect the same physically in your database, either go to EIM_ACCOUNT in Tools & use the "Apply" feature or do a DDLSYNC.

This completes the EIM Mapping. Its short & simple!

References:

Keywords:
siebel crm,siebel customer relationship management,siebel solutions,siebel support,siebel supportweb,siebel systems, EIM, EIM Mapping, Extend Base Table, Enterprise Integration Manager, etc

Monday, February 08, 2010

How to enable CIAI in Siebel?

Hi Friends,

I hope you have been aware of the new CIAI (Case Insensitive Accent Insensitive) feature from Siebel 8.0 onwards. If not, i would like to quickly point you to its features at: http://download.oracle.com/docs/cd/B40099_02/books/ConfigApps/ConfigApps_TablesColumns13.html#wp1079774

Considering you have a fair bit of idea now, i would like to proceed ahead & demonstrate how to actually enable CIAI for one particular column in a base table which already have preexisting indexes (a common scenario):

1) Here is what i am doing, i have a column named "X_A" on S_ORG_EXT with a pre-existing index on it.

2) I have locked my S_ORG_EXT Table project in Tools. Then right click on the column X_A & select Case Insensitivity:

3) Now a configure Case Insensitivity Wizard opens up:


4) If you carefully observe, the Index Strategy is "Copy All" which means we have pre-existing indexes on this column due to which a new column & CIAI index will be created on the same:

 

5) When you click Finish, the wizard creates a new column & its associated index:


6) This finishes your CIAI stuff for the column A in your repository.
7) Moving ahead, apply this Table changes physically on the Database by either using the "Apply" feature from Tools or doing a DDLSYNC.
8) Once the physical application on the database is complete, you can restart your server & have a fresh compiled SRF to test out the CIAI changes.

Enjoy!

References:
How to run DDLSYNC?

Keywords:
siebel crm,siebel customer relationship management,siebel solutions,siebel support,siebel supportweb,siebel systems, CIAI, Case Insensitive, Accent Insensitive, etc

Friday, January 22, 2010

Genbscript Error: Couldn't enumerate buscomps (initial)

Hi Friends,

This is one of the rare errors which you might get while generating browser script after compiling an full SRF.
Couldn't enumerate buscomps (initial)





This error happens basically when you have a EBC in your SRF while the CFG you are pointing to generate the Browser Script does not have the External Datasource information captured.

Quite puzzled as you must be having the External Datasource configured at Siebel Enterprise Profile Configuration, then why this issue?
Well, if you carefully observe the genbscript command (genbscript "%SIEBEL_ROOT%\siebsrvr\bin\enu\siebel.cfg" "%SIEBEL_ROOT%\siebsrvr\webmaster\enu" enu), we refer to a local CFG, while since we are configuring all the Enterprise Setting through Admin-Siebel Configuration, the changes are directly reflected in our siebns.dat via Gateway & not the local application CFG.

Thus to overcome this issue & generate all the browser scripts successfully, simply add a dummy holder in CFG for the External Datasource:

Steps:
Open your local application CFG (e.g. siebel.cfg (%SIEBEL_ROOT%\siebsrvr\bin\enu)
Add Under
[DataSources]
EDSNAME=EDSNAME    (Here EDSNAME is the actual External Datasource Name configured in Enterprise Profile Configuration)

Add after [ServerDataSrc] block completes:
[EDSNAME]

Thats it! Save the CFG & you are all set for a successful genbscript!

Keywords:
siebel crm,siebel, siebel systems, genbscript, siebns.dat, External Data Source, EBC, External Buscomp, siebel tools, siebel dev, SRF, siebel repository, etc