Nid

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Utilitaire DBNEWID (nid)
Fonction Changer le DBID et/ou le nom d'une base de données
Emplacement $ORACLE_HOME/bin/nid
Voir aussi Instance · Sauvegarde oracle · Redo log

nid (DBNEWID) est l'utilitaire Oracle permettant de changer le DBID (identifiant interne unique de la base) et/ou le nom de la base (DB_NAME). Contrairement à ce que son usage laisse parfois penser, il ne renomme pas une « instance » — le nom de l'instance vient du paramètre ORACLE_SID/INSTANCE_NAME et est indépendant du DBID ou du DB_NAME de la base elle-même.

Cas d'usage

  • Dupliquer une base (clone) sans conserver le même DBID que la base source — indispensable
 si les deux bases doivent coexister et être enregistrées séparément dans RMAN.
  • Renommer une base de données (DB_NAME), ce qui impacte le fichier de contrôle et nécessite
 généralement de régénérer le init.ora/spfile en conséquence.

Prérequis

  • La base doit être arrêtée proprement puis remontée en mode MOUNT (pas ouverte) :
shutdown immediate;
startup mount;
  • Il est recommandé d'effectuer une sauvegarde complète avant l'opération.

Utilisation

nid target=sys/mot_de_passe@nom_base [dbname=nouveau_nom] [setname=yes] [logfile=fichier.log]
  • Sans l'option dbname, seul le DBID est changé (nom de la base conservé).
  • Avec dbname=nouveau_nom, le nom de la base est également changé — il faut
 ensuite ouvrir la base avec RESETLOGS et mettre à jour le paramètre
 DB_NAME dans le fichier de paramètres.

(à vérifier) : la syntaxe exacte des options varie selon la version Oracle (11g/12c/19c) — se référer à la documentation officielle DBNEWID pour la version utilisée.

Voir aussi

  • Instance — distinction entre nom d'instance et base de données
  • Sauvegarde oracle — sauvegarder avant une opération de ce type
  • Redo log — RESETLOGS après changement du DBID/nom