IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration Oracle Discussion :

Renommer une BD et son instance


Sujet :

Administration Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 109
    Points : 48
    Points
    48
    Par défaut Renommer une BD et son instance
    Sur oracle 11.2.0 , dans un environnement de test, j'avais une base de données créé sous un mauvais nom et j'ai voulu la changer dans la perspective de charger un dump issu d'un client.

    1/ J'ai commencé par faire un drop de ma base précédente
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    [oracle@dblinux home]$ sqlplus
    SQl> startup mount exclusive restrict;*
    SQL>shutdown abort;
    SQL>startup mount exclusive restrict;
    SQL>drop database;
    2/ J'ai ensuite changé le SID :
    export ORACLE_SID=PIMG alors qu'avant j'avais ORACLE_SID=dbora
    J'ai aussi - par la même occasion - changé ORACLE_UNQNAME=PIMG

    3/ J'ai crée un fichier /opt/oracle/product/11.2.0/dbhome_1/dbs/initPIMG.ora
    à l'image de l'ancien mais en changant le nom des répertoires notamment les control_files et j'ai crée ces divers répertoires présents dans le fichier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    ##############################################################################
    # Copyright (c) 1991, 2001, 2002 by Oracle Corporation
    ##############################################################################
     
    ###########################################
    # Archive
    ###########################################
    log_archive_format=%t_%s_%r.dbf
     
    ###########################################
    # Cache and I/O
    ###########################################
    db_block_size=8192
     
    ###########################################
    # Cursors and Library Cache
    ###########################################
    open_cursors=300
     
    ###########################################
    # Database Identification
    ###########################################
    db_domain=""
    db_name=PIMG
     
    ###########################################
    # File Configuration
    ###########################################
    control_files=("/opt/oracle/oradata/PIMG/control01.ctl", "/opt/oracle/flash_recovery_area/PIMG/control02.ctl")
    db_recovery_file_dest=/opt/oracle/flash_recovery_area
    db_recovery_file_dest_size=5218762752
     
    ###########################################
    # Miscellaneous
    ###########################################
    compatible=11.2.0.0.0
    diagnostic_dest=/opt/oracle
    memory_target=838860800
     
    ###########################################
    # NLS
    ###########################################
    nls_language="FRENCH"
    nls_territory="FRANCE"
     
    ###########################################
    # Processes and Sessions
    ###########################################
    processes=500
    sessions=555
     
    ###########################################
    # Security and Auditing
    ###########################################
    audit_file_dest=/opt/oracle/admin/PIMG/adump
    audit_trail=db
    remote_login_passwordfile=EXCLUSIVE
     
    ###########################################
    # Shared Server
    ###########################################
    dispatchers="(PROTOCOL=TCP) (SERVICE=PIMGXDB)"
     
    ###########################################
    # System Managed Undo and Rollback Segments
    ###########################################
    undo_tablespace=UNDOTBS1
    4/ J'ai crée ma nouvelle BD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    	SQL> shutdown abort;
    ORACLE instance shut down.
    SQL> startup
    SQL> CREATE DATABASE PIMG
      2 LOGFILE
      3 GROUP 1 ('/opt/oracle/admin/PIMG/log/redo1.log') size 50M,
      4 GROUP 2 ('/opt/oracle/admin/PIMG/log/redo2.log') size 50M,
      5 GROUP 3 ('/opt/oracle/admin/PIMG/log/redo3.log') size 50M
      6 DATAFILE '/opt/oracle/admin/PIMG/data/system.dbf' SIZE 300M
      7 AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
      8 EXTENT MANAGEMENT LOCAL
      9 SYSAUX DATAFILE '/opt/oracle/admin/PIMG/data/sysaux.dbf' SIZE 100M
     10 AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
     11 SMALLFILE UNDO TABLESPACE undotbs1
     12 DATAFILE '/opt/oracle/admin/PIMG/data/undotbs1.dbf' SIZE 100M
     13 AUTOEXTEND ON NEXT 10M MAXSIZE 1024M
     14 SMALLFILE DEFAULT TEMPORARY TABLESPACE temp
     15 TEMPFILE '/opt/oracle/admin/PIMG/data/temp01.dbf' SIZE 100M
     16 AUTOEXTEND ON NEXT 10M MAXSIZE 1024M
     17 DEFAULT TABLESPACE DATA
                DATAFILE '/opt/oracle/admin/PIMG/data/data_01.dbf' SIZE 100M
     18 19 AUTOEXTEND ON NEXT 10M MAXSIZE 500M
     20 EXTENT MANAGEMENT LOCAL AUTOALLOCATE
     21 NOARCHIVELOG
     22 CHARACTER SET WE8ISO8859P15
     23 NATIONAL CHARACTER SET UTF8;
     
     
    Base de donnees creee.
    Mes problème sont les suivants :
    A/ si je renomme mon fichier initdbora.ora en initdbora.ora.old, un STARTUP me renvoie un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    LRM-00109: could not open parameter file '/opt/oracle/product/11.2.0/dbhome_1/dbs/initdbora.ora'
    ce qui me fait dire que l SID est mal mis à jour. Mon Instance name est toujours 'dbora'.
    Comment faire pour le mettre à jour ?

    B/ Si je recopie le fichier initPIMG.ora en initdbora.ora, le startup fonctionne mais uniquement en mode exclusif.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SQL> STARTUP FORCE MOUNT
    Instance ORACLE lancee.
     
    Total System Global Area  835104768 bytes
    Fixed Size                  2217952 bytes
    Variable Size             494929952 bytes
    Database Buffers          331350016 bytes
    Redo Buffers                6606848 bytes
    ORA-01102: montage de base de donnees en mode EXCLUSIVE
    J'ai lu que c'était du à une instance mal arrêtée ou déja démarrée.

    Comment voir quel instance tourne ? Comment faire pour arrêter l'instance mal démarrée ?
    Dois-je recréer une nouvelle instance ? Renommer l'instance existante ? Que faire ....

  2. #2
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 348
    Points : 604
    Points
    604
    Par défaut
    Bonjour,

    Tu veux renommer une base que tu as supprimé !!!
    Pour renommer une base, tu peux cloner (avec Rman ou en regenerant nouveau controlfile) ou utiliser l'utilitaire NID par exemple ...
    @+
    SDR.
    "ceux qui vivent, ce sont ceux qui luttent."

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2012
    Messages : 14
    Points : 20
    Points
    20
    Par défaut
    Tu peux éventuellement retrouver les instances qui tournent en cherchant les "processus oracle"

    >ps -ef|grep ora
    Mais puisque tu connais le nom de ton instance il te suffit de définir ton oracle home et ton oracle sid puis de faire un shutdown

    >export ORACLE_HOME= '/opt/oracle/product/11.2.0/dbhome_1'
    >export ORACLE_SID= 'dbora'
    >sqlplus / as sysdba
    SQL > shutdown abort


    plutôt que de renommer le fichier d'init saches que tu peux en spécifier un dans ta commande startup. par exemple :

    SQL> startup pfile='/opt/oracle/product/11.2.0/dbhome_1/dbs/initPIMG.ora'
    Je te déconseilles en revanche de renommer à tout va. On perd vite le fils si l'on n'a pas une idée précise de ce que l'on fait.

    Plutôt que de tenter de renommer une base (opération possible mais risquée), je te conseillerais d'en créer une nouvelle et d'importer par rman ou datapump.

  4. #4
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par Alderick Voir le message
    ...
    Je partage votre opinion et l'esprit de votre réponse, par contre sur les détails...
    1) Si on met ORACLE_HOME et ORACLE_SID en minuscules, le résultat risque d'être moyen.
    2) un import avec RMAN ??
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  5. #5
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2012
    Messages : 14
    Points : 20
    Points
    20
    Par défaut
    A Pomalaix :

    1)Au temps pour moi ! je suis allé un peu vite. C'est corrigé
    2)Un raccourci un peu rapide, c'est vrai. j'aurais du dire :
    "je te conseillerais d'en créer une nouvelle et d'importer par datapump ou d'utiliser rman pour dupliquer la base"

    C'est vrai qu'il est important d'être précis !

  6. #6
    Membre confirmé
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2007
    Messages : 419
    Points : 616
    Points
    616
    Par défaut
    bonsoir,

    juste pour bien comprendre (parce que je ne comprends pas, désolée) ; si tu as droppé ta base comment peut fonctionner un startup? et comment peut-on créer une base autrement qu'en mode nomount?
    la base initiale semble ne pas être droppée.
    ton sqlplus était-il bien as sysdba?
    quand tu te connectes après le drop tu devrais avoir un message du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Connected to an idle instance
    tu ne passes pas les script catalog, catproc et pupbld?
    effectivement créer un spfile est une bonne idée.

    ensuite sur la problématique initiale , quelle est la raison qui impose que tu changes le nom d'une base pour importer quelque dump que ce soit? il y a d'autres choses qu changent par rapport à l'ancienne db ? comme le characterset notamment.

    bonne nuit

Discussions similaires

  1. Accéder au trait d'une classe via son instance
    Par oodini dans le forum Langage
    Réponses: 6
    Dernier message: 15/04/2012, 20h47
  2. renommer une instance sql2005
    Par FloFlo12 dans le forum Administration
    Réponses: 9
    Dernier message: 11/08/2008, 09h01
  3. Recupérer l'instance d'une session par son id
    Par Mazer dans le forum ASP.NET
    Réponses: 1
    Dernier message: 24/06/2008, 19h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo