Avec le changement d'architecture dans Oracle Database 12c, il est apparu nécessaire d'avoir un USER/SCHEMA qui ait accès à la fois à la base de données de conteneur (CDB) et à la base de données enfichable (PDB). Avec le lancement d'Oracle Database 12c, Oracle a introduit un nouveau concept appelé "Common User ".
Chaque utilisateur courant peut se connecter et effectuer des opérations dans le conteneur racine et dans n'importe quel PDB où il dispose de privilèges. Apprenons à créer un utilisateur commun. Et comment attribuer SYSBACKUP privilège.
En attribuant SYSBACKUP privilège à un UTILISATEUR COMMUN vous pouvez avoir un schéma dédié pour effectuer des opérations de sauvegarde et de restauration dans votre base de données Oracle.
Caractéristiques de l'utilisateur commun
Voici quelques caractéristiques d'un utilisateur courant d'Oracle Database
- Un utilisateur commun peut se connecter à n'importe quel conteneur (y compris CDB$ROOT) dans lequel il dispose du privilège CREATE SESSION.
- Le nom de chaque utilisateur commun créé par l'utilisateur doit commencer par les caractères c## ou c##.
- Les noms des utilisateurs communs ne doivent contenir que des caractères ASCII ou EBCDIC.
- Chaque utilisateur commun est nommé de manière unique dans tous les conteneurs.
- Les schémas d'un utilisateur commun peuvent différer dans chaque conteneur.
Créons maintenant un utilisateur commun pour effectuer la sauvegarde et la restauration de la base de données Oracle à l'aide de Recovery Manager (RMAN).
Comment créer un utilisateur commun ?
La création d'un utilisateur commun pour la sauvegarde et la restauration dans Oracle Database est un processus très simple en 2 étapes. À l'étape 1, nous créons un utilisateur commun et à l'étape 2, nous lui accordons les privilèges nécessaires.
Commençons par l'étape numéro 1
Étape 1 :Créer l'utilisateur commun
Pour créer l'utilisateur, nous utiliserons la commande DDL "Créer un utilisateur" comme celle-ci -
C:/> SQLPLUS / as sysdba
connectez-vous d'abord à votre base de données de conteneur racine à l'aide de l'utilisateur SYS. Effacons maintenant rapidement l'écran et vérifions l'utilisateur et le conteneur.
SQL> cl scr
écran clair.
SQL> SHOW user;
Nous sommes connectés à la base de données en utilisant l'utilisateur sys.
SQL> SHOW con_name
et nous sommes également connectés au conteneur racine. Ensuite, nous n'allons pas créer un compte d'utilisateur normal, mais plutôt créer un utilisateur commun
SQL> CREATE USER c##BackupAdmin
IDENTIFIED BY pass101
DEFAULT TABLESPACE users
QUOTA 10M ON users
TEMPORARY TABLESPACE temp
ACCOUNT UNLOCK;
Lors de l'exécution réussie de l'instruction CREATE USER DDL ci-dessus, vous aurez votre utilisateur commun avec le nom c##BackupAdmin créé.
Pour mieux comprendre cette déclaration CREATE USER, vous pouvez vous référer à mon tutoriel sur CREATE USER DDL - Cliquez simplement ici.
Étape 2 :Accorder des privilèges
Avant Oracle 12c, nous n'avions qu'un seul privilège que nous pouvions attribuer à l'utilisateur pour les opérations de sauvegarde et de restauration, qui était SYSDBA
.
Étant donné que SYSDBA est un privilège administratif de base de données entièrement habilité, il n'est donc pas judicieux de l'attribuer au hasard à un utilisateur. Cela pourrait conduire à des événements catastrophiques.
Gardant ce problème à l'esprit Oracle a introduit un tout nouveau privilège avec le lancement d'Oracle Database 12c. Et c'était SYSBACKUP
.
SYSBACKUP
privilège disposait de tous les privilèges nécessaires pour effectuer la sauvegarde et la restauration de la base de données Oracle. Et ces privilèges se trouvaient également être un sous-ensemble de SYSDBA
privilèges.
Cela signifiait l'utilisateur qui a SYSBACKUP
privilège avait tout le pouvoir d'effectuer des sauvegardes et des restaurations, mais pas les privilèges qui pourraient faire de lui une menace potentielle pour la base de données.
Voyons maintenant comment attribuer SYSBACKUP
privilège à l'utilisateur de base de données commun que nous venons de créer.
Affectation de SYSBACKUP
privilège à un utilisateur dans Oracle Database n'a besoin que d'une simple instruction. Comme ça –
SQL> GRANT SYSBACKUP TO c##BackupAdmin;
C'est tout ce que vous avez à faire -
Si vous souhaitez révoquer SYSBACKUP
privilège de l'utilisateur, vous pouvez émettre une instruction REVOKE DCL comme celle-ci -
SQL> REVOKE sysbackup FROM c##BackupAdmin;
SYSBACKUP
révoqué avec succès.
C'est ainsi que nous créons un utilisateur commun et attribuez SYSBACKUP privilège à lui. Vous pouvez regarder cette démonstration en direct sur ma vidéo YouTube. Et, pour plus de didacticiels informatifs, abonnez-vous à ma chaîne YouTube.
Merci et bonne journée !