What is Siebel Database ServerSiebel eBusiness application software supports a number of different relational database systems; the document “Siebel System Requirements and Supported Platforms” contains details of the supported vendors and versions.
Siebel eBusiness software is delivered complete with a database schema that must be created on the chosen database. This schema is managed as part of the Siebel application configuration process and allows for a number of different types of extensions as a result of configuration.
Each Siebel eBusiness component that requires access to the database, such as the Siebel Application server, will use ODBC. The Siebel Application servers will maintain multiple connections to the database server, including support for the user sessions. To avoid many thousands of connections, the Siebel Application server can be configured to use connection pooling. This will cause the Siebel Application server to use a single database connection to service multiple tasks or user sessions.
All data manipulation interactions that occur must do so through a Siebel eBusiness application component, since referential integrity and data quality are controlled at the application layer. Direct insert, update and delete operations against the database are not supported. Although data retrieval operations are permitted directly from the database, Siebel does not guarantee or warrant that the results achieved will be as required.
The Siebel eBusiness database contains user data, reference data and the application definition, also known as the Siebel Repository. Access to the data contained within the database is controlled through users’ responsibilities and positions defined within the application. Database security is not employed to control access to data elements or attributes and as a result, to preserve data security, users must not be given the means to access the database directly.
When defining the database, several accounts will be required. They are typically:
- Table or schema owner – SIEBEL
- Application administration user – SADMIN
- User role for all users – SSE_ROLE
Database Server Best PracticesThe following best practices relate specifically to the database server component of the Siebel Enterprise. They should be considered in addition to any best practices or recommendations specified by the database vendor or administration team(s).
Ongoing regular maintenance
Establish maintenance windows to provide for conducting regular maintenance of the database. Without these opportunities to conduct maintenance, every task must be arranged separately with the user community and this can lead to user satisfaction issues.
Regular maintenance tasks would include defragmentation of database objects, creating new indexes. The database administrator should establish the program for regular maintenance in accordance with the requirements of the chosen database platform.
Performance testing & tuning
As with all aspects of the Siebel Enterprise, the database server must be the subject of an effective performance test. This must include the initial deployment as well as ongoing releases of new functionality, since these can have a significant impact on overall performance.
Conduct the testing and necessary tuning effort on a database instance that is representative of the production volume, especially data volumes and distribution. Conducting performance tests on a database that has minimal data will not provide an indication of the likely response times, resource requirements or query access plans.
When conducting performance tuning, consider testing new indexes on the database prior to defining them in Siebel Tools and also consider removing indexes. At all times the effect of the index changes must be evaluated for all areas of the application that access the affected data object. An index created to enhance one area of the application may in fact become and impediment to another area, depending how the data is accessed.
When migrating to the production environment, the Siebel Repository must contain the index definitions to be used. The migration process will build the indexes as they are defined in the Siebel Repository.
Resource and database monitoring
Establish procedures and solutions for the ongoing monitoring of the database and the database server. This includes the usage of the server resources, the responsiveness of the database and the general health of the various database objects, such as fragmentation of the database tables. The database vendor should have identified those aspects of the database that require monitoring.
Capacity planning for the Siebel Enterprise as a whole is a good idea and in particular the database server. Ensure that the results of the resource monitoring are used for capacity planning as well as potential changes in the user community, the usage of the application and changes in application functionality.
Prior to going into production, establish the backup strategy and solution for the database. When considering the backup strategy, ensure that the system can be easily and relatively quickly recovered.
When deciding upon a platform for the database server, ensure a scalable solution is employed. Generally, during the production lifecycle of a Siebel eBusiness application, users and functionality are added over time. They each require additional resources and can lead to upgrades being necessary for the database server as well as other components. In general, replacing the database server is one of the most challenging tasks that could be undertaken within a Siebel Enterprise due to the amount of data that could have to be moved.
Avoid this operation as far as possible by ensuring the database server can be upgraded in place.
Control data model
The Siebel eBusiness data model that is supplied with the application offers a rich set of predefined tables and supporting indexes. Using Siebel Tools, the data model can be extended further with additional attributes, new indexes and new tables. Modifying the Siebel data model must not be considered a trivial task, since changes can have significant impacts in areas of the application.
Consider carefully any changes to the data model and consider the following:
- Maintain central control of the Siebel data model to co-ordinate changes
- Avoid reusing columns for diverse purposes
- Include the database administrator to ensure changes are valid
- Analyse the impact on database size and performance
- Avoid using joins for frequently required data
- Employ extension tables where data is not used frequently