Skip to content

Clonage d'un PDB

PhilippeLeroux edited this page May 9, 2017 · 10 revisions

Cloner un PDB entre 2 serveurs.

Serveur : srvplutot01 CDB PLUTOT (Pas de Grid Infra)

oracle@srvplutot01:PLUTOT:~> lspdbs

SQL*Plus: Release 12.2.0.1.0 Production on Tue May 9 09:40:38 2017

Copyright (c) 1982, 2016, Oracle.  All rights reserved.


Connecte a :
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production


Instance   PDB name     Open mode  Open time         Size (Mb) RECOVERY RES State
---------- ------------ ---------- -------------- ------------ -------- --- --------------
PLUTOT     CDB$ROOT     READ WRITE 17/05/09 09:38            0 ENABLED  NO  NOT SAVED
PLUTOT     PDB$SEED     READ ONLY  17/05/09 09:38          774 ENABLED  NO  NOT SAVED
PLUTOT     PDB01        READ WRITE 17/05/09 09:38          844 ENABLED  NO  OPEN

Sur PDB01 les schémas de démos ont été installés pour faire un peu de volume.

Serveur : srvplutard01 CDB PLUTARD (Pas de Grid Infra)

oracle@srvplutard01:PLUTARD:~> lspdbs

SQL*Plus: Release 12.2.0.1.0 Production on Tue May 9 09:40:50 2017

Copyright (c) 1982, 2016, Oracle.  All rights reserved.


Connecte a :
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production


Instance   PDB name     Open mode  Open time         Size (Mb) RECOVERY RES State
---------- ------------ ---------- -------------- ------------ -------- --- --------------
PLUTARD    CDB$ROOT     READ WRITE 17/05/09 09:38            0 ENABLED  NO  NOT SAVED
PLUTARD    PDB$SEED     READ ONLY  17/05/09 09:38          774 ENABLED  NO  NOT SAVED

2 lignes selectionnees.

But cloner le PDB01 de PLUTOT sur PLUTARD

  1. Ajout de l'alias pdb01_remote sur le serveur srvplutard01 :

    J'utilise le service par défaut du PDB.

    oracle@srvplutard01:PLUTARD:admin> cat tnsnames.ora
    pdb01_remote =
    	(DESCRIPTION =
    		(ADDRESS =
    			(PROTOCOL = TCP)
    			(HOST = srvplutot01)
    			(PORT = 1521)
    		)
    		(CONNECT_DATA =
    			(SERVER = DEDICATED)
    			(SERVICE_NAME = pdb01)
    		)
    	)
    
  2. Test de connexion

    Se positionner dans le répertoire ~/plescripts/db/sql

    oracle@srvplutard01:PLUTARD:sql> sqlplus sys/Oracle12@pdb01_remote as sysdba
    
    SQL*Plus: Release 12.2.0.1.0 Production on Tue May 9 09:47:55 2017
    
    Copyright (c) 1982, 2016, Oracle.  All rights reserved.
    
    
    Connecte a :
    Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
    
    sys@pdb01> @lsdbrole
    
    DB name    UQ name    Open mode  DB role          Broker   CDB Flashback
    ---------- ---------- ---------- ---------------- -------- --- ----------
    PLUTOT     PLUTOT     READ WRITE PRIMARY          DISABLED YES YES
    
    1 ligne selectionnee.
    
  3. Création du dblink sur le CDB PLUTARD.

    Le compte pdbadmin et le mot passe Oracle12 sont ceux utilisés lors de la création de PDB01.

    sys@cdb$root> create database link pdb01_link
    connect to pdbadmin identified by Oracle12 using 'pdb01_remote';
    
    Lien de base de donnees cree.
    
  4. Clonage du PDB01

    sys@cdb$root> create pluggable database pdb01_cloned from pdb01@pdb01_link;
    
    Base de donnees pluggable creee.
    
    Ecoule : 00 :00 :52.27
    

    Validation :

    sys@cdb$root> @lspdbs
    
    Instance   PDB name     Open mode  Open time         Size (Mb) RECOVERY RES State
    ---------- ------------ ---------- -------------- ------------ -------- --- --------------
    PLUTARD    CDB$ROOT     READ WRITE 17/05/09 09:38            0 ENABLED  NO  NOT SAVED
    PLUTARD    PDB$SEED     READ ONLY  17/05/09 09:38          774 ENABLED  NO  NOT SAVED
    PLUTARD    PDB01_CLONED MOUNTED    17/05/09 09:59            0 ENABLED      NOT SAVED
    
    3 lignes selectionnees.
    

    Ouverture du PDB :

    sys@cdb$root> alter pluggable database PDB01_CLONED open;
    
    Base de donnees pluggable modifiee.
    
    sys@cdb$root> alter pluggable database PDB01_CLONED save state;
    
    Base de donnees pluggable modifiee.
    
    sys@cdb$root> @lspdbs
    
    Instance   PDB name     Open mode  Open time         Size (Mb) RECOVERY RES State
    ---------- ------------ ---------- -------------- ------------ -------- --- --------------
    PLUTARD    CDB$ROOT     READ WRITE 17/05/09 09:38            0 ENABLED  NO  NOT SAVED
    PLUTARD    PDB$SEED     READ ONLY  17/05/09 09:38          774 ENABLED  NO  NOT SAVED
    PLUTARD    PDB01_CLONED READ WRITE 17/05/09 10:26          844 ENABLED  NO  OPEN
    
    3 lignes selectionnees.
    

    Les services sont présents, avec le grid il faut créer les services via srvctl.

    Le fichier tnsnames.ora doit être mis à jour, pour pouvoir utiliser les services.

    sys@cdb$root> @lssrv
    
    Name             Network name     Enabled  pdb
    ---------------- ---------------- -------- ----------------
    pdb01_oci        pdb01_oci        NO       PDB01_CLONED
    pdb01_java       pdb01_java       NO       PDB01_CLONED
    pdb01_cloned     pdb01_cloned     NO       PDB01_CLONED
    SYS$BACKGROUND                    NO       CDB$ROOT
    SYS$USERS                         NO       CDB$ROOT
    PLUTARDXDB        PLUTARDXDB      NO       CDB$ROOT
    PLUTARD           PLUTARD         NO       CDB$ROOT
    
    7 lignes selectionnees.
    
Clone this wiki locally