ALTER DATABASE

Utilice el comando ALTER DATABASE para cambiar las propiedades de una base de datos. Por ejemplo, el juego de caracteres por defecto, el nombre, el esquema por defecto, el propietario de la base de datos o si se van a recopilar datos históricos para la base de datos.

Sintaxis

Sintaxis para modificar una base de datos:
ALTER DATABASE <db_name> 
  [ OWNER TO <user> ] 
  [ RENAME TO <new_db_name> ] 
  [ SET DEFAULT SCHEMA <schema_name> ] 
  [ SET DEFAULT CHARACTER SET LATIN9 ]
  [ COLLECT HISTORY {ON|OFF|DEFAULT} ] 
  [ DATA_VERSION_RETENTION_TIME <number-of-days> {NOCASCADE | CASCADE} ]
  [ GROOM BACKUPSET {<backupset> | DEFAULT} ]
  [ LOCK FOR UPDATE ] [ UNLOCK ]
  [ STORAGETYPE { 'BLOCK' | 'OBJECT' | 'DEFAULT' } ]

Entradas

El comando ALTER DATABASE tiene las siguientes entradas:
Tabla 1. Entradas de ALTER DATABASE
Entrada Descripción
<db_name> El nombre de la base de datos.
OWNER TO El nombre del nuevo propietario de base de datos.
RENAME TO Nuevo nombre de la base de datos.
SET DEFAULT SCHEMA Esquema predeterminado para los usuarios que se conectan a la base de datos. Si se cambia el esquema predeterminado, los usuarios que hayan heredado el acceso al esquema predeterminado anterior pierden el acceso a ese esquema y heredan el acceso al nuevo esquema. Estos usuarios ya no tienen acceso al esquema predeterminado anterior, a menos que se les otorgara explícitamente acceso a él.
SET DEFAULT CHARACTER SET Establezca el juego de caracteres predeterminado en LATIN9 para poder comparar, unir o convertir datos de la clase char o nchar.
COLLECT HISTORY Si se deben recopilar datos de historial para las sesiones que se adjuntan a esta base de datos.
ON
Solo se recopila historial si el usuario es miembro de al menos un grupo para el que COLLECT HISTORY esté definido como ON.
DESAC.
No se recopila historial para la base de datos.
PREDETERMINADO
El historial se recopila para la base de datos sólo si el usuario es miembro de al menos un grupo para el que COLLECT HISTORY está configurado como ON y si se aplica uno de los siguientes criterios:
  • El usuario no es miembro de ningún grupo de usuarios.
  • Todos los grupos de usuarios de los que el usuario es miembro tienen COLLECT HISTORY establecido en DEFAULT.
  • El usuario es miembro de al menos un grupo de usuarios que tiene COLLECT HISTORY definido como ON.
TIEMPO_RETENCIÓN_VERSIÓN_DATOS

Altera el tiempo de retención de una base de datos. Especifique DATA_VERSION_RETENTION_TIME si desea ejecutar consultas de desplazamiento en el tiempo.

El valor máximo permitido es de 99 días.

Con la opción NOCASCADE especificada, el comando actualiza el valor de DATA_VERSION_RETENTION_TIME para la base de datos especificada.

El nuevo valor no afecta a los esquemas y tablas existentes en la base de datos. Pero, el valor determina el valor por defecto que es heredado por un comando CREATE SCHEMA posterior en la base de datos que no especifique explícitamente esta propiedad.

Con la opción CASCADE especificada, el comando actualiza el valor de DATA_VERSION_RETENTION_TIME para la base de datos especificada, y se actualizan los intervalos de tiempo de retención de todos los esquemas y tablas de la base de datos.

Para más información sobre los viajes en el tiempo y DATA_VERSION_RETENTION_TIME, consulte Empezar a viajar en el tiempo.

SET DE NOVIO

Si se establece en DEFAULT, el comando GROOM TABLE determina automáticamente el conjunto de copias de seguridad predeterminado para la base de datos de la tabla.

Si se establece en una cadena backupsetid específica, GROOM TABLE utiliza el conjunto de copias de seguridad especificado como conjunto de copias de seguridad predeterminado para la base de datos de la tabla.

BLOQUEO PARA ACTUALIZACIÓN Suspende cualquier escritura en la base de datos.
desbloqueo Desbloquea la base de datos.
STORAGETYPE <tipo_almacenamiento> Especifique el almacenamiento de destino predeterminado de la tabla que se crea en esta base de datos ('Block', 'Object' o 'Default'). El valor 'Default' significa que storagetype no se aplica a nivel de base de datos.

Resultados

El comando ALTER DATABASE tiene las siguientes salidas:
Tabla 2. Salidas de ALTER DATABASE
Resultado Descripción
ALTER DATABASE El mandato se ha completado satisfactoriamente.
ERROR: ALTER DATABASE: database "db1" is being accessed by other users Otros usuarios están utilizando la base de datos.

Privilegios

Es necesario ser el usuario administrativo o el propietario de la base de datos, o la cuenta debe tener el privilegio Alter para la base de datos o para la clase de objeto Database. Para cambiar el propietario de la base de datos o el esquema predeterminado, es necesario tener el privilegio List para ese usuario o esquema.

Uso

A continuación se proporciona el uso de muestra:
  • Cambiar el juego de caracteres predeterminado para la base de datos emp:
    MYDB.SCH1(USER)=> ALTER DATABASE emp SET DEFAULT 
    CHARACTER SET LATIN9;
  • Cambiar el propietario de la base de datos emp:
    MYDB.SCH1(USER)=> ALTER DATABASE emp OWNER TO admin3;
  • Cambiar el nombre de la base de datos emp:
    MYDB.SCH1(USER)=> ALTER DATABASE emp RENAME TO employees;
  • Cambiar una base de datos temporal a una base de datos no temporal:
    ALTER DATABASE DB1 DATA_VERSION_RETENTION_TIME 0 CASCADE;
  • Cambiar una base de datos no temporal a una base de datos temporal:
    ALTER DATABASE DB1 DATA_VERSION_RETENTION_TIME 30 NOCASCADE;
  • Bloquea la base de datos ' emp ' para suspender cualquier escritura:
    MYDB.SCH1(USER)=> ALTER DATABASE emp lock for update;
  • Desbloquea la base de datos ' emp ':
    MYDB.SCH1(USER)=> ALTER DATABASE emp unlock;
  • Puede definir el tipo de almacenamiento al modificar las tablas utilizando la siguiente sintaxis:
    MYDB.SCH1(USER)=> ALTER DATABASE emp UNLOCK STORAGE TYPE object;

watsonx.data consideraciones

La siguiente tabla enumera las opciones del comando ALTER DATABASE permitidas o no permitidas contra watsonx.data.

Tabla 3. Opciones del comando ALTER DATABASE
Opción ALTER DATABASE Permitido/ No permitido
ALTER DATABASE <nombre_db> SET DEFAULT CHARACTER SET IDENT No permitido
ALTER DATABASE <nombre_db> SET DEFAULT SCHEMA nombre_esquema No permitido
ALTER DATABASE <nombre_db> OWNER TO <usuario> Permitido
ALTER DATABASE <nombre_db> RENAME TO <nuevo_nombre_db> Permitido
ALTER DATABASE <nombre_db> GROOM BACKUPSET <backupset> No permitido
ALTER DATABASE <nombre_db> GROOM BACKUPSET DEFAULT No permitido
ALTER DATABASE <nombre_db> DATA_VERSION_RETENTION_TIME <número-de-días> {NOCASCADE | CASCADE} No permitido