循序漸進oracle第7章:備份與恢復之Nocatalog方式的備份方案制定
/* 2008/06/06
*環境:linux5 + Oracle10g
*循序漸進oracle——資料庫管理、最佳化與備份恢復
*循序漸進oracle第7章:備份與恢復之Nocatalog方式的備份方案制定
*每週兩次全備份,其他每日執行歸檔日誌的備份(即週日和週三進行全備份,其他每天執行歸檔日誌的備份)
*/
測試環境:
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 資料庫版本:Oracle10g
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 在/u01/backup/fullbackup.sql編寫全備份指令碼
檔案內容:
run{
backup full tag 'orclfull' database
include current controlfile
format '/home/backup/orclful_%d_%T_%s'
plus archivelog
format '/home/backup/orclful_archive_%d_%T_%s' delete all input;
delete noprompt obsolete;
}
6 給指令碼授予許可權
[oracle@mzl backup]$ chmod +x fullbackup.sql
7 在/u01/backup/archivelogbackup.sql編寫歸檔備份指令碼
檔案內容:
run{
backup archivelog all
format '/home/backup/onlyarchivelog_%d_%T_%s' delete all input;
}
8 給指令碼授予許可權
[oracle@mzl backup]$ chmod +x archivelogbackup.sql
9 編寫一個判斷星期幾,然後呼叫相應的指令碼/u01/backup/startrman.sh
指令碼內容:
. /home/oracle/.bash_profile
SH_HOME=/u01/backup
export SH_HOME
DATE=`date +%Y%m%d`
week=`date +%w`
#------------------------------
#Confirm whether the oracle is runing
#-----------------------------
ps -ef|grep dbw0_$ORACLE_SID | grep -v grep
#-----------------------------
#Begin to backup
#-----------------------------
if [$? -eq 0]:then
if[ $week="0" ] || [ $week="3" ];then
rman target/ @/u01/backup/fullbackup.sql log=/home/backup/fullbackup`date +%Y%m%d`.log
else
rman target/ @/u01/backup/archivelogbackup.sql log=/home/backup/archivelogbackup`date +%Y%m%d`.log
fi
fi
8 給指令碼授予許可權
[oracle@mzl backup]$ chmod +x startrman.sh
9 編寫定時器crontab,定製每天1:30呼叫/u01/backup/startrman.sh指令碼
[oracle@mzl ~]$ crontab -e
內容:
30 1 * * 0-6 /u01/backup/startrman.sh
檢視crontab:
[oracle@mzl ~]$ crontab -l
30 1 * * 0-6 /u01/backup/startrman.sh
最後:測試日期可以用
[oracle@mzl ~]$ echo date=`date +%Y%m%d`
date=20080610
測試星期:
[oracle@mzl ~]$ echo week=`date +%w`
week=2
*環境:linux5 + Oracle10g
*循序漸進oracle——資料庫管理、最佳化與備份恢復
*循序漸進oracle第7章:備份與恢復之Nocatalog方式的備份方案制定
*每週兩次全備份,其他每日執行歸檔日誌的備份(即週日和週三進行全備份,其他每天執行歸檔日誌的備份)
*/
測試環境:
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 資料庫版本:Oracle10g
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 在/u01/backup/fullbackup.sql編寫全備份指令碼
檔案內容:
run{
backup full tag 'orclfull' database
include current controlfile
format '/home/backup/orclful_%d_%T_%s'
plus archivelog
format '/home/backup/orclful_archive_%d_%T_%s' delete all input;
delete noprompt obsolete;
}
6 給指令碼授予許可權
[oracle@mzl backup]$ chmod +x fullbackup.sql
7 在/u01/backup/archivelogbackup.sql編寫歸檔備份指令碼
檔案內容:
run{
backup archivelog all
format '/home/backup/onlyarchivelog_%d_%T_%s' delete all input;
}
8 給指令碼授予許可權
[oracle@mzl backup]$ chmod +x archivelogbackup.sql
9 編寫一個判斷星期幾,然後呼叫相應的指令碼/u01/backup/startrman.sh
指令碼內容:
. /home/oracle/.bash_profile
SH_HOME=/u01/backup
export SH_HOME
DATE=`date +%Y%m%d`
week=`date +%w`
#------------------------------
#Confirm whether the oracle is runing
#-----------------------------
ps -ef|grep dbw0_$ORACLE_SID | grep -v grep
#-----------------------------
#Begin to backup
#-----------------------------
if [$? -eq 0]:then
if[ $week="0" ] || [ $week="3" ];then
rman target/ @/u01/backup/fullbackup.sql log=/home/backup/fullbackup`date +%Y%m%d`.log
else
rman target/ @/u01/backup/archivelogbackup.sql log=/home/backup/archivelogbackup`date +%Y%m%d`.log
fi
fi
8 給指令碼授予許可權
[oracle@mzl backup]$ chmod +x startrman.sh
9 編寫定時器crontab,定製每天1:30呼叫/u01/backup/startrman.sh指令碼
[oracle@mzl ~]$ crontab -e
內容:
30 1 * * 0-6 /u01/backup/startrman.sh
檢視crontab:
[oracle@mzl ~]$ crontab -l
30 1 * * 0-6 /u01/backup/startrman.sh
最後:測試日期可以用
[oracle@mzl ~]$ echo date=`date +%Y%m%d`
date=20080610
測試星期:
[oracle@mzl ~]$ echo week=`date +%w`
week=2
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12778571/viewspace-332698/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RAC備份恢復之Voting備份與恢復
- Oracle 備份恢復之 FlashbackOracle
- Oracle 備份 與 恢復 概述Oracle
- 【BAK_ORACLE】Oracle 12c之CDB與PDB的備份與恢復(三)CDB與PDB的備份方式Oracle
- 備份與恢復oracle_homeOracle
- 備份與恢復:polardb資料庫備份與恢復資料庫
- Oracle 備份恢復篇之RMAN catalogOracle
- Mysql備份與恢復(1)---物理備份MySql
- Oracle 12c 備份與恢復Oracle
- 【ASK_ORACLE】Oracle 12c之CDB與PDB的備份與恢復(二)備份恢復之前你需要知道的Oracle
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- ORACLE備份&恢復案例(轉)Oracle
- GitLab的自動備份、清理備份與恢復Gitlab
- Mysql備份與恢復(2)---邏輯備份MySql
- DB的備份與恢復
- GitLab的備份與恢復Gitlab
- 【RECO_ORACLE】Oracle 12c之CDB與PDB的備份與恢復(四)PDB的幾種恢復方式Oracle
- Jenkins備份與恢復Jenkins
- Postgresql 備份與恢復SQL
- MySQL 備份與恢復MySql
- MySQL備份與恢復——基於MyDumper/MyLoader 邏輯備份恢復MySql
- oracle 增量備份恢復驗證Oracle
- Oracle 備份和恢復介紹Oracle
- ORACLE備份&恢復案例三(轉)Oracle
- ORACLE備份&恢復案例二(轉)Oracle
- ORACLE本地磁碟備份恢復Oracle
- MySQL備份與恢復——基於OUTFILE /LOAD DATA 邏輯備份恢復MySql
- ORACLE DG從庫 Rman備份恢復Oracle
- mydumper備份恢復
- Mysql備份恢復MySql
- 備份和恢復
- 《MySQL 入門教程》第 06 篇 備份與恢復MySql
- Oracle 11g R2 備份與恢復Oracle
- Oracle邏輯備份與恢復選項說明Oracle
- Mysql的幾種備份與恢復MySql
- Elasticsearch叢集的備份與恢復Elasticsearch
- Linux 系統的備份與恢復Linux
- 《入門MySQL—備份與恢復》MySql
- DB2備份與恢復DB2