ALTER DATABASE
La commande ALTER DATABASE permet de modifier les propriétés d'une base de données. Par exemple, le jeu de caractères par défaut, le nom, le schéma par défaut, le propriétaire de la base de données ou la collecte de données historiques pour la base de données.
Syntaxe
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' } ]Entrées
| Entrée | Descriptif |
|---|---|
| <nom_de_la_base> | Nom de la base de données. |
| PROPRIÉTAIRE | Le nom du nouveau propriétaire de la base de données. |
| Renommer en | Le nouveau nom de la base de données. |
| DÉFINIR LE SCHÉMA PAR DÉFAUT | Schéma par défaut pour les utilisateurs qui se connectent à la base de données. Si vous modifiez le schéma par défaut, les utilisateurs qui ont hérité de l'accès au schéma par défaut précédent perdent l'accès à ce schéma et héritent de l'accès au nouveau schéma. Les utilisateurs n'ont plus accès à l'ancien schéma par défaut, sauf si l'accès leur a été explicitement accordé. |
| DÉFINIR LE JEU DE CARACTÈRES PAR DÉFAUT | Définissez le jeu de caractères par défaut sur LATIN9 pour pouvoir comparer, joindre ou extraire des données de classe char ou nchar. |
| RECUEILLIR L'HISTOIRE | Indique si les données d'historique doivent être collectées pour les sessions rattachées à cette base de données.
|
| TEMPS DE CONSERVATION DES DONNÉES | Modifie la durée de conservation d'une base de données. Spécifiez DATA_VERSION_RETENTION_TIME si vous souhaitez exécuter des requêtes sur les voyages dans le temps. La valeur maximale autorisée est de 99 jours. Avec l'option NOCASCADE spécifiée, la commande met à jour la valeur de DATA_VERSION_RETENTION_TIME pour la base de données spécifiée. La nouvelle valeur n'a aucun impact sur les schémas et les tables existants dans la base de données. Mais cette valeur détermine la valeur par défaut héritée par une commande CREATE SCHEMA ultérieure dans la base de données qui ne spécifie pas explicitement cette propriété. Avec l'option CASCADE spécifiée, la commande met à jour la valeur de DATA_VERSION_RETENTION_TIME pour la base de données spécifiée, et les intervalles de temps de rétention de tous les schémas et tables de la base de données sont mis à jour. Pour plus d'informations sur les voyages dans le temps et DATA_VERSION_RETENTION_TIME, reportez-vous à la section Premiers pas dans les voyages dans le temps. |
| MARIÉ BACKUPSET | Si la valeur est DEFAULT, la commande GROOM TABLE détermine automatiquement le jeu de sauvegarde par défaut pour la base de données de la table. S'il est défini sur une chaîne backupsetid spécifique, GROOM TABLE utilise le jeu de sauvegarde spécifié comme jeu de sauvegarde par défaut pour la base de données de la table. |
| VERROUILLAGE POUR MISE À JOUR | Suspendre toute écriture dans la base de données. |
| UNLOCK | Déverrouille la base de données. |
| Type de stockage (StorageType)<storage_type> | Spécifiez le stockage de destination par défaut des tables créées dans cette base de données ('Block', 'Object' ou 'Default'). La valeur 'Default' signifie que la valeur storagetype n'est pas appliquée au niveau de la base de données. |
Sorties
| Sortie | Descriptif |
|---|---|
| ALTER DATABASE | La commande a été exécutée avec succès. |
| ERROR: ALTER DATABASE: database "db1" is being accessed by other users | La base de données est utilisée par d'autres utilisateurs. |
Droits
Vous devez être l'utilisateur admin, le propriétaire de la base de données, ou votre compte doit avoir le privilège Alter pour la base de données ou pour la classe d'objets Database. Pour modifier le propriétaire de la base de données ou le schéma par défaut, vous devez disposer du privilège Liste pour cet utilisateur ou ce schéma.
Utilisation
- Modifier le jeu de caractères par défaut pour la base de données "
empMYDB.SCH1(USER)=> ALTER DATABASE emp SET DEFAULT CHARACTER SET LATIN9; - Modifier le propriétaire de la base de données "
empMYDB.SCH1(USER)=> ALTER DATABASE emp OWNER TO admin3; - Renommer la base de données "
empMYDB.SCH1(USER)=> ALTER DATABASE emp RENAME TO employees; - Transformer une base de données temporelle en une base de données non temporelle :
ALTER DATABASE DB1 DATA_VERSION_RETENTION_TIME 0 CASCADE; - Transformer une base de données non temporelle en une base de données temporelle :
ALTER DATABASE DB1 DATA_VERSION_RETENTION_TIME 30 NOCASCADE; - Verrouiller la base de données '
emppour suspendre toute écriture :MYDB.SCH1(USER)=> ALTER DATABASE emp lock for update; - Déverrouiller la base de données "
empMYDB.SCH1(USER)=> ALTER DATABASE emp unlock; - Vous pouvez définir le type de stockage lors de la modification des tables en utilisant la syntaxe suivante :
MYDB.SCH1(USER)=> ALTER DATABASE emp UNLOCK STORAGE TYPE object;
considérations watsonx.data
Le tableau suivant répertorie les options de la commande ALTER DATABASE autorisées ou non par watsonx.data
| Option ALTER DATABASE | Autorisé/Interdit |
|---|---|
| ALTER DATABASE <db_name> SET DEFAULT CHARACTER SET IDENT | Non autorisé |
| ALTER DATABASE <db_name> SET DEFAULT SCHEMA schema_name | Non autorisé |
| ALTER DATABASE <db_name> OWNER TO <user> | Autorisé |
| ALTER DATABASE <db_name> RENAME TO <new_db_name> (changer le nom de la base de données) | Autorisé |
| ALTER DATABASE <nom_db> GROOM BACKUPSET <backupset> | Non autorisé |
| ALTER DATABASE <db_name> GROOM BACKUPSET DEFAULT | Non autorisé |
| ALTER DATABASE <db_name> DATA_VERSION_RETENTION_TIME <nombre-de-jours> {NOCASCADE | CASCADE} | Non autorisé |