Indexes are created on the table to improve performance. The purpose of adding index is to help the database locate records much quickly and efficiently. The steps needed in adding an index to a Siebel table are pretty straight forward but this has to be first done on the local client db using Siebel Tools and should never be done straight on the database.
For the purpose of this blog, I will take an example of adding an index to an extension column s_org_ext.X_OLD_ACC_NUM.
This blog assumes that the extension column X_CDC_ACC_NUM has already been created and needs to be indexed so that the query runs faster.
Steps:
- Open Siebel Tools by connecting to Local DB.
- Check out the project Table Organization under which this table belongs to.
- Make a copy of your existing local database found at “C:\Program Files\Siebel\7.7\Tools\LOCAL\sse_data.dbf”. This will ensure a safe back up.
- Login to Siebel Tools by connecting to your Local Machine
- Select the Table for which you want index a column. Ex: S_ORG_EXT
- Under Object Explorer Select Index object type. You will see in the object list editor that lot of indices already exists for this table.
- Create a new record in the object list editor and give name. Ex: XOLDACCNUM_X (_X in the end of the name will be automatically added if not specified)
- Type some comments. This will help for future reference
- Expand the Index object type and select Index Column
- Create a new record and add Column name Ex: X_CDC_ACC_NUM and step off. If necessary add more columns.
- Select the table and hit Apply on the Object list editor
- You will see a pop-up warning you that you are about to connect to the local database. Click ok to continue.
- A popup appears asking for more information
- Fill the following information
- Tables: Current Row
- Privileged User Id: SIEBEL (all CAPS)
- Password: this is the password that was used when you extracted the local database EX: if you extracted your local database with username: JMAY and password: INTERNET then you should enter INTERNET. The most common practice is I believe that the password will be your login name as you will be extracting from Development environment.
- ODBC data source: This is the name of the System DSN set under Windows Control Panel -> Data Sources (ODBC) -> System DSN. It is most likely be “SSD 77 Local Db default instance” or “SSD Local Db default instance”. The DSN should be pointing to the sse_data.dbf file. This step the most common issue people might face as they might not know the instance or don’t know where to look at. Otherwise it is very simple.
- Click Apply.
- You will see a popup that changes are successfully applied.
- Test and make sure everything looks fine.
- Now check-in into the server.
- Object changes would be available on the server but it is not yet been reflected on the database.
- Login into Siebel Tools connecting to Server
- Find the table and make sure that the extended column is visible.
- Select the table and click apply to have server changes reflect in the server database. Fill up required information similar to step 14.
- After applying changes you should be able to see changes in the database. Login to the server database using your favorite SQL editor like TOAD and verify that the index has been created.
- Test the server DB and you are all set.
Note:
- Never add an index to a system column otherwise it will impact performance severely.
- Create indices only if needed and do it with caution.
- Never drop an index that is created or already exists instead turn them as inactive.
- Test thoroughly before deployment.
Hope this document has helped you. Let me know if you have any questions.
I would really appreciate if anyone can participate writing any articles like this and send it to me. Thanks.
Related posts(Auto Generated):





April 29th, 2008 at 7:24 am
Hi Sridhar,
I have many doubts in siebel among them one is abt index and user key.
We can achieve uniqueness using index then what is the need of using user key. Plz differentiate between index and user key.
Thanks in advance.
May 1st, 2008 at 10:22 pm
Hi Kishore,
Your question is valid, but User Keys have a whole different purpose and are very important . As this question is a little off topic for this blog, Why don’t you post a question in the Forums section and I will be glad to discuss there and answer this question along with an example.
Thanks
Sridhar
May 6th, 2008 at 10:30 am
Hi Sridhar,
Thanks for your reply. I am posting same question in forumns plz clear this doubt with examples.
Thanks,
Kishore.
June 15th, 2008 at 10:36 pm
Any thoughts about adding indexes suggested by tools such as SQL 2005?
I’ve run a few long-running queries through the Database Engine Tuning Advisor, and it’s come up with a few suggestions.
It looks to be fairly simple to apply the recommended indexed via recreating them in tools, but I’d appreciate any feedback on doing so…
Cheers,
Chris
June 15th, 2008 at 11:48 pm
Hi Chris,
Unfortunately I havent worked with SQL 2005 so I have never seen the Database Engine Tuning Advisor. But since it is recommending to add indexes and as long as you are doing using tools and not making changes to any system columns/tables I think you should be fine. Also make sure you test it in Dev/Stg environment and have a good back up of the Prod system before you make changes.
If you still have any questions you are more than welcome to discuss under the forums section of the website. I will be glad to be of any help.
Good Luck!
Sridhar
June 23rd, 2008 at 8:41 am
hello all,
I’m assgined prj. where i’ll be handling siebel anayltics part..guys what’s the futuer of siebel analytics, shall I go for it?
June 23rd, 2008 at 5:09 pm
Hi Nirmala,
According to me Siebel Analytics/Oracle-BI has bright future. If you want know more you are welcome to use the forum to discuss under Siebel-Career section. Regards.
April 9th, 2010 at 9:14 am
Can we able to create an Index for a column which is used in the join fields and will give us better performance?
Suppose in Account BC, City field is coming from S_ADDR_ORG table. If we create an Index on the CITY column of S_ADDR_ORG table then will it give us better performance?