ALTER DATABASE
Utilice el comando ALTER DATABASE para cambiar las propiedades de una base de datos; por ejemplo, el juego de caracteres predeterminado, el nombre, el esquema predeterminado, el propietario de la base de datos o si deben recopilarse datos de historial para la base de datos.
Sintaxis
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 ]
[GROOM BACKUPSET {<backupset>|DEFAULT}] [LOCK FOR UPDATE] [UNLOCK]Entradas
| 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 | Especifica si deben recopilarse datos de historial respecto
a sesiones conectadas a esta base de datos.
|
| TIEMPO_RETENCIÓN_VERSIÓN_DATOS | 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. El valor máximo permitido es de 92 días, que es el número máximo de días de un trimestre natural. |
| 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. |
Resultados
| 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
- 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; - 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;