Aller au contenu
  • Société
    • Qui sommes-nous
    • Nos valeurs
    • Nos partenaires
    • Entreprise citoyenne
    • Régions
  • Services
    • Expertise
    • Formation
    • Développement
    • Migration
    • Infogérance
  • Join the Team
  • Actualités
  • Blog
    • Blog easyteam.fr
    • Blog Cloud Natives
  • Formations
  • Rugb’Easyteam
  • Contact
Menu
  • Société
    • Qui sommes-nous
    • Nos valeurs
    • Nos partenaires
    • Entreprise citoyenne
    • Régions
  • Services
    • Expertise
    • Formation
    • Développement
    • Migration
    • Infogérance
  • Join the Team
  • Actualités
  • Blog
    • Blog easyteam.fr
    • Blog Cloud Natives
  • Formations
  • Rugb’Easyteam
  • Contact
Inscrivez-vous à la newsletter

Inscrivez-vous à la newsletter

Abonnez-vous maintenant et nous vous tiendrons au courant.
Nous respectons votre vie privée. Vous pouvez vous désabonner à tout moment.

Bienvenue sur le Blog d'EASYTEAM (ex ArKZoYd)

  • Accueil
  • Actualités
  • Cloud
  • Infrastructure
  • Données / Sécurité
  • Intégration
  • Dev / DevOps
  • SAM / FinOps
Menu
  • Accueil
  • Actualités
  • Cloud
  • Infrastructure
  • Données / Sécurité
  • Intégration
  • Dev / DevOps
  • SAM / FinOps
  • le 17/04/2012
  • Administrateur
  • Oracle

DUPLICATE…FROM ACTIVE DATABASE

Partager sur linkedin
LinkedIn
Partager sur twitter
Twitter
Partager sur facebook
Facebook

Avez-vous déjà tenté de cloner une base à chaud…sans aucune sauvegarde RMAN? Vous pensez peut être à un « DUPLICATE » RMAN ? Et bien oui, mais pas tout à fait ! Pourquoi ? Un duplicate nécessite une sauvegarde RMAN disponible pour pouvoir créer la copie de la base. Mais la solution qui vous est proposée ici est de cloner une base sans avoir au préalable une sauvegarde RMAN.
Avec la 11g, Oracle offre cette possibilité avec la commande « DUPLICATE….FROM ACTIVE DATABASE ». Dans ce chapitre, vous trouverez les différentes étapes pour implémenter cette solution.
Dans l’exemple ci-dessous, vous allez dupliquez une base en version 11.2.0.1 sur un serveur Windows (XP/64bits).

  • Préparez l’arborescence qui va accueillir la nouvelle base :
C:ORACLE_DBSATURNE
C:ORACLE_DBSATURNEDATA
C:ORACLE_DBSATURNEREDO
C:ORACLE_DBSATURNECTRL
  • Générez un pfile de la base source :
C:>set ORACLE_SID=NEPTUNE
C:>sqlplus / as sysdba
SQL>create pfile='C:apporacleproduct11.2.0dbhome_1databaseinit_SATURNE.ora' from spfile;
Fichier créé.
SQL>exit
  • Ouvrez le fichier init_SATURNE.ora généré sous « %ORACLE_HOME%/database »

Modifiez toutes les entrées du fichier en remplaçant le nom de la base source par le nom de la base dupliquée :
Dans l’exemple, la chaîne NEPTUNE est remplacée par SATURNE, vous obtenez un fichier de ce style là :

*.audit_file_dest='C:apporacleadminsaturneadump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='C:ORACLE_DBSATURNEDATAcontrol01.ctl','C:ORACLE_DBSATURNECTRLcontrol02.ctl'
*.db_block_size=8192
*.db_domain='world'
*.db_name='saturne'
*.db_recovery_file_dest='C:apporacleflash_recovery_area'
*.db_recovery_file_dest_size=3117416448
*.diagnostic_dest='C:apporacle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=saturneXDB)'
*.nls_language='FRENCH'
*.nls_territory='FRANCE'
*.open_cursors=300
*.pga_aggregate_target=106954752
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=220864256
*.undo_tablespace='UNDOTBS1'
  • Créez le service windows associé à la nouvelle base
C:oradim -new -sid SATURNE
Instance créé.
  • Créez un fichier passwordfile avec l’utilitaire « orapwd »:
C:orapwd file=PWDSATURNE password=sys_pass01
  • Ajoutez le descripteur de connexion dans le fichier TNSNAMES.ora
SATURNE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = saturne)
)
)
  • Ajoutez uen entrée dans le fichier LISTENER.ora pour éviter que la nouvelle base bloque les connexions lorsqu’elle est en mode NOMOUNT :
(SID_DESC =
(SID_NAME = SATURNE)
(ORACLE_HOME = C:apporacleproduct11.2.0dbhome_1)
)
  • Rafraichissez les services du listener :
C:lsnrctl reload
...
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connexion à (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
La commande a réussi
  • Testez la connexion au service SATURNE
C:tnsping SATURNE
...
Adaptateur TNSNAMES utilisé pour la résolution de l'alias
Tentative de contact de (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = hostname
)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SID = saturne)))
OK (90 msec)
  • Démarrez la base en mode NOMOUNT avec le fichier init_SATURNE.ora
