Sunday, February 10, 2019

Exadata Storage Snapshots, Part 3, Technical details

(start is here)

 

Exadata Storage Snapshots are based on the

Sparse concept: 

Sparse Griddisk => Sparse ASM diskgroup => Snapshot database
  • At the bottom level of sparse concept is the sparse griddisk. 
  • On top of griddisk is created sparse ASM diskgroup,
  • On top of sparse ASM diskgroup is created Snapshot Database.
For our experiments we took the X3-2 Exadata with 18.1.12 Exadata software and 18.5 GI and RDBMS software. Our disks are 600g. 40% of each disk is for DATA, 60% is for SPARSE griddisk.

 Sparse Griddisk

Sparse griddisk is part of celldisk (as usual), the difference is in virtualsize attribute, which define sparse (logical) size of sparse griddisk:

CellCLI> create griddisk all harddisk prefix=SPARSE, size=317.6875G, virtualsize=3176G

 size=317.6875G - is the physical (real) size of our SPARSE disk.
Each sparse griddisk has 2 attributes: physical (real) size and virtual size.
Physical size limited by size 4T per one hard disk.
Virtual size is limited by 100T per hard disk (25 times more than real size).
As i understand virtual size define the amount of metadata at the sparse grid disk.

CellCLI> list griddisk detail
     name:                   SPARSE_CD_00_ed03celadm01
     asmDiskGroupName:       SPARSE
     asmDiskName:            SPARSE_CD_00_ED03CELADM01
     asmFailGroupName:       ED03CELADM01
     availableTo:          
     cachedBy:               "FD_04_ed03celadm01, FD_07_ed03celadm01, FD_05_ed03celadm01, FD_06_ed03celadm01"
     cachingPolicy:          default
     cellDisk:               CD_00_ed03celadm01
     comment:              
     creationTime:           2019-01-24T13:51:40+03:00
     diskType:               HardDisk
     errorCount:             0
     id:                     dfd71cd3-b154-45e4-9a08-b6dcc29ffe65
     size:                   317.6875G
     sparse:                 TRUE
     status:                 active
     virtualSize:            3.1015625T



 Sparse ASM diskgroup

Sparse ASM diskgroup is the usual ASM diskgroup. We create it with command:

$ sqlplus / as sysasm

SQL> create diskgroup SPARSE
normal redundancy
disk 'o/*/SPARSE_*'
attribute
'compatible.asm'          = '18.0.0.0',
'compatible.rdbms'        = '12.1.0.2',
'cell.smart_scan_capable' = 'true',
'cell.sparse_dg'          = 'allsparse',
'au_size'                 = '4M';



 The only difference is 'cell.sparse_dg'='allsparse' attribute.
You can use any name for this group.


 ASMCMD> lsdg
State    Type     Total_MB    Free_MB  Req_mir_free_MB  Usable_file_MB  Voting_files  Name
MOUNTED  NORMAL    7778304    7531228           216064         3657582             N  DATAC1/
MOUNTED  NORMAL     894720     889968            29824          430072             Y  DBFSC1/
MOUNTED  NORMAL  117080064  117078216          3252224        56912996             N  SPARSE/



ASMCMD> lsattr -l -G SPARSE

Name                        Value        
access_control.enabled      FALSE        
access_control.umask        066          
appliance._partnering_type  EXADATA FIXED
appliance.mode              TRUE         
ate_conversion_done         true         
au_size                     4194304      
cell.smart_scan_capable     TRUE         
cell.sparse_dg              allsparse    
compatible.asm              18.0.0.0.0   
compatible.rdbms            12.1.0.2.0   
content.check               FALSE        
content.type                data         
content_hardcheck.enabled   FALSE        
disk_repair_time            12.0h        
failgroup_repair_time       24.0h        
idp.boundary                auto         
idp.type                    dynamic      
logical_sector_size         512          
phys_meta_replicated        true         
preferred_read.enabled      FALSE        
scrub_async_limit           1            
scrub_metadata.enabled      TRUE         
sector_size                 512          
thin_provisioned            FALSE        
vam_migration_done          true



ASMCMD> lsattr -l -G DATAC1
Name                        Value        
access_control.enabled      TRUE         
access_control.umask        066          
appliance._partnering_type  EXADATA FIXED
appliance.mode              TRUE         
ate_conversion_done         true         
au_size                     4194304      
cell.smart_scan_capable     TRUE         
cell.sparse_dg              allnonsparse 
compatible.advm             18.0.0.0.0   
compatible.asm              18.0.0.0.0   
compatible.rdbms            11.2.0.4.0   
content.check               FALSE        
content.type                data         
content_hardcheck.enabled   FALSE        
disk_repair_time            12.0h        
failgroup_repair_time       24.0h        
idp.boundary                auto         
idp.type                    dynamic      
logical_sector_size         512          
phys_meta_replicated        true         
preferred_read.enabled      FALSE        
scrub_async_limit           1            
scrub_metadata.enabled      TRUE         
sector_size                 512          
thin_provisioned            FALSE        
vam_migration_done          true           



In this article we show how to create sparse griddidk and sparse ASM diskgroup.







No comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Does DEALLOCATE UNUSED or SHRINK SPACE will free space occupied by LOB segment?

Lets check how it works. My env is DB 19.20@Linux-x64 1) I created the table with 4 LOB columns of 4 different LOB types: BASICFILE BLOB, BA...