RMAN通道分配
RMAN通道分配是我们进行RMAN备份时经常提起的一个概念,RMAN通道分配就是确定连接数据库备份的设置个数,每设置一个设备就代表RMAN会自动启动一个服务器会话,由此来完成数据库的备份与恢复的操作。这其中通道指的就是某个设备(可以是磁盘或磁带等其他介质)和数据库进行关联。
通道分配有手动分配和自动分配两种,其中手动分配通道时要使用run命令实现,自动分配则只需要使用configure命令即可完成。
RMAN手动通道分配
RMAN手动通道分配指的是根据用户自己定义的通道完成数据库备份工作,并且如果在恢复目录中定义好了手动通道分配,就会优先使用手动分配。手动通道分配是在RMAN命令中利用RUN命令完成分配工作。
RMAN手动通道分配语法:run
{
allocate channel ch_name1 device type typename1;
allocate channel ch_name2 device type typename2;
....
backup ...
}
语法解析:
1、allocate channel指定要分配的通道名称,后面跟着通道名称。
2、device type 指定介质的类型。其中typename可以是磁带(sbt)、磁盘(disk)。
3、backup是备份数据集的关键字。backup后面可以跟着要进行备份的数据库对象,比如表空间或用户等。
例1、利用手动通道分配备份student表空间。
1、首先把目标数据库注册到恢复目录当中再进备份,在RMAN命令下通过register database命令进行注册:register database
2、利用RUN命令手动备份表空间student,命令如下:run
{allocate channel c device type disk;
backup tablespace student;
}
结果如下:
注意:
1、从图中可以发现,利用通道进行备份表空间,在备份完后,通道会进行释放。
2、在使用RUN命令进行备份前,一定是得在RMAN命令状态下,而且是得连接到恢复目录和目标数据库的前提下,才能进行备份。
例2、利用多通道备份student表空间。
使用通道进行备份是可以通过定义多个通道,从而提高备份的效率。也就是利用多个通道完成数据库的备份工作。代码如下:run
{allocate channel c1 device type disk;
allocate channel c2 device type disk;
backup tablespace student;
}
语法解析:
1、这里的两个通道的名字是不能重复的。
结果如下:
RMAN自动通道分配
RMAN自动通道分配,顾名思义就是数据库自己定义分配的通道的数量和名称,不需要管理员自己手动进行通道分配。但是在进行数据备份之前,必须为目标数据库定义一下自动通道分配的参数,比如介质的类型、通道的最大个数以及默认的介质类型。命令如下:CONFIGURE DEVICE TYPE typename PARALLELISM n
CONFIGURE DEFAULT DEVICE TYPE TO typename
语法解析:
1、configure是指定自动通道分配的配置信息的关键字。
2、typename指定介质的类型,PARALLELISM n指定通道分配的个数。
3、default指定默认的设备的介质类型。
例3、定义目标数据库的自动通道分配的配置参数,再进行自动备份student表空间。CONFIGURE DEVICE TYPE disk PARALLELISM 3;
CONFIGURE DEFAULT DEVICE TYPE TO disk;
backup tablespace student;
上面命令定义了介质类型都是磁盘,自动分配通道的个数是3。结果如下:
从上图,可以发现直接使用backup备份集命令进行表空间备份时,会自动分配三个通道进行表空间备份,通道的名字分别为ORA_DISK_1到3。那么这种就是使用了自动的通道分配。