測試環境:
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級增量備份)。