Si vos données Content Engine mises à niveau sont des données Oracle, la fonction de mise à niveau automatique vers la version 5.0.0 convertit les colonnes de propriété DateTime de Content Engine du type de données Oracle DATE au type de données Oracle TIMESTAMP. Cependant, la fonction de mise à niveau n'est pas capable de faire cette conversion dans un index de fonction contenant des données de type DATE. Dans ce cas, l'index doit être supprimé, les données de type DATE doivent être converties manuellement au type TIMESTAMP, et l'index doit être recréé dans la base de données Oracle.
Les données Oracle dans les versions Content Engine antérieures à la version 5.0.0 utilisent la propriété Oracle DATE pour la propriété Content Engine DateTime. A partir de la version 5.0.0, la propriété Oracle TIMESTAMP remplace la propriété DATE.
Pendant la mise à niveau des données Content Engine vers la version 5.0.0, la propriété DATE qui définit les colonnes de table est automatiquement convertie en propriété TIMESTAMP, même si la propriété DATE est indexée. Cependant, la conversion échoue dans les index de fonction, incluant par exemple le mot-clé DESC (décroissant), impliquant la propriété DATE.
Il est impossible de résoudre de problème de conversion dans le cadre de la fonction de mise à niveau automatique, et seule une procédure manuelle peut être utilisée pour convertir les colonnes DATE des index de fonction en colonnes TIMESTAMP.
Si l'une des conditions ci-dessous est vraie, l'administrateur de base de données doit effectuer la procédure manuelle :
Sans la procédure manuelle, l'index système I_EVENT48 sur la colonne create_date de la table Event continue à fonctionner. Cependant votre configuration n'est pas prise en charge tant que la colonne n'est pas convertie manuellement.
Le système mis à niveau est parfaitement fonctionnel sans la procédure manuelle. Les propriétés de date et les requêtes fonctionnent comme avant, à une exception près : les index de fonction définis par l'utilisateur dont la colonne Date est la première clé (par exemple, un index créé par un administrateur de données sur uxy_shipmentDate DESC) sont inutilisables, et les recherches d'index dans un plan de requête ne sont pas conservée tant que la propriété définie par l'utilisateur n'est pas convertie manuellement.
Une vérification des erreurs de conversion des types de données dans les journaux d'erreur système P8 confirmera la nécessité d'effectuer la procédure manuelle. Dans tous les cas, il est recommandé de vérifier les journaux après la mise à niveau automatique. L'exemple ci-dessous représente un message du journal des erreurs système P8 indiquant la nécessité d'effectuer la procédure manuelle :
"2010-07-13T00:29:43.787Z 68416841 ENG FNRCE0000E - ERROR ObjectStoreUpgrade (DaphneStore) Date to Timestamp column conversion failed for column modify_date on table DocVersion. The most likely reason is oracle error 30556: functional index is defined on the column to be modified, in which case DBA should manually drop index, convert date column to timestamp and recreate index."
Pour convertir manuellement le type de données DATE au type TIMESTAMP :