Inicio del cambioFileNet P8 Content Engine, FileNet P8 Content Search Engine, Versión 5.0.+   Base de datos:  Oracle          

Conversión del tipo de datos DATE de Oracle al tipo de datos TIMESTAMP

Si los datos actualizados de Content Engine se basan en Oracle, la actualización automática a la versión 5.0.0 convierte las columnas de propiedades DateTime de Content Engine del tipo de datos DATE de Oracle al tipo de datos TIMESTAMP de Oracle. Sin embargo, si existe un índice basado en función que implica al tipo de datos DATE, la actualización automática no podrá realizar esta conversión. En este caso, debe eliminar el índice, convertir manualmente el tipo de datos DATE al tipo de datos TIMESTAMP y luego volver a crear el índice original en la base de datos Oracle.

Las versiones de datos de Content Engine basadas en Oracle anteriores a la versión 5.0.0 utilizan la propiedad DATE de Oracle para la propiedad DateTime de Content Engine. A partir de la versión 5.0.0, la propiedad TIMESTAMP de Oracle sustituye a la propiedad DATE.

Como parte de la actualización automática de los datos de Content Engine a la versión 5.0.0, las columnas de tabla definidas por la propiedad DATE se convierten automáticamente a la propiedad TIMESTAMP, aunque exista un índice en la propiedad DATE. Sin embargo, la conversión falla en índices basados en función, como por ejemplo la palabra clave descendente (DESC), que implican a la propiedad DATE.

Dado que no es factible resolver esta anomalía de conversión dentro de la infraestructura de actualización automática, sólo un procedimiento manual puede convertir columnas DATE con índices basados en función a columnas TIMESTAMP.

Si se cumple alguna de las condiciones siguientes, el administrador de base de datos deberá realizar el procedimiento manual:

Una comprobación del registro de errores del sistema P8 con respecto a los errores de conversión de tipo de datos confirmará la necesidad de realizar el procedimiento manual. En todas las condiciones, es aconsejable revisar el registro una vez finalizada la actualización automática. El ejemplo siguiente muestra un mensaje del registro de errores del sistema P8 que indica la necesidad de realizar el procedimiento manual:

"2010-07-13T00:29:43.787Z 68416841 ENG  FNRCE0000E - ERROR ObjectStoreUpgrade
(DaphneStore) La conversión de columna Date a Timestamp ha fallado para la columna
modify_date en
la tabla DocVersion. La razón más probable es el error de Oracle 30556: el índice
funcional está
definido en la columna que debe modificarse, en cuyo caso el administrador de base de
datos debe eliminar el índice manualmente,
convertir la columna Date a Timestamp y volver a crear el índice."

Para convertir manualmente el tipo de datos DATE al tipo de datos TIMESTAMP:

  1. Si no lo ha hecho aún, elimine el método alternativo de conmutación de JVM V8Compatibility. Si el sistema utiliza Oracle 11g y ha tenido que retrotraerse al controlador JDBC de Oracle 10g para el método alternativo, elimine también el método alternativo del procedimiento de categoría inferior del controlador JDBC. Consulte el aviso técnico Habilitación de la utilización de índices Date de Oracle en FileNet Content Engine para obtener instrucciones.
  2. Para convertir el tipo de datos DATE al tipo de datos TIMESTAMP en la tabla de sucesos, ejecute los siguientes mandatos SQL. Tenga en cuenta que la creación de un índice puede tardar mucho tiempo si existen millones de entradas en la tabla de sucesos.
    DROP INDEX I_Event48
    ALTER TABLE Event MODIFY create_date TIMESTAMP
    CREATE INDEX I_Event48 ON Event (source_object_id, create_date DESC) 
  3. Para convertir columnas de tabla DATE definidas por el cliente al tipo de datos TIMESTAMP, ejecute los siguientes mandatos SQL para cada índice basado en función. Tenga en cuenta que la creación de un índice puede tardar mucho tiempo si existen millones de entradas en la tabla que contienen la columna DATE.
    DROP INDEX <nombre_índice>
    ALTER TABLE <nombre_tabla> MODIFY <nombre_columna> TIMESTAMP
    CREATE INDEX <nombre_índice> ON <nombre_tabla>(nombres_columna>
    <modificadores>)


Comentarios

Última actualización: Noviembre de 2010


© Copyright IBM Corp. 2010.
Este Information Center se basa en la tecnología Eclipse. (http://www.eclipse.org)
Fin del cambio