ホームページ >データベース >mysql チュートリアル >Oracle RMAN 增量备份完整恢复测试
增量备份等级0:相当于full backup,备份整个datafile blocks,可以作为增量备份的起点;1-4:该等级有2个备份模式差异性增量备份
测试环境:
Linux 5.4-32位,,Oracle 11.2
创建测试表空间:
SQL> create tablespace tablespace1
2 datafile '/db/app/oracle/oradata/orcl/tablespace1.dbf'
3 size 10m;
Tablespace created.
SQL>
创建测试用户并指定为默认表空间:
SQL> create user user1 identified by oracle default tablespace tablespace1;
User created.
SQL>
设置该测试用户权限:
SQL> grant create session,create table,unlimited tablespace to user1;
Grant succeeded.
SQL>
用新创建的用户登录:
SQL> conn user1/
Enter password:
Connected.
SQL>
建表并写入数据:
SQL> create table table1 (id int,name varchar2(30));
Table created.
SQL> insert into table1 values(0001,'Tian');
1 row created.
SQL> insert into table1 values(0002,'zhong');
1 row created.
SQL> select * from table1;
ID NAME
---------- ------------------------------
1 Tian
2 zhong
SQL> commit;
Commit complete.
配置RMAN环境变量
切换sys用户作0级备份:
利用configure命令配置RMAN环境:
RMAN>CONFIGURE CONTROLFILE AUTOBACKUP ON;#开启归档日志自动备份
RMAN>CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/db/bak/ctf/%d_ctf_bak_%F';#指定归档日志备份位置
RMAN>CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO COMPRESSED BACKUPSET;#采用并行度为2且压缩备份集的方式备份到磁盘。
RMAN>CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT '/db/bak/disk1/%d_datafile_bak_%U';
RMAN>CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT '/db/bak/disk2/%d_datafile_bak_%U';
RMAN> show all;
RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/db/bak/ctf/%d_ctf_bak_%F';
CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO COMPRESSED BACKUPSET;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2 G;
CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT '/db/bak/disk1/%d_datafile_bak_%U';
CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT '/db/bak/disk2/%d_datafile_bak_%U';
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/db/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_orcl.f'; # default
备份全库(包括归档日志及启动参数文件等):
RMAN>
RMAN> backup incremental level 0 database plus archivelog;
Starting backup at 06-MAY-11
current log archived
using channel ORA_DISK_1
….
….(省略过程)
提示备份成功。可以再通过RMAN>list backup;查看已有备份确认(注意LV 字段全为0,为0级增量备份)。
继续往测试表中插入新数据:
SQL> insert into table1 values(3,'wang');
1 row created.
SQL> insert into table1 values(4,'newtest');
1 row created.
SQL> select * from table1;
ID NAME
---------- ------------------------------
1 Tian
2 zhong
3 wang
4 newtest
SQL> commit;
Commit complete.插入成功,并提交。
1级增量备份全库:
RMAN> backup incremental level 1 database plus archivelog;
…
…
省略备份过程细节。
提示备份成功。可以再通过RMAN>list backup;查看已有备份确认(此时LV字段包含0和1,表示目前备份中已包含有0级和1级增量备份)。