Controlfile Block Size

lunedì 4 febbraio 2008 alle 04:55 | Pubblicato su Backup and Recovery | Lascia un commento

Studiando per la certificazione Oracle OCP, oggi mi sono soffermato sui backup del controlfile e sul manuale “Backup and Recovery Basics” ho notato la seguente nota:

Note:If the control file block size is not the same as the block size for datafile 1, then the control file cannot be written into the same backup set as the datafile. RMAN writes the control file into a backup set by itself if the block size is different.

Il che mi ha incuriosito, infatti facendo dei test ho notato che il controlfile viene messo sempre su un “backupset ” separato (nella mia installazione, 10.2 64 bit su Oracle Enterprise Linux 4U5). Mi sono chiesto qual’è la dimensione dei blocchi del controlfile e se tale dimensione dipende da qualche parametro e/o configurazione modificabile dall’utente. Un primo passo per la risposta, dopo una ricerca senza esiti sul metalink, l’ho fatto dopo una ricerca su Google arrivando a un post di Oracle-l su freelist. Nel mio alert.log non compare la riga citata da cui si desume che su Oracle 10gR2 in controlfile ha blocchi da 16kb, quindi ho dovuto proseguire la ricerca.

Ho provato a fare un dump normale del Controlfile con “ALTER SYSTEM DUMP CONTROLFILE TO TRACE”, in questo caso però non ho trovato tracce della struttura fisica del controlfile e quindi sulla dimensione del blocco. Poi per fortuna mi sono ricordato che sul sito di Julian Dike sono riportati in forma sintetica alcuni comandi per fare dump di strutture del database. Uno di questi dump riguarda proprio il database, quindi sul mio database ho lanciato:

ALTER SESSION SET EVENTS ‘immediate trace name controlf level 1′;

e andando a vedere il contenuto del trace ho trovato:

V10 STYLE FILE HEADER:
Compatibility Vsn = 169870080=0xa200300
Db ID=4155113496=0xf7aa0018, Db Name=’TEST102′
Activation ID=0=0x0
Control Seq=995=0x3e3, File size=432=0x1b0
File Number=0, Blksiz=16384, File Type=1 CONTROL
*** END OF DUMP ***

Direi che l’elemento Blksiz=16384 è inequivocabile.

Quindi evidentemente se creo un database con il block_size di 16 kb (io li ho tutti con blocchi da 8kb) dovrei vedere che facendo con RMAN il backup di un datafile e specificando l’inclusione del controlfile dovrei ottenere un unico backupset.

L’informazione di per se non è vitale, ma aiuta a comprendere quanto scritto sui manuali allineandolo a quanto si evidenzia dalle prove pratiche. E’ difficile dare pieno affidamento ai manuali (che inevitabilmente possono contenere degli errori) se quando si fanno delle prove pratiche si osservano comportamenti diversi da quanto descritto.

P.S.

Ho fatto una prova: ho creato una tablespace con block size da 16k, poi ho lanciato il backup della tablespace con il seguente comando:

RMAN>  backup as backupset device type disk tablespace users16k include current controlfile format ‘/home/oracle/USERS16K_%U’ tag ’16k’;

Starting backup at 04-FEB-08
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=145 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00005 name=/opt/oracle/oradata/test102/users16k01.dbf
including current control file in backupset
channel ORA_DISK_1: starting piece 1 at 04-FEB-08
channel ORA_DISK_1: finished piece 1 at 04-FEB-08
piece handle=/home/oracle/USERS16K_1uj7scq5_1_1 tag=16K comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
Finished backup at 04-FEB-08

Viene creato un unico backupset che conferma quanto scritto sul manuale e che il controlfile ha blocchi da 16k.

Lascia un commento »

RSS feed for comments on this post. TrackBack URI

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Blog su WordPress.com.
Entries e commenti feeds.

%d blogger cliccano Mi Piace per questo: