web-dev-qa-db-fra.com

Comment changer le nom du schéma?

J'ai créé un utilisateur:

CREATE USER gds_map
IDENTIFIED BY gds_map;

Et maintenant je dois changer de nom. J'ai essayé de mettre à jour ou de trouver un autre moyen, mais je n'ai encore rien trouvé.

Je serai heureux de tout indice.

8
adelak

Vous ne pouvez pas (du moins pas de manière soutenue ou vaguement responsable). Vous devez créer un nouvel utilisateur avec le nouveau nom d'utilisateur et supprimer l'ancien utilisateur.

10
Justin Cave

Si vous souhaitez modifier le nom d'un schéma, vous devez avoir les droits précédents sur USER $

1. Obtenir l'identifiant du nom d'un schéma

SQL> select user#,NAME from SYS.user$ WHERE NAME='TEST';
USER# NAME
---------- ------------------------------
*93* TEST

2. modifier le nom du schéma  

SQL> UPDATE USER$ SET NAME='NEW_SCHEMA_NAME' WHERE USER#=93;

3. commit terminé  

SQL> COMMIT;

4. modifier le système SCN

SQL> ALTER SYSTEM CHECKPOINT;

5.Alors refresh shared_pool

SQL> ALTER SYSTEM FLUSH SHARED_POOL;

6. Modifier le mot de passe du nouveau schéma

SQL> ALTER USER new_schema  IDENTIFIED BY new_pass;
12
mohamed stitane

Aucune méthode n'existe pour renommer un schéma Oracle.

Essayer,

1-Créer un nouveau schéma

2-Exporter l'ancien schéma,

$exp owner=test2

3-Importer l'ancien schéma dans un nouveau schéma,

$imp fromuser=test2 touser=newuser_name
4
Dba

fais ça 

1- se connecter en tant que sys

2- exécutez ceci: Update sys.user $ Set name = 'nouveau_nom' Où name = 'ancien_nom';

3- puis redémarrez la base de données

1
Firas Nizam

J'ai eu besoin de le faire si souvent que j'ai même écrit un article sur ce sujet

La solution de contournement que j'utilise consiste à "cloner" l'utilisateur sur le même DB avec un nom différent, à l'aide de loopback dblink.

C'est très rapide et à la fin, après un bilan réussi, vous pouvez supprimer l'ancien schéma.

Vérifiez-le ici: http://www.dbarj.com.br/en/2014/11/rename-schema-Oracle-11g-loopback-dblink/

Cordialement,

Rodrigo Jorge