Integrating a Database

CMS Fiona includes an SQLite database which the system uses after the installation.

The Content Manager and the Template Engine automatically create the required tables in the SQLite database if they do not yet exist. There is no need to manually set-up or configure the database unless changes have been made to the standard configuration.

Please note that SQLite has not been approved for productive use.

Procedure

If you wish to integrate a database different from the default one or from the one currently used, please proceed as described below.

These instructions also apply if you disabled database storage using storeBlobsInDatabase="false" and now wish to activate it again.

  • Check whether the installation requirements are met, especially those concerning the database you use.

  • Please install your database if you have not already done so. The appropriate database client (mysql, isql, sqlplus) needs to be installed on the machine running the CMS component (Content Manager, Template Engine) that requires the database.

  • Stop the CMS services. Under Linux use

    instance/instanceName/bin/rc.npsd stop

    for this. Replace instanceName with the name of the instance concerned (the default name is default). Under Windows, please use the corresponding commands in the Services section of the Windows control panel.

  • If you would like to create a new database for the Content Manager, first use

    instance/instanceName/bin/CM -dump dumpDir

    to backup the content and the configuration. See also Dumping and Restoring Data.

  • Execute

    share/dbInstall/install-db

    and answer the questions of the script. For this, it is required to know the database, i. e. its name, the user name, the password, and the name of the database server. The script generates a configuration file for the database of the CM (cmdb.xml) or the TE (tedb.xml), depending on what you asked it to do. (In versions prior to 6.6.1, the script created one of the files mysql.xml, sybase.xml, oracle.xml or mssql.xml which needed to be renamed.)
    The database user under whose login the CMS accesses the database needs to be given the permission to drop constraints. This is required for importing the initial data as well as for restoring data later on.

  • Copy the database configuration file to instance/instanceName/config (instanceName stands for the instance concerned).

  • Make sure that the name of this configuration file is specified in the instance/instanceName/config/server.xml file under

    <server>
      <cm>
        ...
        <database fileName="cmdb.xml"/>
      </cm>
      <te>
        ...
        <database fileName="tedb.xml"/>
      </te>
      ...
    </server>
    

    Even if the same database product is used, different configuration files are required for the Content Manager and the Template Engine.

  • If a database for the Content Manager has been created and the data has been backuped prior to this, restore them now:

    instance/instanceName/bin/CM -restore dumpDir

    See also Dumping and Restoring Data.

  • Restart the CMS services using

    instance/instanceName/bin/rc.npsd start

    on Unix systems or the services menu in the Windows control panel, respectively. The Content Management Server and the Template Engine will create the database tables required when started for the first time.

General Notes about Database Usage

Access permissions

The installation script accesses the database with administrator permissions to create the table spaces.

No compressed database tables

CMS Fiona does not support compressed database tables.

Providing memory

While the CMS is running, the database allocates as much memory to the CMS tables as the database or the default configuration specifies. This means that the amount of memory assigned each time more memory is required is not defined by the CMS but by the database.

Monitoring database operation

It is not the task of the CMS but of the database administrator to optimize the database with respect to memory assignment and performance as well as data and access security to the requirements of daily operation. Especially with larger productive systems, it is necessary to continuously monitor the database.

Content storage location

If a database other than the default SQLite database is to be used and blobs (content and part of the configuration) are to be stored in the database, this needs to be specified before the CMS application concerned is executed for the first time (see server). Changing this configuration option afterwards will lead to loss of data.

Special notes on the individual databases can be found in the following sections.