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

Syntaxe de modification d'une base de données :
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

La commande ALTER DATABASE dispose des entrées suivantes :
Tableau 1. ALTER DATABASE inputs
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.
Activé
L'historique n'est collecté que si l'utilisateur est membre d'au moins un groupe pour lequel COLLECT HISTORY est activé.
DÉSACTIVÉ
L'historique n'est pas collecté pour la base de données.
DEFAULT
L'historique est collecté pour la base de données uniquement si l'utilisateur est membre d'au moins un groupe pour lequel COLLECT HISTORY est activé et si l'un des critères suivants s'applique :
  • L'utilisateur n'est membre d'aucun groupe d'utilisateurs.
  • Tous les groupes d'utilisateurs dont l'utilisateur est membre ont COLLECT HISTORY réglé sur DEFAULT.
  • L'utilisateur est membre d'au moins un groupe d'utilisateurs pour lequel COLLECTIONNER L'HISTOIRE est activé.
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

La commande ALTER DATABASE produit les résultats suivants :
Tableau 2. ALTER DATABASE outputs
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

Des exemples d'utilisation sont présentés ci-dessous :
  • Modifier le jeu de caractères par défaut pour la base de données " emp
    MYDB.SCH1(USER)=> ALTER DATABASE emp SET DEFAULT 
    CHARACTER SET LATIN9;
  • Modifier le propriétaire de la base de données " emp
    MYDB.SCH1(USER)=> ALTER DATABASE emp OWNER TO admin3;
  • Renommer la base de données " emp
    MYDB.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 'emp pour suspendre toute écriture :
    MYDB.SCH1(USER)=> ALTER DATABASE emp lock for update;
  • Déverrouiller la base de données " emp
    MYDB.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

Tableau 3. Options de la commande ALTER DATABASE
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é