Notas del release

10.15 DROP DATALINKS MANAGER (nuevo mandato)

DROP DATALINKS MANAGER

Descarta un DB2 Data Links Manager de la lista de DB2 Data Links Managers registrados para una base de datos especificada.

Autorización

Una de las siguientes:

Sintaxis del mandato

>>-DROP DATALINKS MANAGER FOR----+-DATABASE-+--nombrebd--------->
                                 '-DB-------'
 
>----USING---nombre--------------------------------------------><
 

Parámetros del mandato

DATABASE nombredb
Especifica un nombre de base de datos.

USING nombre
Especifica el nombre del servidor DB2 Data Links Manager tal como lo muestra el mandato LIST DATALINKS MANAGER.

Ejemplos

Ejemplo 1

Descartar un DB2 Data Links Manager micky.almaden.ibm.com de la base de datos TEST bajo la validación de instancia que reside en el sistema principal bramha.almaden.ibm.com cuando algunas tablas de base de datos tienen enlaces con micky.almaden.ibm.com. Es de vital importancia que se lleven a cabo los pasos siguientes cuando se descarte un DB2 Data Links Manager.

  1. Realice una copia de seguridad de la base de datos TEST.
  2. Si hay enlaces con micky.almaden.ibm.com, desenlácelos:
    1. Inicie una sesión con un ID de usuario que pertenezca a SYSADM_GROUP y obtenga una conexión de modalidad exclusiva con la base de datos TEST.
         connect to test in exclusive mode
      
      Asegúrese de que esta sea la única conexión que se deberá probar utilizando ese ID de usuario. Esto impedirá la creación de nuevos enlaces.
    2. Obtenga una lista de todas las columnas FILE LINK CONTROL DATALINK y las tablas que las contienen en la base de datos.
         select tabname, colname from syscat.columns where substr(dl_features, 2, 1) = 'F'
      
    3. Para cada columna FILE LINK CONTROL DATALINK de la lista, emita SQL SELECT para determinar si los enlaces con micky.almaden.ibm.com existen. Por ejemplo, para una columna c DATALINK en la tabla t, la sentencia SELECT sería:
         select count(*) from t where dlurlserver(t.c) = 'MICKY.ALMADEN.IBM.COM'
      
    4. Para cada columna FILE LINK CONTROL DATALINK que contenga dichos enlaces, emita SQL UPDATE para desenlazar los valores que sean enlaces con micky.almaden.ibm.com. Por ejemplo, para una columna c DATALINK en la tabla t, la sentencia UPDATE sería:
         update t set t.c = null where dlurlserver(t.c) = 'MICKY.ALMADEN.IBM.COM'
      
      Si t.c no puede ser nula, puede utilizarse lo siguiente en su lugar:
         update t set t.c = dlvalue('') where dlurlserver(t.c) = 'MICKY.ALMADEN.IBM.COM'
      
    5. Confirme este SQL UPDATE:
      commit
      
  3. Emita el mandato DROP DATALINKS MANAGER:
       drop datalinks manager for db test using node micky.almaden.ibm.com
    
  4. Interrumpa la conexión en modalidad exclusiva para hacer que los cambios surtan efecto y permitir otras conexiones con la base de datos:
       terminate
    
  5. Inicie el proceso de desenlace y de recogida de desechos de información de copia de seguridad para TEST en micky.almaden.ibm.com. Como Administrador de DB2 Data Links Manager, emita el mandato siguiente en micky.almaden.ibm.com:
       dlfm drop_dlm test validate bramha.almaden.ibm.com
    
    Esto desenlazará los archivos que todavía estén enlazados a la base de datos TEST, por si el usuario ha olvidado desenlazarlos antes de invocar el paso 3. Si micky.almaden.ibm.com tiene información de copia de seguridad (por ejemplo, archivos de archivador, metadatos) para archivos previamente enlazados a la base de datos TEST, este mandato iniciará la recogida de desechos de dicha información. El desenlace y la recogida de desechos reales se realizaran asíncronamente.

Ejemplo 2

Supresión de valores DATALINK que son enlaces a archivos de un DB2 Data Links Manager llamado micky.almaden.ibm.com, cuando el Manager ya se ha descartado de la base de datos TEST. Esto puede ser necesario si los pasos del Ejemplo 1 no se han seguido al descartar micky.almaden.ibm.com. Las sentencias SQL DELETE, SELECT y UPDATE no serán satisfactorias para dichos valores DATALINK (SQL0368). El usuario debe ejecutar una operación de reconciliación para cada tabla que contiene dichos valores DATALINK. Cada valor DATALINK que era un enlace con micky.almaden.ibm.com se actualizará a un valor NULL o DATALINK de longitud cero. Cualquier fila que contenga dicho valor se insertará en la tabla de excepción (si ésta se ha especificado). Sin embargo, el valor DATALINK no incluirá el nombre de prefijo. El nombre de prefijo del valor DATALINK original ya no puede ser obtenido por el sistema, puesto que se ha descartado micky.almaden.ibm.com. Por ejemplo, si el valor DATALINK original era 'http://host.com/dlfs/x/y/a.b' y '/dlfs' es el nombre de prefijo, el valor DATALINK de la tabla de excepción contendrá 'http://host.com/x/y/a.b'. Los archivos a los que hacen referencia estos valores DATALINK permanecerán en estado enlazado en el DB2 Data Links Manager. El mandato dlfm drop_dlm se puede emitir en micky.almaden.ibm.com para iniciar el proceso de desenlace para estos archivos. Si micky.almaden.ibm.com tiene información de copia de seguridad (por ejemplo, archivos de archivador, metadatos) para archivos previamente enlazados a la base de datos TEST, este mandato iniciará la recogida de desechos de dicha información. El desenlace y la recogida de desechos reales se realizaran asíncronamente.

Ejemplo 3

Varias encarnaciones de un DB2 Data Links Manager micky.almaden.ibm.com para una base de datos TEST. Este marco hipotético demuestra que se puede volver a registrar un DB2 Data Links Manager después de ser descartado y que luego es tratado como un DB2 Data Links Manager completamente nuevo. Los pasos siguientes son sólo ilustrativos de un marco hipotético que es posible. Si, como se recomienda, se siguen los pasos del Ejemplo 1 para descartar micky.almaden.ibm.com, los enlaces con la encarnación antigua de micky.almaden.ibm.com no existirán; es decir, uno no verá el error SQL0368 del paso 7 que se encuentra más abajo.

  1. Registre micky.almaden.ibm.com en la base de datos TEST:
       add datalinks manager for db test using node micky.almaden.ibm.com port 14578
    
  2. Cree enlaces con archivos en micky.almaden.ibm.com:
       connect to test
       create table t(c1 int, c2 datalink linktype url file link control mode db2options)
       insert into t values(1, dlvalue('file://micky.almaden.ibm.com/pictures/yosemite.jpg'))
       commit
       terminate
    
  3. Descarte micky.almaden.ibm.com de la base de datos TEST:
       drop datalinks manager for db test using micky.almaden.ibm.com 
    
  4. Seleccione los valores DATALINK:
       connect to test
       select * from t
       terminate
    
    El usuario verá:
       SQL0368 El DB2 Data Links Manager "MICKY.ALMADEN.IBM.COM"
          no está registrado en la base de datos. SQLSTATE=55022.
    
  5. Registre micky.almaden.ibm.com de nuevo en la base de datos TEST:
       add datalinks manager for db test using node micky.almaden.ibm.com port 14578
    
  6. Inserte más valores DATALINK:
       connect to test
       insert into t values(2, dlvalue('file://micky.almaden.ibm.com/pictures/tahoe.jpg'))
       commit
     
    
  7. Seleccione los valores DATALINK:
       select c2 from t where c1 = 2
    
    es satisfactorio porque el valor que se selecciona es un enlace con la encarnación registrada actualmente de micky.almaden.ibm.com.
       select c2 from t where c1 = 1
    
    devuelve:
       SQL0368 El DB2 Data Links Manager "MICKY.ALMADEN.IBM.COM"
          no está registrado en la base de datos. SQLSTATE=55022.
    
    porque el valor que se selecciona es un enlace con la encarnación de micky.almaden.ibm.com que se ha descartado en el paso 3 anterior.

Notas sobre uso

Los efectos del mandato DROP DATALINKS MANAGER no se pueden retrotraer. Es muy importante seguir los pasos perfilados en el Ejemplo 1 cuando utilice el mandato DROP DATALINKS MANAGER.

Este mandato es efectivo sólo después de haber desconectado todas las aplicaciones de la base de datos.

Al completarse satisfactoriamente el mandato, se informa al usuario (DB210201I) de que no se ha realizado ningún proceso en el DB2 Data Links Manager. Antes de descartar un DB2 Data Links Manager, el usuario debe asegurarse de que la base de datos no tenga enlaces con archivos de dicho DB2 Data Links Manager. Si hay enlaces en la base de datos después de descartar un DB2 Data Links Manager, el usuario debe ejecutar el programa de utilidad de reconciliación para deshacerse de ellos. El programa de utilidad de reconciliación establecerá estos enlaces en NULL (si la columna DATALINK puede ser nula) o en un valor DATALINK de longitud cero.

Los archivos correspondientes a enlaces entre una base de datos y un DB2 Data Links Manager descartado permanecen en estado enlazado. Es decir, no están accesibles para operaciones tales como lectura, grabación, renombrar, suprimir, cambio de permisos o cambio de propiedad.

Las copias archivadas de archivos no enlazados en el DB2 Data Links Manager no serán recogidas por este mandato como desechos. Sin embargo, los usuarios pueden iniciar explícitamente el proceso de desenlace y la recogida de desechos utilizando el mandato dlfm drop_dlm en el DB2 Data Links Manager.

Se recomienda la realización de una copia de seguridad de la base de datos antes de descartar un DB2 Data Links Manager. Además, asegúrese de que todos los abonos de duplicación han duplicado todos los cambios que implican a este DB2 Data Links Manager.

Si se ha realizado una copia de seguridad antes de descartar el DB2 Data Links Manager de una base de datos y esta imagen de copia de seguridad se utiliza para la restauración después de descartar dicho DB2 Data Links Manager, el proceso de restauración o de recuperación de avance puede poner a ciertas tablas en estado pendiente de reconciliación de enlace de datos (DRP).


[ Principio de página | Página anterior | Página siguiente ]