Oracle RMAN-单命令,批命令_oracle

RMAN备份的方式有两种,一种是单命令,一种是批命令。批命令就是run加上一个大括号。

allocate channel cha1 type disk;

首先分配一个通道给cha1,backup database默认是分配通道了,rman会自动的分配通道,type disk是指写到磁盘上面,即输出在磁盘上(产生的文件在磁盘上面)。

format指定了存放的路径。因为之前使用backup database是rman使用默认的路径帮我们备份。format指定了备份存放的路径,%t指定了年月日。tag就是打一个标签,在单命令的时候没有指定tag,是rman自动打上去的。不使用批命令,上面的channel,format,tag,type都是使用rman默认的参数。最后分配了channel,那么最后就要释放掉。


Oracle RMAN-单命令,批命令_sed_02


format就是使得文件名称更好让人理解这个备份是什么时候备份的,相当于对每次备份取一个好听的名字。


Oracle RMAN-单命令,批命令_oracle_03


I/O类型要不是磁带要不就是硬盘。

在rman备份里面,Oracle给出channel这个概念是为了规定备份时候有多少个进程(并行度),备份大小的限制,还有备份的速度(指定I/O带宽的限制值)。比如说要在白天进行备份,那么备份的速度就不要太快,因为避免影响数据库的正常工作。可能让其几个小时备份完,这样负载就低了。说白了channel就是为了控制rman备份的一些行为(备份文件最大尺寸,备份的速度,多少个进程进行备份)。

 

RMAN> run{
2> allocate channel cha1 type disk;
3> backup
4> format '/u01/rman/full_%t'
5> tag fuu_backup
6> database;
7> release channel cha1;
8> }

allocated channel: cha1
channel cha1: SID=43 device type=DISK

Starting backup at 11-DEC-17
channel cha1: starting full datafile backup set
channel cha1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/oradb/system01.dbf
input datafile file number=00002 name=/u01/app/oracle/oradata/oradb/sysaux01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/oradb/undotbs01.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/oradb/user01.dbf
channel cha1: starting piece 1 at 11-DEC-17
channel cha1: finished piece 1 at 11-DEC-17
piece handle=/u01/rman/full_962449452 tag=FUU_BACKUP comment=NONE
channel cha1: backup set complete, elapsed time: 00:00:46
channel cha1: starting full datafile backup set
channel cha1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel cha1: starting piece 1 at 11-DEC-17
channel cha1: finished piece 1 at 11-DEC-17
piece handle=/u01/rman/full_962449499 tag=FUU_BACKUP comment=NONE
channel cha1: backup set complete, elapsed time: 00:00:01
Finished backup at 11-DEC-17

released channel: cha1

8 Full 428.95M DISK 00:00:37 11-DEC-17
BP Key: 8 Status: AVAILABLE Compressed: NO Tag: FUU_BACKUP
Piece Name: /u01/rman/full_962449452
List of Datafiles in backup set 8
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
1 Full 726036 11-DEC-17 /u01/app/oracle/oradata/oradb/system01.dbf
2 Full 726036 11-DEC-17 /u01/app/oracle/oradata/oradb/sysaux01.dbf
3 Full 726036 11-DEC-17 /u01/app/oracle/oradata/oradb/undotbs01.dbf
4 Full 726036 11-DEC-17 /u01/app/oracle/oradata/oradb/user01.dbf

BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
9 Full 9.52M DISK 00:00:01 11-DEC-17
BP Key: 9 Status: AVAILABLE Compressed: NO Tag: FUU_BACKUP
Piece Name: /u01/rman/full_962449499
SPFILE Included: Modification time: 11-DEC-17
SPFILE db_unique_name: ORADB
Control File Included: Ckp SCN: 726058 Ckp time: 11-DEC-17
%t这个format是系统的一个时间戳。

[root@oracle u01]# cd /u01
[root@oracle u01]# ls
app rman tmp
[root@oracle u01]# cd rman/
[root@oracle rman]# ls
full_962449452 full_96244949

tag是存放在控制文件里面的,如果是nocatalog,如果有catalog database,那么信息就存放在catalog database里面。
在控制文件里面可以看到
[oracle@oracle oradb]$ strings control0.ctl
/u01/rman/full_962449452
FUU_BACKUP
DISK
/u01/rman/full_962449499
FUU_BACKUP