Oracle XE is a a bit of beast, a pain in the proverbial to install and overkill for the purpose of a local Siebel database. However, it is at least an Oracle database and not a Sybase database, as it was in days gone by.
What this means is that it is possible to use Oracle tools to access and manipulate the data. Gone are the days of disql and it’s more than limited functionality. We can now access the local and sample databases using SQL Developer and other Oracle tools, such as import / export and data pump. I used this fact to my advantage, recently, to populate a fresh Siebel 16 server installation with demo data. This lets me use the full gamut of thin client apps, with useful data and users.
Terry Smythe’s Accounts!
Install the Sample DB
First up, we need to install the XE sample using the Tools or Client installers. All straight forward (as of 16.2, anyway) and you’ll be left with an XE Service that’s running and listening on localhost, port 1521.
Reset the System Password
We now need to get access to the system account, so that we can mess around. Bring up a command prompt and enter:
connect / as sysdba
alter user system identified by system;
This will reset the “system” password. Note that SADMIN and SIEBEL use the equivalent value for logging in.
Export the XE Sample Data
You can use Oracle Data Pump (impdp / expdp) to do this, but I found it to be a bit of a hassle – my target is an RDS instance on Amazon, so I’d have to push a load of files up in order for data pump to suck them in. As it is, I used the old fashion import / export (imp / exp) commands in XE to do the job.
First up, we don’t want all the data from sample – we really only want “S_” tables and we want to exclude the Repository tables. As such, I selected out the tables I wanted directly from S_TABLE:
SELECT NAME FROM SIEBEL.S_TABLE
WHERE TYPE <> 'Repository'
AND NAME LIKE 'S_%'
ORDER BY NAME ASC
I then saved this to a text file (tables.par) and modified this to work as a parameter file input into the “exp” command:
I then initiated an export from my XE database. Note that the exp command can be found in the Tools installation folder, <TOOLS>\oraclexe\app\oracle\product\11.2.0\server\bin:
exp SIEBEL/SIEBEL@SAMPLE_XE BUFFER=16384 FILE=C:\Oracle\Exp\Sample.dmp GRANTS=N TRIGGERS=N CONSTRAINTS=N STATISTICS=NONE PARFILE=C:\Oracle\Exp\tables.par
This took roughly 15 minutes to complete and I’m left with a “.dmp” file of around 4GB in size.
Import the Sample Data into Oracle Server
You can probably guess the next step – using the “imp” command to import the data into my Server Oracle instance. The process is much the same as for export – the main point of note here is that we want to explicitly ignore errors. Even though we’re pushing sample data into a “clean” Siebel Database, there’s still a load of seed data in there that we don’t want duplicated. By ignoring errors, the indexes will keep duplicates out while allowing the whole process to complete without terminating:
imp SIEBEL/SIEBEL@TARGET FROMUSER=SIEBEL TOUSER=SIEBEL BUFFER=16384 FILE=C:\Oracle\Exp\Sample.dmp IGNORE=Y PARFILE=tables.par
Create our test users
Now that we have all the sample data in the server DB, we must create some users to match the thousand or so S_USER records that have been created for our use across the sample system. Again, I put Oracle’s own tools to good use and created a SQL script in SQL Developer:
SELECT 'GRANT CONNECT TO ' || LOGIN || 'IDENTIFIED BY ' || LOGIN || '; ' || 'GRANT SSE_ROLE TO ' || LOGIN
WHERE LOGIN NOT IN ('SADMIN', 'SIEBEL', 'GUESTCST', 'GUESTERP', 'LDAPUSER')
Execute this script and users will be created. Be careful to exclude any users you don’t want to affect (SIEBEL and SADMIN being the main ones) as the script will reset their passwords. You can find a list of relevant test users for each Siebel vertical in this Bookshelf Guide.
Login as Casey Cheng!
It’s what you’ve always wanted, right? Fire up Siebel Call Center and login as CCHENG. Ah, memories!
Now sit back and enjoy perusing the sample data from the comfort of your full Siebel installation.
Well, it was only a matter of time before I ended up working with Siebel again!
I’ve been introduced recently to Amazon Web Services – AWS to you and me. So this is what Cloud Computing is all about! I’m utterly gob-smacked by the power of this platform, the stuff you can do and the speed at which you can do it.
I was tasked with building a Siebel 16 installation using AWS and it is amazingly straight forward. Not to mention incredibly cost effective, compared to using physical hardware and on-premise virtualisation.
I thought I’d share with you the process of spinning Siebel up “in the Cloud”!
First up, my architecture involves two AWS instances – an RDS instance for the database and an EC2 instance for the Application and Web Servers. Using RDS, I’m able to spin up an Oracle Enterprise Edition 12c database in less than 10 minutes. It’s literally a few clicks and you’re done – no more slaving away with OUI, downloading files and the installation and configuration process. AWS captures parameters from simple web pages and does the rest – lightening fast. AWS will even keep my Oracle installation up to date, automatically applying minor patch updates during a maintenance windows that I can define.
So, I have a database instance up and running. I then spin up a new Windows 2012 R2 server. Again, the process is ludicrously quick. I choose from a number of types that have varying RAM, CPU and bandwidth allocations, allocate C and D drives with 60 and 120GB respectively and click a button. Less than 10 minutes later, I have an RDP file to download to my laptop that allows me to connect to the new server. I then jump on to Oracle eDelivery and download the Siebel installation media – I’m getting speeds of nearly 70MBs (that’s mega BYTES, not BITS!) and download the full Siebel installation in under 15 minutes. I unzip the media and backup the installation files to Amazon’s storage offering, S3.
I download and install a Java SDK, Oracle 12c 32-bit Client and SQL Developer then set up my TNSNAMES. I then run SNIC to extract everything and prepare my Siebel installation media and kick off my Siebel installation. Within another couple of hours I have a fully functioning Siebel environment.
While this is all pretty much “installing Siebel on a remote server”, the real benefit comes of now saving my Siebel Server installed as an Amazon Machine Image (AMI). This will allow me to VERY quickly spin up new Siebel 16 server environments for whatever I need – training, dev environments, the list is endless.
I’ve always been a bit of a cynic when it comes to “Cloud” computing but AWS has got me converted. This stuff is HUGE and it is AWESOME – with this stuff, server rooms are sure to become a thing of the past.
Siebel Innovation Pack 16 (AKA Siebel IP16 or just Siebel 16) has hit Oracle eDelivery! I kicked off a download of the installation media over the weekend and have been chipping away with the installation over the last couple of days.
Nothing exciting to report at the moment, as I’ve successfully patched up my Siebel 15 installation across the Server, SWE, Tools and Web Client. A couple of quick notes, until I get around to testing out the new functionality:
- Downloads from Oracle Software Delivery Cloud (AKA Oracle eDelivery) have been greatly improved, thanks to the use of Akamai Download Manager. Akamai lets you queue large downloads (Siebel 16 is 75GB in total!) and resume any that have failed. I left Siebel downloading over-night to be met with a full set of ZIP files in the morning
- You are now, very directly, asked to accept Oracle’s ‘Oracle Standard Terms and Restrictions’ agreement. Make careful note of the text here, if you’re setting up and using a ‘trial’ environment such as I am. Oracle have provided guidance on the use of it’s software outside of licensed customer environments.
The installation wizards offer nothing new but, progress bar insanity aside, everything has installed smoothly.
My next challenge is to install Siebel Tools on XE and enable the new Siebel Composer functionality. XE is proving to be an interesting challenge, as my base Siebel Server box already uses Oracle XE as the Siebel Server database. When I attempt to enable XE on the Tools instance installed there, I get an error: presumably because XE is already installed. I guess I’ll have to set up a separate Windows 8/10 WM to get a local Siebel Tools instance installed.
As soon as I have the process of installing Tools with XE and enabled the new funky functionality, I’ll post up a new article.
Watch this space!
Moving around from client to client, I have one recurring job – installing Siebel Tools and the Siebel Web Client. I’ve done this dozens of times, with dozens of different Windows builds, and it always takes way longer than it should.
Siebel 6 Client and Tools were delivered using InstallShield, which just worked – and why wouldn’t it, those components have always been Windows only. OUI does try hard, bless it, but it always seems to be on the lookout for ways to make things difficult.
If the Siebel installation software is on a network drive, and you don’t have access to your local “Administrator” user, you may be used to the OUI “setup.bat” running for 30 seconds, unpacking a load of crap to your hidden AppData\Temp folder and then falling silent. I certainly am. It would seem that OUI likes to run elevated and hates running from a UNC path. Mapping a drive then running a CMD prompt as administrator doesn’t help, as Windows will not give Administrator access to your personally mapped drives.
Thanks to Winability.com, there’s a way around this. Add a simple DWORD registry key:
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System/EnableLinkedConnections = 1
Reboot, map a drive to your Siebel installation folder. Run CMD as administrator, CD to your required installation folder and run setup.bat
So, you’ll know by now that Oracle have ended their support for Siebel running on a 32-bit Windows platform. As of 184.108.40.206 (IP2014), Siebel Server components must be running on 64-bit Windows servers. The reasons for this are pretty clear, and the formal “End of Life” of Windows Server 2008 this January really was the final nail in the coffin.
However, that leaves customers running earlier releases on 32-bit Windows platforms with a bit of a quandary: if we upgrade to 220.127.116.11 (even from 18.104.22.168), we’ll need to upgrade our OS to 64-bit Windows.
This can be a big deal. I’ve worked on a programme which had 8 Production Siebel Servers, running a clustered Gateway and FS service, two load balanced OM servers, two workflow servers and two load balanced web servers. Add in dev, test, fix, pre production and we’re talking nearly 22 servers, all on Windows Server 2008. Microsoft do not support in place upgrading of 32-bit to 64-bit OS’s, so the clients only option to move to 22.214.171.124 is to build 22 new servers, re-install Siebel, and switch it all out. It’s complex, costly and time consuming – though virtualisation, and Oracle’s support of it in a Production Siebel site, helps matters no end. All this just to upgrade from 126.96.36.199 to 188.8.131.52.
So, I was wondering – are you in the process of working through this problem yourself? What are your thoughts on the matter? Is this preventing you from upgrading altogether?
I’ve put together a simple poll to tally responses, but please feel free to add comments to the post to explain what you’re doing in more detail.