Armazenando um PDB num Flex Disk Group

Olá galera, neste post abordo um pouco mais sobre o Flex Disk Group.

No post anterior havíamos iniciado este assunto, se você não viu confere lá…

12.2 Flex Redundancy

O objetivo aqui é mostrar como armazenar um PDB num Flex Disk Group. Neste exemplo vamos armazenar uma das tablespaces do PDB pdb1 e comparar com as demais.

Com o usuário oracle, aponto as variáveis de ambiente para minha instância orcl_2:

[oracle@london1 ~]$ . oraenv
ORACLE_SID = [+ASM1] ? orcl_2
ORACLE_HOME = [/home/oracle] ? /u01/app/oracle/product/12.2.0.1/db_1
The Oracle base remains unchanged with value /u01/app/oracle

[oracle@london1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Mon Jul 31 23:44:56 2017

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


Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

Criamos o novo PDB e apontamos a tablespace PDB1TBS para ser armazenada no Disk Group Flex:

SQL> create pluggable database pdb1 admin user pdbadmin identified by oracle
default tablespace pdb1tbs datafile '+FLEX' size 200M autoextend off storage (maxsize 800M);

Pluggable database created.

Em seguida abrimos o PDB1:

SQL> alter pluggable database pdb1 open;

Pluggable database altered.

SQL> exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

Vamos ver como os arquivos do PDB1 ficaram. Aponte as variáveis de ambiente para a instância +ASM1:

[oracle@london1 ~]$ . oraenv
ORACLE_SID = [orcl_2] ? +ASM1
The Oracle base remains unchanged with value /u01/app/oracle

Acesse o asmcmd e liste os datafiles do banco de dados orcl (CDB) e do PDB1 para observarmos as diferenças:

[oracle@london1 ~]$ asmcmd

ASMCMD> ls -ls +data/orcl/datafile/
Type      Redund  Striped  Time             Sys  Block_Size  Blocks      Bytes      Space  Name
DATAFILE  UNPROT  COARSE   JUL 31 23:00:00  Y          8192   70401  576724992  578813952  SYSAUX.263.950738671
DATAFILE  UNPROT  COARSE   JUL 31 23:00:00  Y          8192   89601  734011392  736100352  SYSTEM.269.950738655
DATAFILE  UNPROT  COARSE   JUL 31 23:00:00  Y          8192   26881  220209152  222298112  UNDOTBS1.266.950738675
DATAFILE  UNPROT  COARSE   JUL 31 23:00:00  Y          8192   26881  220209152  222298112  UNDOTBS2.279.950819195
DATAFILE  UNPROT  COARSE   JUL 31 23:00:00  Y          8192     641    5251072    6291456  USERS.267.950738737

ASMCMD> ls -ls +flex/orcl/55A934E3333E523BE0536538A8C03BD8/datafile/
Type      Redund  Striped  Time             Sys  Block_Size  Blocks      Bytes      Space  Name
DATAFILE  MIRROR  COARSE   JUL 31 23:00:00  Y          8192   25601  209723392  440401920  PDB1TBS.256.950831601

Veja que no Flex Disk Group o datafile do PDB pdb1 foi criado com Redundância Mirror e os datafiles do CDB orcl que estão no Disk Group DATA estão como Unprotected.

Isso se deve por conta da redundância padrão de datafiles em um Flex Disk Group.

Consultando informações dos disk groups observamos que a redundância é do tipo Flex:

SQL> select GROUP_NUMBER, NAME, STATE, TYPE, TOTAL_MB, FREE_MB, REQUIRED_MIRROR_FREE_MB, USABLE_FILE_MB from v$asm_diskgroup;

GROUP_NUMBER NAME	    STATE	    TYPE     TOTAL_MB	 FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
------------ ---------- ----------- ------ ---------- ---------- ----------------------- --------------
	       1 CONFIG	    MOUNTED     EXTERN	    40960	    6868		               0	       6868
	       2 DATA	    MOUNTED     EXTERN	    12288	    8166		               0	       8166
	       3 FLEX	    MOUNTED     FLEX	     5120	    4328		               0	          0

Neste post vimos que para armazenar um banco de dados, seja ele Non-CDB, CDB ou PDB, precisamos somente informar o disk group. No exemplo apresentado armazenamos somente uma das tablespaces do nosso PDB pdb1 no disk group FLEX. No próximo post veremos mais algumas características dos Flex Disk Groups.

Abraços e até o próximo post,

Franky