備份策略 增量備份中的差異備份:週日和週三執行0級備份,其他每天執行1級備份
/* 2008/06/10 星期二
*蒙昭良
*環境:linux5 + Oracle10gR2
*備份策略
*增量備份中的差異備份:週日和週三執行0級備份,其他每天執行1級備份
*需要的空間小,恢復效率低
*某一專案執行的備份
*/
一、備份時資料庫所在的狀態?
備份時資料庫處於open狀態,這樣資料庫可以正常的工作。
二、備份的資料備份在什麼地方?
備份在本地磁碟,這樣備份簡單,不需要第三方的工具。備份在磁帶庫需要第三方工具。
三、備份的儲存空間?
可以用作業系統命令df -lh 命令檢視空間,準備留給備份的空間大小。
四、什麼方式備份?
用RMAN的增量備份(差量備份),這樣備份和恢復都比較簡單。所佔用的空間比較小。
測試環境:
1 作業系統:Redhat Linux 5
[oracle@mzl proc]$ cat /proc/version
Linux version 2.6.18-8.el5 (brewbuilder@ls20-bc2-14.build.redhat.com) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-52)) #1 SMP Fri Jan 26 14:15:21 EST 2007
2 資料庫版本:Oracle10gR2 32位
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
3 資料庫的名字:orcl
SQL> show parameter db_name;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string orcl
4 歸檔狀態
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 22
Next log sequence to archive 24
Current log sequence 24
5 啟用 FLASHBACK DATABASE 事件記錄
這樣在不慎drop表時可以快速恢復。
SQL> select dbid,name,flashback_on,current_scn from v$database;
DBID NAME FLASHBACK_ON CURRENT_SCN
---------- --------- ------------------ -----------
1172558471 ORCL NO 1307040
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 268435456 bytes
Fixed Size 1218868 bytes
Variable Size 88082124 bytes
Database Buffers 171966464 bytes
Redo Buffers 7168000 bytes
Database mounted.
SQL> alter database flashback on;
Database altered.
SQL> select dbid,name,flashback_on,current_scn from v$database;
DBID NAME FLASHBACK_ON CURRENT_SCN
---------- --------- ------------------ -----------
1172558471 ORCL YES 0
SQL> alter database open;
Database altered.
6 啟動控制檔案的自動備份
這樣在備份時或者表空間變化時,資料庫會自動備份控制檔案。
RMAN> configure controlfile autobackup on;
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
RMAN> show controlfile autobackup;
RMAN configuration parameters are:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
7 資料庫啟動用spfile引數
這樣備份時spfile會和控制檔案一起備份。
檢視是否用spfile引數檔案:
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string
VALUE的值為空,資料庫是用pfile檔案啟動的,如果有值,則為spfile啟動
建立spfile引數檔案
SQL> create spfile from pfile;
File created.
會在$oracle_home/dbs/下生成spfileSID.ora
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 268435456 bytes
Fixed Size 1218868 bytes
Variable Size 88082124 bytes
Database Buffers 171966464 bytes
Redo Buffers 7168000 bytes
Database mounted.
Database opened.
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /u01/app/oracle/product/10.2.0
/db_1/dbs/spfileORCL.ora
8 使用rman的冗餘策略,預設為3
RMAN> configure retention policy to redundancy 3;
new RMAN configuration parameters:
CONFIGURE RETENTION POLICY TO REDUNDANCY 3;
new RMAN configuration parameters are successfully stored
RMAN> show retention policy;
RMAN configuration parameters are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 3;
9 在/home/mzl/BackupDatabase/下建立backuplevel0.rcv和backuplevel1.rcv指令碼
backuplevel0.rcv內容:
# script.:bakuplevel0.rcv
# creater:mengzhaoliang
# date:2008/6/10
# desc:backup level0 database datafile in archive with rman
# connect database
export ORACLE_SID=ORCL
export PATH=/u01/app/oracle/product/10.2.0/db_1/bin
rman target/ << EOF_RMAN
run{
allocate channel c1 type disk;
backup incremental level 0 tag 'db0' format '/home/mzl/BackupDatabase/rmanbackup/db0_%d_%T_%s' database include current controlfile;
sql 'alter system archive log current';
backup filesperset 3 format '/home/mzl/BackupDatabase/rmanbackup/arch0_%d_%T_%s' archivelog all delete input;
release channel c1;
}
# end
backuplevel1.rcv內容:
# script.:bakuplevel1.rcv
# creater:mengzhaoliang
# date:2008/6/10
# desc:backup level1 database datafile in archive with rman
# connect database
export ORACLE_SID=ORCL
export PATH=/u01/app/oracle/product/10.2.0/db_1/bin
rman target/ << EOF_RMAN
run{
allocate channel c1 type disk;
backup incremental level 1 tag 'db1' format '/home/mzl/BackupDatabase/rmanbackup/db1_%d_%T_%s' database include current controlfile;
sql 'alter system archive log current';
backup filesperset 3 format '/home/mzl/BackupDatabase/rmanbackup/arch1_%d_%T_%s' archivelog all delete input;
release channel c1;
}
# end
給這兩個指令碼授予執行的許可權:
[oracle@mzl BackupDatabase]$ chmod +x *.rcv
(注意:要試執行指令碼:./backuplevel1.rcv)
11 用crontab指定執行時間
[oracle@mzl BackupDatabase]$ crontab -e
crontab: installing new crontab
[oracle@mzl BackupDatabase]$ crontab -l
0 1 * * 0 /home/mzl/BackupDatabase/backuplevel0.rcv
0 1 * * 3 /home/mzl/BackupDatabase/backuplevel0.rcv
0 1 * * 1-2 /home/mzl/BackupDatabase/backuplevel1.rcv
0 1 * * 4-6 /home/mzl/BackupDatabase/backuplevel1.rcv
週日和週三凌晨1:00執行0級備份,週一、二、四、五、六凌晨1:00執行1級備份
內容:
0 1 * * 0 /home/mzl/BackupDatabase/backuplevel0.rcv
0 1 * * 3 /home/mzl/BackupDatabase/backuplevel0.rcv
0 1 * * 1-2 /home/mzl/BackupDatabase/backuplevel1.rcv
0 1 * * 4-6 /home/mzl/BackupDatabase/backuplevel1.rcv
*蒙昭良
*環境:linux5 + Oracle10gR2
*備份策略
*增量備份中的差異備份:週日和週三執行0級備份,其他每天執行1級備份
*需要的空間小,恢復效率低
*某一專案執行的備份
*/
一、備份時資料庫所在的狀態?
備份時資料庫處於open狀態,這樣資料庫可以正常的工作。
二、備份的資料備份在什麼地方?
備份在本地磁碟,這樣備份簡單,不需要第三方的工具。備份在磁帶庫需要第三方工具。
三、備份的儲存空間?
可以用作業系統命令df -lh 命令檢視空間,準備留給備份的空間大小。
四、什麼方式備份?
用RMAN的增量備份(差量備份),這樣備份和恢復都比較簡單。所佔用的空間比較小。
測試環境:
1 作業系統:Redhat Linux 5
[oracle@mzl proc]$ cat /proc/version
Linux version 2.6.18-8.el5 (brewbuilder@ls20-bc2-14.build.redhat.com) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-52)) #1 SMP Fri Jan 26 14:15:21 EST 2007
2 資料庫版本:Oracle10gR2 32位
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
3 資料庫的名字:orcl
SQL> show parameter db_name;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string orcl
4 歸檔狀態
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 22
Next log sequence to archive 24
Current log sequence 24
5 啟用 FLASHBACK DATABASE 事件記錄
這樣在不慎drop表時可以快速恢復。
SQL> select dbid,name,flashback_on,current_scn from v$database;
DBID NAME FLASHBACK_ON CURRENT_SCN
---------- --------- ------------------ -----------
1172558471 ORCL NO 1307040
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 268435456 bytes
Fixed Size 1218868 bytes
Variable Size 88082124 bytes
Database Buffers 171966464 bytes
Redo Buffers 7168000 bytes
Database mounted.
SQL> alter database flashback on;
Database altered.
SQL> select dbid,name,flashback_on,current_scn from v$database;
DBID NAME FLASHBACK_ON CURRENT_SCN
---------- --------- ------------------ -----------
1172558471 ORCL YES 0
SQL> alter database open;
Database altered.
6 啟動控制檔案的自動備份
這樣在備份時或者表空間變化時,資料庫會自動備份控制檔案。
RMAN> configure controlfile autobackup on;
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
RMAN> show controlfile autobackup;
RMAN configuration parameters are:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
7 資料庫啟動用spfile引數
這樣備份時spfile會和控制檔案一起備份。
檢視是否用spfile引數檔案:
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string
VALUE的值為空,資料庫是用pfile檔案啟動的,如果有值,則為spfile啟動
建立spfile引數檔案
SQL> create spfile from pfile;
File created.
會在$oracle_home/dbs/下生成spfileSID.ora
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 268435456 bytes
Fixed Size 1218868 bytes
Variable Size 88082124 bytes
Database Buffers 171966464 bytes
Redo Buffers 7168000 bytes
Database mounted.
Database opened.
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /u01/app/oracle/product/10.2.0
/db_1/dbs/spfileORCL.ora
8 使用rman的冗餘策略,預設為3
RMAN> configure retention policy to redundancy 3;
new RMAN configuration parameters:
CONFIGURE RETENTION POLICY TO REDUNDANCY 3;
new RMAN configuration parameters are successfully stored
RMAN> show retention policy;
RMAN configuration parameters are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 3;
9 在/home/mzl/BackupDatabase/下建立backuplevel0.rcv和backuplevel1.rcv指令碼
backuplevel0.rcv內容:
# script.:bakuplevel0.rcv
# creater:mengzhaoliang
# date:2008/6/10
# desc:backup level0 database datafile in archive with rman
# connect database
export ORACLE_SID=ORCL
export PATH=/u01/app/oracle/product/10.2.0/db_1/bin
rman target/ << EOF_RMAN
run{
allocate channel c1 type disk;
backup incremental level 0 tag 'db0' format '/home/mzl/BackupDatabase/rmanbackup/db0_%d_%T_%s' database include current controlfile;
sql 'alter system archive log current';
backup filesperset 3 format '/home/mzl/BackupDatabase/rmanbackup/arch0_%d_%T_%s' archivelog all delete input;
release channel c1;
}
# end
backuplevel1.rcv內容:
# script.:bakuplevel1.rcv
# creater:mengzhaoliang
# date:2008/6/10
# desc:backup level1 database datafile in archive with rman
# connect database
export ORACLE_SID=ORCL
export PATH=/u01/app/oracle/product/10.2.0/db_1/bin
rman target/ << EOF_RMAN
run{
allocate channel c1 type disk;
backup incremental level 1 tag 'db1' format '/home/mzl/BackupDatabase/rmanbackup/db1_%d_%T_%s' database include current controlfile;
sql 'alter system archive log current';
backup filesperset 3 format '/home/mzl/BackupDatabase/rmanbackup/arch1_%d_%T_%s' archivelog all delete input;
release channel c1;
}
# end
給這兩個指令碼授予執行的許可權:
[oracle@mzl BackupDatabase]$ chmod +x *.rcv
(注意:要試執行指令碼:./backuplevel1.rcv)
11 用crontab指定執行時間
[oracle@mzl BackupDatabase]$ crontab -e
crontab: installing new crontab
[oracle@mzl BackupDatabase]$ crontab -l
0 1 * * 0 /home/mzl/BackupDatabase/backuplevel0.rcv
0 1 * * 3 /home/mzl/BackupDatabase/backuplevel0.rcv
0 1 * * 1-2 /home/mzl/BackupDatabase/backuplevel1.rcv
0 1 * * 4-6 /home/mzl/BackupDatabase/backuplevel1.rcv
週日和週三凌晨1:00執行0級備份,週一、二、四、五、六凌晨1:00執行1級備份
內容:
0 1 * * 0 /home/mzl/BackupDatabase/backuplevel0.rcv
0 1 * * 3 /home/mzl/BackupDatabase/backuplevel0.rcv
0 1 * * 1-2 /home/mzl/BackupDatabase/backuplevel1.rcv
0 1 * * 4-6 /home/mzl/BackupDatabase/backuplevel1.rcv
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12778571/viewspace-343267/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 完全備份、差異備份、增量備份的區別
- Oracle的差異增量備份和累積增量備份Oracle
- Oracle的差異增量備份和累積增量備份(zt)Oracle
- Backup And Recovery User's Guide-RMAN備份概念-增量備份-差異增量備份GUIIDE
- Backup And Recovery User's Guide-RMAN備份概念-增量備份-多級增量備份GUIIDE
- rman備份和增量備份指令碼指令碼
- RMAN說,我能備份(9)--RMAN增量備份與備份保留策略
- 0級備份和全備份的本質區別
- RMAN 全庫備份和 0級備份的區別
- Oracle之差異增量備份與累積增量備份Oracle
- rman不做0級備份,可以直接做其他級別的incremental 備份,其本質還是先做0級備份!REM
- 資料庫差異備份與增量備份的不同之處資料庫
- Oracle RMAN中全備份與0級備份區別Oracle
- 2 Day DBA-管理方案物件-執行備份和恢復-備份資料庫-驗證備份並測試你的備份策略物件資料庫
- XtraBackup完整備份與增量備份的原理
- 2 Day DBA-管理方案物件-執行備份和恢復-備份資料庫-資料檔案增量備份物件資料庫
- Oracle 11g RMAN備份-增量備份Oracle
- 0級備份和全備份的本質區別是什麼 ?
- 2 Day DBA-管理方案物件-執行備份和恢復-備份資料庫-使用Oracle建議的備份策略物件資料庫Oracle
- Backup And Recovery User's Guide-RMAN備份概念-增量備份-累積增量備份GUIIDE
- 2 Day DBA-管理方案物件-執行備份和恢復-備份資料庫-備份標籤物件資料庫
- Mac備份策略:更好的Mac備份指南Mac
- Mysql增量備份MySql
- 增量備份 PostgreSQLSQL
- 2 Day DBA-管理方案物件-執行備份和恢復-備份資料庫-關於Oracle建議備份策略物件資料庫Oracle
- oracle資料庫備份之exp增量備份Oracle資料庫
- linux 下的差異和增量備份(轉)Linux
- Backup And Recovery User's Guide-RMAN備份概念-增量備份-增量備份演算法GUIIDE演算法
- ORACLE備份策略(1)Oracle
- 2 Day DBA-管理方案物件-執行備份和恢復-管理備份-練習:刪除失效的備份物件
- oracle的熱備份和冷備份Oracle
- Oracle備份及備份策略及基於Linux下 Oracle 備份策略(RMAN)OracleLinux
- RMAN備份之備份多個備份集到帶庫(三)
- Backup And Recovery User's Guide-備份RMAN備份-備份保留期對備份的備份的影響GUIIDE
- Backup And Recovery User's Guide-建立和更新增量備份-進行增量備份GUIIDE
- Xtrabackup每週增量備份指令碼程式指令碼
- Backup And Recovery User's Guide-備份RMAN備份-關於備份的備份GUIIDE
- Backup And Recovery User's Guide-RMAN備份概念-增量備份-累積增量備份-練習GUIIDE