数据库状态:
☆恢复目录: 打开
☆目录数据库:例程启动或者数据库加载
恢复目录库需打开,目标数据库必须启动(或者加载).因目标数据库不在归档模式下,所以当进行备份恢复操作的时候数据库无法打开.不可将表空间置于热备份模式上进行等同于文件系统级的拷贝,如果在非归档模式,数据库打开的状态下不能进行数据库文件的备份.
[@more@]1.数据库完全备份
RMAN>run {
2>allocate channel dev1 type disk;
3>backup
4>full
5>tag full_db_backup
6>fromat 'G:oracleorabackupdb_t%t_s%s_p%p'
7>(database);
8>release channel dev1;
9>}
注: *Full backup(default if full or incremental not specified)完全备份模式(缺省模式)
*Meaningful string(<=30 chars)(备份集标识,<=30个字符)
*Filename to use for backup pieces,including substitution variables. 备份片使用的文件名,可以包含代替变量.
*Indicates all files including controlfiles are to be backed up表明备份所有数据文件包括控制文件.
通过下面的命令显示恢复目录中记载的备份集信息:
RMAN> list backupset of database;
2.备份表空间
RMAN> run {
2> allocate channel dev1 type disk;
3> backup
4> tag tbs_users_read_only
5> format 'e:/oracle/backups/tbs_users_t%t_s%s'
6> (tablespace users)
7> }
注:使用下列命令来显示恢复目录中该表的备份信息:
RMAN> list backupset of tablespace users;
*假设USERS表空间在备份后被置为READ ONLY表空间,以后的全库备份就可以不用备份该表空间,为了达到这个目的,可以在以后的备份中指定'skip readonly'。
*目标数据库不需要一定打开,只要加载就可以,因为表空间的信息存储在控制文件中。
3.备份单独数据文件
RMAN> run {
2> allocate channel dev1 type 'SBT_TAPE';
3> backup
4> format '%d_%u'
5> (datafile 'e:/oracle/dbs/sysbigdb.dbf');
6> release channel dev1;
7> }
*使用MML(media manager layer)分配磁带驱动器,必须指定类型为SBT_TAPE;
注意因为没有指定标识,所以标识为空;
使用下面的命令显示恢复目录中备份的表空间:
RMAN> list backupset of datafile 1;
4.备份数据文件
RMAN> run {
2> allocate channel dev1 type 'SBT_TAPE';
3> copy datafile 'e:/oracle/dbs/temp.dbf' to 'e:/oracle/backups/temp.dbf';
4> release channel dev1;
5> }
*使用下面的命令显示恢复目录中的文件拷贝:
RMAN> list copy of datafile 'e:/oracle/dbs/temp.dbf';
*拷贝数据文件和备份数据文件是不一样的,数据文件拷贝是一个该文件的镜像。文件的备份产生一个备份集。
5.备份控制文件
RMAN> run {
2> allocate channel dev1 type 'SBT_TAPE';
3> backup
4> format 'cf_t%t_s%s_p%p'
5> tag cf_monday_night
6> (current controlfile);
7> release channel dev1;
8> }
*数据库完全备份将自动备份控制文件。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20546452/viewspace-783936/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/20546452/viewspace-783936/