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á…
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