Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
LAMI DBA

Articles autour des SGBD Oracle, SQL Server & PostgreSQL

Auto Start Pluggable database - Oracle 12c Multitenant

Après une installation en mode multitenant (avec une base de container donc) et après la création d'une pluggable database, on s'apercoit qu'après chaque A/R de l'instance oracle container, les Pluggables databases ne sont pas ouvertes automatiquement et restent en état Mounted :

Exemple :

 

SQL> shutdown immediate ;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup ;
ORACLE instance started.

Total System Global Area 1.0503E+10 bytes
Fixed Size 5294664 bytes
Variable Size 5234492856 bytes
Database Buffers 5234491392 bytes
Redo Buffers 28258304 bytes
Database mounted.
Database opened.

SQL> show pdbs;

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY   NO
3 MYPDB1   MOUNTED
4 MYPDB2   MOUNTED
5 MYPDB3   MOUNTED

La solution est simple : Pour permettre un OPEN automatique des pluggables database, on passe par un trigger.

Voici un trigger que je propose pour répondre à ce besoin :

CREATE or REPLACE trigger MRS_OPEN_PDB
after startup
on database
BEGIN
execute immediate 'alter pluggable database all open read write';
END MRS_OPEN_PDB ;
/

 

Voyons voir ce que cela donne :

SQL> CREATE or REPLACE trigger MRS_OPEN_PDB
after startup
on database
BEGIN
execute immediate 'alter pluggable database all open read write';
END MRS_OPEN_PDB ;
/

Trigger created.

 

-> Arrêt / relance database :

SQL> shutdown immediate ;

Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup

ORACLE instance started.

Total System Global Area 1.0503E+10 bytes
Fixed Size 5294664 bytes
Variable Size 5234492856 bytes
Database Buffers 5234491392 bytes
Redo Buffers 28258304 bytes

Database mounted.
Database opened.
SQL>show pdbs;

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED   READ ONLY NO
3 MYPDB1     READ WRITE NO
4 MYPDB2     READ WRITE NO
5 MYPDB3     READ WRITE NO

 

Parfait ! le trigger à bien joué son rôle, et toutes nos PDBs sont Open R/W !

Enjoy  ;-)

micka

 

Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article