IBM Books
(C) IBM Corp. 2000

DB2 Net Search Extender Guía de administración y del usuario

Inhabilitación de una base de datos

Resumen

Cuándo
Cuando ya no se piense realizar búsquedas de texto en esta base de datos.

Mandato
DISABLE DATABASE FOR TEXT

Autorización
DBADM sobre la base de datos

Cuando DB2 Net Search Extender prepara la base de datos para su que se pueda utilizar, se realizan ciertos cambios de administración. En esta sección se describen las funciones que son útiles para invertir este proceso.

Para inhabilitar la base de datos conectada, utilice el mandato siguiente:

db2text DISABLE DATABASE FOR TEXT

Cuando se inhabilita una base de datos, también se suprimen los objetos siguientes:

Para inhabilitar la base de datos y eliminar todos los índices de texto, utilice el mandato siguiente:

db2text DISABLE DATABASE for text force
Nota

La inhabilitación de una base de datos no será satisfactoria si existen índices de texto definidos en la base de datos. Es recomendable eliminar estos índices uno a uno y, a continuación, comprobar si se producen problemas. Si se utiliza el mandato disable database for text force, sólo podrá estar seguro de que se han eliminado las tablas de catálogos de Net Search Extender de la base de datos.

Sin embargo, si algunos de los índices no se pueden descartar por completo, puede que todavía haya recursos que se deban eliminar manualmente. Estos recursos incluyen:

  • Archivos en el directorio de índices, de trabajo y de antememoria
  • Entradas de planificador en ctedem.dat
  • Donde se haya creado un índice utilizando la opción de captura de duplicación, se deberán suprimir manualmente las entradas IBMSNAP_SIGNAL, IBMSNAP_PRUNE_SET IBMSNAP_PRUNCNTL de las tablas de la base de datos remota. Estas entradas se pueden identificar fácilmente utilizando el mandato APPLY_QUAL="NSE"||<nombre instancia> and TARGET_SERVER= <nombre base datos>.

    En el ejemplo siguiente, la instancia es DB2 y la base de datos es SAMPLE.

    DELETE FROM <ccSchema>.IBMSNAP_SIGNAL
    WHERE SIGNAL_INPUT_IN IN
            (SELECT MAP_ID FROM <Esquemacc>.IBMSNAP_PRUNCNTL
            WHERE APPLY_QUAL= 'NSEDB2' AND TARGET_SERVER= 'SAMPLE');
     
    DELETE FROM <Esquemacc>.IBMSNAP_PRUNCNTL
    WHERE APPLY_QUAL= 'NSEDB2' AND TARGET_SERVER= 'SAMPLE';
     
    DELETE FROM <esquemacc>.IBMSNAP_PRUNE_SET
    WHERE APPLY_QUAL= 'NSEDB2' AND TARGET_SERVER= 'SAMPLE';
     
    

Creación de un índice de texto

Resumen

Cuándo
Una vez para cada columna que contenga texto en que deba realizarse la búsqueda.

Mandato
CREATE INDEX ... FOR TEXT ... (Vea los ejemplos siguientes)

Autorización
CONTROL sobre la tabla

Puede crear un índice de texto en tipos de datos soportados, aunque existen diferentes requisitos para los tipos de datos siguientes:

También existen diferentes requisitos para la creación de un índice de texto para una búsqueda de procedimiento almacenado.

Cuando se crea un índice de texto, también se crean los objetos siguientes:

Una tabla de anotaciones cronológicas
Hace un seguimiento de todas las filas cambiadas en la tabla del usuario. Tenga en cuenta que, si selecciona la opción Recreate index on Update o si utiliza tablas de capturas de duplicación, la tabla de anotaciones cronológicas no se creará.

Una tabla de sucesos
Recopila información sobre problemas durante una actualización de los índices de texto.

Activadores en la tabla del usuario
Éstos añaden información a la tabla de anotaciones cronológicas siempre que se añade, suprime o cambia un documento en la columna. La información es necesaria para la sincronización del índice la próxima vez que se produzca la indexación.

Tenga en cuenta que sólo creará activadores si crea una tabla de anotaciones cronológicas y el índice de texto se crea en una tabla base y no en las vistas ni en tablas de apodos.

Para optimizar el rendimiento y el espacio en disco, utilice el mandato CREATE INDEX para especificar un espacio de tabla diferente para las tablas.

Nota

La utilización del mandato DB2 LOAD para importar los documentos puede causar problemas, ya que los activadores no se activan y no se pueden indexar de forma incremental los documentos cargados.

Por lo tanto, es preferible utilizar el mandato DB2 IMPORT ya que activa los activadores.

El ejemplo siguiente crea un índice de texto en la columna de texto HTMLFILE en la tabla htmltab.

db2text create index DB2EXT.HTMLIDX for text on DB2EXT.HTMLTAB 
           (HTMLFILE) format HTML
 

En esta tabla se necesita una clave primaria.

Los valores por omisión para la creación de índices se toman de la vista db2ext.dbdefaults.

Si se producen errores durante la creación del índice, se añaden a la tabla de sucesos los llamados sucesos de actualización de índice. Por ejemplo, cuando no se ha podido encontrar un documento en cola para su indexación. Para obtener información adicional, consulte el apartado Vista de sucesos.

Para invertir los cambios realizados por CREATE INDEX, utilice el mandato DROP INDEX. Para obtener esta información, consulte el apartado Eliminación de un índice de texto.

Para sincronizar el índice de texto con la base de datos, utilice el mandato siguiente:

db2text update index DB2EXT.HTMLIDX for text

Tenga en cuenta que sólo podrá encontrar documentos después de la sincronización.

Resumen de la búsqueda

Dependiendo de las opciones seleccionadas durante la creación del índice, habrán distintas posibilidades de búsqueda:

  • Las funciones de búsqueda escalar SQL funcionan en todos los índices de texto, excepto en los que se crean en vistas.
  • La función de búsqueda de procedimiento almacenado sólo funciona en los índices de texto creados con una antememoria.
  • La función de valor de tabla SQL funciona en todos los índices de texto, incluyendo los que se crean en vistas.


[ Principio de página | Página anterior | Página siguiente | Contenido | Índice ]