Re-Création d'une base de données ITIM

Suite à un crash disque sur un serveur mutualisé de base de données de développement - non sauvegardé, nous avons du recréer la partie base de données.

La base Oracle a été créée par les DBA, conformément aux recommandations avec les tablespaces ENROLE_DATA et ENROLE_INDEXES.

Le paramètre nls_length_semantics doit avoir pour valeur BYTE. Dans le cas contraire, oracle ne peut pas créer certains index, trop longs.
Il faut ensuite :

  • préparer le fichier de configuration /tmp/configResponse.properties (voir ci-dessous)
  • modifier le fichier ITIM_HOME/bin/DBConfig.lax et changer 2 variables
IS_SILENT=true 
RESPONSE_FILE=/tmp/configResponse.properties 

Il faut arrêter le serveur WebSphere qui fait tourner ITIM, puis lancer le programme de configuration de la base de données :

ITIM_HOME/bin/DBConfig 

Exemple :

/product/itim/bin/DBConfig

Les traces se trouvent dans le fichier dbConfig.stdout situé dans le répertoire ITIM_HOME/install_logs.

Exemple de fichier configResponse.properties

# For Oracle only, if true indicates the Service Name is used, otherwise the SID is used. 
dbConfigResponse.database.db.isOracleServiceName=false ########################################################### 
# LDAP directory configuration response information ########################################################### 
# The IP address of LDAP directory server 
# For IPv6, the ip should be enclosed in '[' and ']'. ldapConfigResponse.enrole.ldapserver.ip=localhost 
# The listening port of the LDAP directory server ldapConfigResponse.enrole.ldapserver.port=389 
# The tenant id (organization short name) ldapConfigResponse.enrole.defaulttenant.id=Example 
# The organization name 
ldapConfigResponse.enrole.organization.name=Example-IIR 
# The root DN 
ldapConfigResponse.enrole.ldapserver.root=o=example-iir 
# The hash bucket number 
# The value should be equal to or greater than 1. ldapConfigResponse.enrole.ldapserver.hashBuckets=1 ########################################################### 
# System configuration response information ########################################################### #================================ 
# General information 
#================================ 
# The scheduling heartbeat (in seconds) and the recycle bin's age limit sysConfigResponse.enRole.enrole.scheduling.heartbeat=60 sysConfigResponse.enRole.enrole.ldapserver.agelimit=62 #================================ 
# LDAP connection pool information 
#================================ 
# The maximum and the initial number of connections to the LDAP server 
# The increment number of the connections if more connections are needed sysConfigResponse.enRole.enrole.connectionpool.maxpoolsize=100 sysConfigResponse.enRole.enrole.connectionpool.initialpoolsize=50 sysConfigResponse.enRole.enrole.connectionpool.incrementcount=3 #================================ 
# Database connection pool information 
#================================ 
# The initial and the maximum number of connections to the database 
# The delay in seconds between the connections sysConfigResponse.enRoleDatabase.database.jdbc.connectionPool.initialCapacity=5 sysConfigResponse.enRoleDatabase.database.jdbc.connectionPool.maxCapacity=50 #================================ 
# Mail information 
#================================ 
# The base URL to the ITIM login page 
# This should be the format of http://: sysConfigResponse.enRoleMail.mail.baseurl=http://itim.example.com/ibm/console 
# The sender for the mail that will appear in From field sysConfigResponse.enRoleMail.mail.from=itim_admin@example.com 
# The IP or the host name of the mail server sysConfigResponse.enRoleMail.mail.host=smtp.example.com #================================ 
# logging information 
#================================ sysConfigResponse.enRoleLogging.logger.trace.level=DEBUG_MID #================================ 
# UI information 
#================================ 
# The customer logo 
# 
sysConfigResponse.ui.enrole.ui.customerLogo.image=ibm_banner.gif 
# The link for the customer logo sysConfigResponse.ui.enrole.ui.customerLogo.url=www.example.com 
# The page size for the displaying lists sysConfigResponse.ui.enrole.ui.pageSize=50 
#================================ 
# Security information 
#================================ sysConfigResponse.enRole.enrole.password.database.encrypted=true sysConfigResponse.enRole.enrole.password.ldap.encrypted=true sysConfigResponse.enRole.enrole.password.appServer.encrypted=true sysConfigResponse.enRole.enrole.appServer.systemUser=wasadmin sysConfigResponse.enRole.enrole.appServer.systemUser.credentials=waspassword sysConfigResponse.enRole.enrole.appServer.ejbuser.principal=wasadmin sysConfigResponse.enRole.enrole.appServer.ejbuser.credentials=waspassword 
# 
# === Variables instanciées pour Example.com === 
# 
dbConfigResponse.database.db.ip=itimdb.example.com dbConfigResponse.database.db.port=1521 
dbConfigResponse.database.db.name=ENROLE 
dbConfigResponse.database.db.user=enrole dbConfigResponse.database.db.password=enrolepwd dbConfigResponse.database.db.admin=system dbConfigResponse.database.db.adminPwd=manager ldapConfigResponse.java.naming.security.principal=cn=root ldapConfigResponse.java.naming.security.credentials=secret 

Pertes de données

La perte de la base de données a finalement peu d'impacts, la majorité des informations est stockée dans l'annuaire ITDS.
Ce qui est notamment stocké en base :

  • Views : tables VIEW_DEFINITION et TASKS_VIEWABLE
  • Libellés : table I18NMESSAGES
  • Import / Export : tables BULK_DATA_SERVICE, BULK_DATA_STORE, BULK_DATA_INDEX et MIGRATION_STATUS
  • Réconciliation : tables RECONCILIATION et RECONCILIATION_INFO

Les vues doivent être recréées manuellement, sauf si on dispose d'une autre base de données.

Les libellés peuvent être recréés en réimportant les données (adaptateurs notamment).

 

Catégorie