I have been reading and testing RMAN. I have question b/c I wasn't clear about channel and how RMAN is going to handle the backup. Any way, as I understand correct the reason you have multiple channel b/c you want to avoid i/o contention for large database. let say if you have:
allocate channel d1 type disk format 'c:\temp\%d_backup%u';
allocate channel d2 type disk format 'd:\temp\%d_backup%u';
How does RMAN know to seperate the backup set to C or D??? I did a test and I only have the backup set on C drive and nothing on D drive.
In my VERY limited experience it seems (at least under Windows) that a channel is allocated to a datafile and so you only get any benefit if you have several datafiles per tablespace - the tablespaces are placed in backup mode and processed one at a time. If you only have one file per TS then it always uses just the first channel, hence the C: drive.
Originally posted by DaPi In my VERY limited experience it seems (at least under Windows) that a channel is allocated to a datafile and so you only get any benefit if you have several datafiles per tablespace - the tablespaces are placed in backup mode and processed one at a time. If you only have one file per TS then it always uses just the first channel, hence the C: drive.
Not Exactly. RMAN will divide up the files that need to be backed up, splitting them between each channel. It doesn't really matter how many files per tablespace you have. I've had a database backed up with RMAN, and it had 50+ datafiles - some tablespaces had multiple files, some didn't. We would use two channels and it would "Randomly" pick half of the files for each channel. There must be some sort of algorithm, because both pieces tend to be about the same size.
Couple things to note... if you use multiple channels, you obviously get multiple backup pieces. Make sure to check your bandwith if your using multiple channels across the LAN. There is a point a diminishing returns. We found using 3 didn't get the backup done any faster than 2. We were using as much bandwith with 2 that we possibly could.
As far as Learning_bee's question.. I'm not sure why you only used one channel. How many files did you have?
According to the RMAN Guide:
The default for filesperset is the lesser of these two values: 64, number of input files / number of channels. For example, if you back up 100 datafiles using 2 channels, RMAN sets filesperset to 50.
RMAN always attempts to create enough backup sets so that all allocated channels have work to do. An exception to the rule occurs when there are more channels than files to back up. For example, if RMAN backs up two datafiles when three channels are allocated and filesperset = 1, then one channel is necessarily idle.
Originally posted by DaPi Am I wrong about this? Will there be more than one TS in backup mode at any one time?
("Still learning" too - hope I never stop!)
Well, more than 1 tablespace will be backed up at one time. But the database isn't really in "backup" mode like when you'd do a manual backup and actually put the tablespace in backup mode. I'm embarassed to say that I don't know exactly how it DOES work. (It's kinda like MAGIC! )I'll have to go do some research. I can't believe that the db doesn't do checkpoints to the datafiles during a whole db backup like it does when you issue a "alter tablespace begin backup." I've had backups run for HOURS, so I can't believe this would happen...
I'll do some research and let you know what I find.
Regarding tablespaces in BACKUP MODE, i agree with all you guys.
Oracle DOES NOT put tablespaces in BACKUP MODE when doing RMAN online backups. I guess you can check this selecting from dba_tablespaces while performing backups.
Hope your research can get this clear.
By the way, you can try RMV from www.otools.com.ar
there is a GUI reporting tool to obtain information related to your backups performed with catalog RMAN.