ALTER DATABASE sentencia

La sentencia ALTER DATABASE cambia la descripción de una base de datos en el servidor actual.

Invocación para ALTER DATABASE

Esta sentencia puede incorporarse en un programa de aplicación o emitirse de forma interactiva. Es una instrucción ejecutable que puede prepararse dinámicamente solo si el comportamiento DYNAMICRULES RUN está en vigor. Para obtener más información, consulte ID de autorización y SQL dinámico.

Autorización para ALTER DATABASE

El conjunto de privilegios que se define a continuación debe incluir al menos uno de los siguientes:

  • El privilegio DROP en la base de datos
  • Propiedad de la base de datos
  • Autoridad DBADM o DBCTRL para la base de datos
  • Autorización SYSADM o SYSCTRL
  • DBADM del sistema
  • Inicio del cambioAutoridad de instalación SYSOPR (cuando el SQLID actual del proceso está configurado como SYSINSTL)fin del cambio

Si la base de datos se crea de forma implícita, los privilegios deben estar en la base de datos implícita o en DSNDB04.

Conjunto de privilegios:

Si la sentencia está incluida en un programa de aplicación, el conjunto de privilegios son los privilegios que posee el propietario del paquete. Si la sentencia está preparada dinámicamente, el conjunto de privilegios es la unión de los conjuntos de privilegios que son propiedad de cada ID de autorización y rol del proceso.

Sintaxis para ALTER DATABASE

Leer diagrama de sintaxisOmitir el diagrama de sintaxis visualALTER DATABASEnombre-base-datos1BUFFERPOOLBPNAMEINDEXBPBPNAMESTOGROUPnombre del grupo de tiendasCCSIDvalor-ccsid
Notas:
  • 1 La misma cláusula no debe especificarse más de una vez.

descripción para ALTER DATABASE

DATABASE nombre-base-datos
Identifica la base de datos que se va a modificar. El nombre debe identificar una base de datos que exista en el servidor actual y no debe identificar una base de datos del sistema creada implícitamente.
BUFFERPOOL bpname
Identifica el grupo de búferes predeterminado para los espacios de tabla dentro de la base de datos. No se aplica a los espacios de tabla que ya existen en la base de datos.

Si la base de datos es una base de datos de archivos de trabajo, no se pueden especificar grupos de búferes de 8 KB y 16 KB.

Si el espacio de tabla se crea de forma implícita, Db2 selecciona el grupo de búferes como se describe en Espacios de tabla definidos implícitamente.

Consulte Convenciones de nomenclatura en SQL para obtener más detalles sobre bpname.

INDEXBP bpname
Identifica el grupo de búferes predeterminado para los índices dentro de la base de datos. No se aplica a los índices que ya existen en la base de datos. El nombre puede identificar un grupo de búferes de 4 KB, 8 KB, 16 KB o 32 KB. Consulte Convenciones de nomenclatura en SQL para obtener más detalles sobre bpname.
STOGROUP nombre del grupo de tiendas
Identifica el grupo de almacenamiento que se utilizará, según sea necesario, como grupo de almacenamiento predeterminado para satisfacer los requisitos de espacio DASD para espacios de tablas e índices dentro de la base de datos. No se aplica a los espacios de tabla ni a los índices que ya existen en la base de datos.
CCSID valor-ccsid
Identifica el CCSID predeterminado para los espacios de tabla dentro de la base de datos. No se aplica a los espacios de tabla existentes en la base de datos. ccsid-value debe identificar un valor CCSID que sea compatible con el valor actual del CCSID para la base de datos. Notas para ALTER DATABASE contiene una lista que muestra el CCSID al que se puede alterar un CCSID determinado.

CCSID no se puede especificar para una base de datos de archivos de trabajo.

Notas para ALTER DATABASE

Modificación del CCSID

La posibilidad de modificar el CCSID predeterminado le permite cambiar a un CCSID que admita el símbolo del euro. Solo puede realizar conversiones entre CCSID específicos que definan o no el símbolo del euro. En la mayoría de los casos, el punto de código que admite el símbolo del euro sustituye a un punto de código existente, como el símbolo internacional de moneda (ICS).

Cambiar un CCSID puede ser perjudicial para el sistema y requiere varios pasos. Db2 , para cada esquema de codificación de un sistema (ASCII, EBCDIC y Unicode), admite SBCS, DBCS y CCSID mixtos. Por lo tanto, los CCSID de todas las bases de datos y todos los espacios de tabla dentro de un esquema de codificación deben modificarse al mismo tiempo. De lo contrario, podrían producirse resultados impredecibles.

El método recomendado para cambiar el CCSID requiere que los datos se descarguen y vuelvan a cargarse. Para conocer los pasos necesarios para cambiar el CCSID, como ejecutar un CLIST de instalación para modificar los datos del CCSID en DSNHDECP, cuándo eliminar y volver a crear vistas, y cuándo volver a vincular paquetes invalidados, consulte Trabajar con datos internacionales.

Las listas siguientes muestran los CCSID que se pueden convertir. El segundo CCSID de cada par es el CCSID con el símbolo del euro. El CCSID puede cambiarse del CCSID que no admite el símbolo del euro al CCSID que sí lo admite, y viceversa. Por ejemplo, si el CCSID actual es 500, se puede cambiar a 1148.
EBCDIC CCSIDs
---------------

37         1140
273        1141
277        1142
278        1143
280        1144
284        1145
285        1146
297        1147
500        1148
871        1149
ASCII CCSIDs
---------------

850        858
874        4970
1250       5346
1251       5347
1252       5348
1253       5349
1254       5350
1255       5351
1256       5352
1257       5353       

Ejemplo para ALTER DATABASE

Cambie el grupo de búferes predeterminado para los espacios de tablas y los índices dentro de la base de datos ABCDE a BP2.
   ALTER DATABASE ABCDE
     BUFFERPOOL BP2
     INDEXBP BP2;