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
Autoridad de instalación SYSOPR (cuando el SQLID actual del proceso está configurado como SYSINSTL)
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
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 1149ASCII 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
ALTER DATABASE ABCDE
BUFFERPOOL BP2
INDEXBP BP2;