C: sqlplus / as sysdba
SQL>startup nomount pfile='C:apporacleproduct11.2.0dbhome_1databaseinit_SATURNE.ora'
Instance ORACLE lancée.
Total System Global Area 221790208 bytes
Fixed Size 1373684 bytes
Variable Size 83888652 bytes
Database Buffers 134217728 bytes
Redo Buffers 2310144 bytes
SQL>exit
  • Connectez-vous à RMAN sur la base source (target) et sur la base cible (auxiliary) :
C:rman
RMAN> connect target sys/sys_pass123@NEPTUNE
connecté à la base de données cible : NEPTUNE (DBID=123456789)
RMAN> connect auxiliary sys/sys_pass01@SATURNE
connexion établie avec la base de données auxiliaire : SATURNE (non montée)
RMAN>
  • Lancez la commande de duplication :
RMAN> duplicate target database to SATURNE from active database
2>db_file_name_convert ‘C:ORACLE_DBNEPTUNEDATA','C:ORACLE_DBSATURNEDATA';
executing command: SET NEWNAME
executing command: SET NEWNAME
....
contenu de script mémoire:
{
Alter clone database open resetlogs;
}
exécution de script mémoire
base de données ouverte
Fin de Duplicate Db dans 27/03/12
RMAN>
  • Vérifiez l’état de votre nouvelle base :
C:sqlplus / as sysdba
SQL> select name from v$database;
NAME
---------
SATURNE
SQL> select status from v$instance;
STATUS
------------
OPEN
SQL> select file_name from dba_data_files;
FILE_NAME
-------------------------------------------------------
C:ORACLE_DBSATURNEDATASYSTEM01.DBF
C:ORACLE_DBSATURNEDATASYSAUX01.DBF
C:ORACLE_DBSATURNEDATAUNDOTBS01.DBF
C:ORACLE_DBSATURNEDATAUSERS01.DBF
C:ORACLE_DBSATURNEDATADATA01.DBF
C:ORACLE_DBSATURNEDATAINDXS01.DBF
SQL>

Et voilà, la nouvelle base est prête !
Pensez donc à cette solution lorsque vous avez une base à cloner. Cette fonctionnalité permet aussi de créer une STANDBY. L’option ‘FROM ACTIVE DATABASE’ offre donc un gain de temps sur la duplication d’une base de données. Vous disposez de données récentes et d’une image parfaite de la base source. Si vous prenez le temps d’éplucher la log RMAN vous comprendrez mieux la notion « ACTIVE DATABASE ». En effet, vous y verrez les différentes étapes de duplication. Il n’est pas nécessaire d’analyser la totalité de la log, mais vous constaterez qu’à un moment, RMAN effectue une sauvegarde de la base source. C’est cette sauvegarde qui sert à la duplication.
Sources :
Oracle® Database Backup and Recovery Reference
11g Release 1 (11.1)

Administrateur
Administrateur
Voir tous ses articles
Partager sur linkedin
LinkedIn
Partager sur twitter
Twitter
Partager sur facebook
Facebook

1 réflexion sur “DUPLICATE…FROM ACTIVE DATABASE”

  1. Ping : Synchronisation standby avec Dbvisit - EASYTEAM

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Les derniers articles

  • Modernisation d’Oracle SOA Suite 22/02/2021
  • SQL Server 2019 : nouveauté TDE 15/02/2021
  • Libérer de l’espace sur les serveurs Oracle Weblogic 08/02/2021
  • Perdre Un Nœud d’un Cluster Always On 01/02/2021
  • Master Note Middleware 2020 27/01/2021

Les derniers commentaires

  • SY dans Oracle Database 12c In-Memory: Configuration/Découverte de l’option
  • Jeancy dans Configurer la messagerie de l’Agent SQL Server en vue de l’utilisation de la messagerie de base de données
  • Libérer de l'espace sur les serveurs Oracle Weblogic - EASYTEAM dans "Dans le doute, reboot !" et si on rendait cela scriptable et modulable !
  • Arnaud dans OCI Designer Toolkit : Créer, visualiser et déployer vos environnements OCI graphiquement
  • sami dans OCI Designer Toolkit : Créer, visualiser et déployer vos environnements OCI graphiquement
Espace Membres
Mot de passe perdu ?
EASYTEAM

Tour Nova, 71 Boulevard National,
92250 La Garenne-Colombes
Tél. 0800 40 60 40
contact@easyteam.fr

Facebook
Linkedin
Twitter
Navigation
  • Accueil
  • Qui sommes-nous
  • Entreprise citoyenne
  • Nos valeurs
  • Régions
  • Partenaires
  • Contact
  • Support
Menu
  • Accueil
  • Qui sommes-nous
  • Entreprise citoyenne
  • Nos valeurs
  • Régions
  • Partenaires
  • Contact
  • Support
Services
  • Développement
  • Migration
  • Infogérance
  • Expertise
  • Formation
Menu
  • Développement
  • Migration
  • Infogérance
  • Expertise
  • Formation
Blog
  • Cloud
  • Infrastructures
  • Data
  • Intégration
  • Dev / DevOps
  • SAM / FinOps
  • Applications
Menu
  • Cloud
  • Infrastructures
  • Data
  • Intégration
  • Dev / DevOps
  • SAM / FinOps
  • Applications
Copyright 2018 - EASYTEAM, Tous droits réservés
Mentions légales
Politique de confidentialité​