3

A little background information

In each Siebel server there is a special folder called the "Siebel file system", a repository of unstructured content used by Siebel applications which contains primarily attachments, user and system preferences. Inside the file system, there is a folder named att, which stores the binary data in a compressed format. For example, if my Siebel server receives an email, the data will be stored in the database, but the file attachments will be placed inside att.

The problem

In our Siebel 7.8 production environment, we have almost 2 million files inside the att folder. Our OS (Solaris) can manage that amount of files, but it's starting to affect the server performance, so we have decided to split att into att_1, att_2, att_3... The problem we are facing is the lack of any Siebel documentation covering this partition process. There is a tool for Siebel 8.x, but nothing for 7.x. We know there is a workaround because we have found some online sources discussing it:

Performance of Siebel file system

I have successfully implemented using a multiple filesystem approach: create multiple directories e.g. siebfile/att, siebfile/att1, etc. Then modify the DSFileSystem param on the ServerDataSrc profile to point to this new path with multiple filesystems, and set you OM to use enterprise filesystem parameter. FSM will not be used anymore. The first directory you specify in the parameter is read/write and all new attachments will be stored here, the others are read only and will contain the old archive files.

For example: DSFileSystem = \seblserver\filesystem\att,\seblserver\att2,\seblserver\att3

How to change directory structure of a Siebel Filesystem (Oracle support contract required to open the link)

This pre-8.1 multiple folder structure refers to a setup where first filesystem folder adds new files, and all subsequent folders contain older files in read-only mode. This workaround has been used in 7.8 deployments when there was a need to split the filesystem into different folders.

Enterprise parameter Filesystem: /write0/fs

Named subsystem parameter DSFilesystem: *FSM*,/read1/fs/att,/read2/fs/att,/read3/fs/att

In this setup, new files will be written only into the folder "/write0/fs/att". When retrieving a file, FSMsrvr is searching in all 4 folders /write0/fs/att, /read1/fs/att, /read2/fs/att and /read3/fs/att

That's exactly what we have done, but it's not working. The siebns.dat file is updated properly, the server starts without any problems, and we are able to access the files inside att and to create new files there. But if we try to open any file inside att_2, att_3... we get an error message: The file something.txt cannot be found on any specified file system (SBL-UIF-00230).

So, we are hoping that somebody who has done the same process, could tell us which step we forgot.

What have we tried?

These are the steps we have followed so far:

  1. Create the new folders att_1, att_2, etc, in the same place where att is. They are owned by the siebel user and have been chmoded to 770, just like att.

  2. Divide the files inside att amongst the new folders.

  3. Create a backup of our /opt/siebel/gtwysrvr/sys/siebns.dat file.

  4. Execute the srvrmgr utility and run the next sentence: change param DSFileSystem="*FSM*,/opt/siebel/fs/att_1,/opt/siebel/fs/att_2,/opt/siebel/fs/att_3,/opt/siebel/fs/att_4,/opt/siebel/fs/att_5" for named subsystem ServerDataSrc

  5. Access the Siebel application and navigate to Enterprise Configuration > Batch Component Admin > Synchronization. Select all the existing components, and then click the Synchronize button.

  6. Once the sync process has finished, restart everything: Siebel server, gateway server... and just in case, the web server too.

Other options we tried, which didn't make any difference:

  • Using the actual path /opt/siebel/fs/att instead of *FSM* (step 4).
  • Creating folders like /opt/siebel/fs_1/att, opt/siebel/fs_2/att... instead of a bunch of att_N inside /opt/siebel/fs.
  • Updating the FileSystem property within the [ServerDataSrc] section of the server publicsector.cfg file.
  • Any combination of the above.

Any ideas? What are we missing?

AJPerez
  • 131
  • 6

0 Answers0