2017-10-09 4 views
0

J'utilise Oracle 12c et j'ai un peu de mal à essayer d'attribuer un espace de table à un utilisateur.erreur rencontrée lors du traitement de l'instruction DDL actuelle dans la base de données connectable ORAPDB1: l'espace de table 'INTERVENTION_TBS' n'existe pas

Voici l'erreur que je suis arrivé lors du traitement de la déclaration actuelle dans la base de données DDL connectable ORAPDB1:

le tablespace 'INTERVENTION_TBS' ne pas exist

Notez que le tablespace a été créé avec succès. Alors quelqu'un pourrait-il suggérer une solution s'il vous plaît?

Pour plus de détails j'ai utilisé cette syntaxe de requête

CREATE USER c##DBAINTERVENTION 
    Identified by interventiondb 
    Default Tablespace INTERVENTION_TBS 
    Temporary Tablespace INTERVENTION_TempTBS; 
+1

Vous créez un utilisateur global, ce qui signifie que l'espace de table doit exister dans ** toutes ** les bases de données enfichables. –

+0

Et quelle est la solution pour cela s'il vous plaît? –

Répondre

0

Vous essayez de créer un utilisateur commun qui aura accès à tous les PDB dans la PEH. Comme l'utilisateur a accès à tous les PDB, il peut également créer un objet sur ces PDB, c'est pourquoi nous avons besoin d'un tablespace pour créer les objets. C'est la raison pour laquelle vous devez avoir l'espace de table spécifié dans la commande CREATE USER sur tous les PDB.

Veuillez vérifier que l'espace de table INTERVENTION_TBS existe sur tous les PDB à l'aide de la requête suivante.

select cp.pdb_name 
from cdb_pdbs cp join v$tablespace tb on(cp.con_id=tb.con_id) 
where tb.name='INTERVENTION_TBS'; 

Cette requête répertorie tous les PDB qui ont l'espace table. Si cet espace de table n'existe pas sur l'un de vos PDB, créez-en un.