Bonjour à tous,
J'avais une base portant le SID "MAT" que j'ai voulu changer en "PRD", voici la procédure que j'ai effectuée et qui a fonctionnée sur une 10g2.
1/Base démarrée, sauvegarder le fichier de controle:
#alter database backup controlfile to trace;
2/shutdown;
3/editer le fichier initMAT.ora et remplacer le db_name=MAT par le nouveau SID PRD
Ajouter aussi la ligne instance_name=PRD
4/Etant donné que la version 10 travaille avec le spfile, j'ai du le mettre à jours après avoir modifié le pfile:
#create spfile from pfile;
5/Se rendre dans le dossier udump pour éditer le fichier de controle sauvegarder au format ASCII lors de l"étape 1. Voici les seuls lignes à copier/coller dans un nouveau fichier texte "toto.sql" (on s'en servira plus tard):
STARTUP NOMOUNT
CREATE CONTROLFILE SET DATABASE "PRD" RESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/oracle/product/oradata/MAT/redo01.log' SIZE 50M,
GROUP 2 '/oracle/product/oradata/MAT/redo02.log' SIZE 50M,
GROUP 3 '/oracle/product/oradata/MAT/redo03.log' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'/oracle/product/oradata/MAT/system01.dbf',
'/oracle/product/oradata/MAT/undotbs01.dbf',
'/oracle/product/oradata/MAT/sysaux01.dbf',
'/oracle/product/oradata/MAT/users01.dbf',
'/oracle/product/oradata/MAT/example01.dbf'
CHARACTER SET WE8ISO8859P1
;
Explication: Bien choisir le SET DATABASE "nouveau_SID" et indiquer aux controlfiles que les redo vont être reseter à la premiere ouverture avec l'option "RESETLOGS".
6/supprimer les controlfiles existants; Si vous ne savez pas quels fichiers ce sont, regarder dans la vue v$controlfile ou dans votre fichier initSID.ora.
7/Executer toto.sql créé à l'étape 5. Se placer dans son répertoire, se connecter sous sqlplus (connect / as sysdba) et taper @toto.sql;
8/reseter les redo
#alter datbase openresetlogs
9/shutdown
10/changer la variable ORACLE_SID de l'user oracle et verifier qu'elle est bien active "echo $ORACLE_SID"
11/Modifier le listener.ora et tnsname.ora pour mettre le nouveau SID
12/modier initMAT en initPRD et pareil pour le spfile au niveau de l'OS
12/démarrer le listener
13/démarrer la base
Finalement c'est assez rapide, pour vérifier que tout est OK vous pouvez visualiser les vues v$instances, v$parameters et v$database. En espérant que ça aidera qqes personnes. J'ai voulu suivre au début des tutoriels mais ils sont incomplets, y'a toujours une erreur qui reste à droit ou à gauche.
Partager