備份&恢復系列之三:在linux中對oracle用rman指令碼備份!
備份&恢復系列之三:在linux中對oracle用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 資料庫版本: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> select file#,status,enabled,name from v$datafile;
FILE# STATUS ENABLED NAME
---------- ------- ---------- ------------------------------------------
1 SYSTEM READ WRITE /u01/app/oracle/oradata/orcl/system01.dbf
2 ONLINE READ WRITE /u01/app/oracle/oradata/orcl/undotbs01.dbf
3 ONLINE READ WRITE /u01/app/oracle/oradata/orcl/sysaux01.dbf
4 ONLINE READ WRITE /u01/app/oracle/oradata/orcl/users01.dbf
5 ONLINE READ WRITE /u01/app/oracle/oradata/orcl/example01.dbf
5 控制檔案的所在位置
SQL> select * from v$controlfile;
STATUS NAME IS_ BLOCK_SIZE FILE_SIZE_BLKS
------- ------------------------------------------ --- ---------- --------------
/u01/app/oracle/oradata/orcl/control01.ctl NO 16384 430
/u01/app/oracle/oradata/orcl/control02.ctl NO 16384 430
/u01/app/oracle/oradata/orcl/control03.ctl NO 16384 430
6 重做日誌檔案位置
SQL> col member format a45
SQL> l
1* select * from v$logfile
SQL> /
GROUP# STATUS TYPE MEMBER IS_
---------- ------- ------- --------------------------------------------- ---
3 ONLINE /u01/app/oracle/oradata/orcl/redo03.log NO
2 STALE ONLINE /u01/app/oracle/oradata/orcl/redo02.log NO
1 STALE ONLINE /u01/app/oracle/oradata/orcl/redo01.log NO
7 我在/home/mzl/BackupDatabase/目錄下寫個backup.rcv指令碼
[oracle@mzl proc]$ vi /home/mzl/BackupDatabase/backup.rcv
指令碼內容如下:
# script.:bakup.rcv
# creater:mengzhaoliang
# date:7.5.2008
# desc:backup all 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 full tag 'dbfull' format '/home/mzl/BackupDatabase/full_%u_%s_%p' database
include current controlfile;
sql 'alter system archive log current';
release channel c1;
}
# end
8 給指令碼賦予執行的許可權
[oracle@mzl BackupDatabase]$ chmod +x backup.rcv
9 在linux啟動一個終端執行該hotbak.sql指令碼
[oracle@mzl BackupDatabase]$ ./backup.rcv
熱備份完畢!
說明:
1 RMAN>list backup;
2 RMAN>delete backup;
piter:
1、 資料庫必須執行在歸檔模式下
2、 RMAN將自動備份資料檔案,執行可靠
3、 歸檔日誌另外備份處理,但至少需要儲存一次備份來的日誌
4、 沒有必要用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 資料庫版本: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> select file#,status,enabled,name from v$datafile;
FILE# STATUS ENABLED NAME
---------- ------- ---------- ------------------------------------------
1 SYSTEM READ WRITE /u01/app/oracle/oradata/orcl/system01.dbf
2 ONLINE READ WRITE /u01/app/oracle/oradata/orcl/undotbs01.dbf
3 ONLINE READ WRITE /u01/app/oracle/oradata/orcl/sysaux01.dbf
4 ONLINE READ WRITE /u01/app/oracle/oradata/orcl/users01.dbf
5 ONLINE READ WRITE /u01/app/oracle/oradata/orcl/example01.dbf
5 控制檔案的所在位置
SQL> select * from v$controlfile;
STATUS NAME IS_ BLOCK_SIZE FILE_SIZE_BLKS
------- ------------------------------------------ --- ---------- --------------
/u01/app/oracle/oradata/orcl/control01.ctl NO 16384 430
/u01/app/oracle/oradata/orcl/control02.ctl NO 16384 430
/u01/app/oracle/oradata/orcl/control03.ctl NO 16384 430
6 重做日誌檔案位置
SQL> col member format a45
SQL> l
1* select * from v$logfile
SQL> /
GROUP# STATUS TYPE MEMBER IS_
---------- ------- ------- --------------------------------------------- ---
3 ONLINE /u01/app/oracle/oradata/orcl/redo03.log NO
2 STALE ONLINE /u01/app/oracle/oradata/orcl/redo02.log NO
1 STALE ONLINE /u01/app/oracle/oradata/orcl/redo01.log NO
7 我在/home/mzl/BackupDatabase/目錄下寫個backup.rcv指令碼
[oracle@mzl proc]$ vi /home/mzl/BackupDatabase/backup.rcv
指令碼內容如下:
# script.:bakup.rcv
# creater:mengzhaoliang
# date:7.5.2008
# desc:backup all 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 full tag 'dbfull' format '/home/mzl/BackupDatabase/full_%u_%s_%p' database
include current controlfile;
sql 'alter system archive log current';
release channel c1;
}
# end
8 給指令碼賦予執行的許可權
[oracle@mzl BackupDatabase]$ chmod +x backup.rcv
9 在linux啟動一個終端執行該hotbak.sql指令碼
[oracle@mzl BackupDatabase]$ ./backup.rcv
熱備份完畢!
說明:
1 RMAN>list backup;
2 RMAN>delete backup;
piter:
1、 資料庫必須執行在歸檔模式下
2、 RMAN將自動備份資料檔案,執行可靠
3、 歸檔日誌另外備份處理,但至少需要儲存一次備份來的日誌
4、 沒有必要用RMAN做冷備份,效果不好
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12778571/viewspace-263043/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 備份&恢復系列之二:在linux中對oracle進行熱備份的指令碼!LinuxOracle指令碼
- 備份&恢復系列之一:怎樣在linux中寫對oracle的冷備份指令碼!LinuxOracle指令碼
- RMAN備份恢復測試指令碼指令碼
- 備份與恢復系列 七 續 catalog中的備份指令碼指令碼
- 【RMAN】RMAN備份恢復3 RMAN增量備份指令碼與crontab計劃任務指令碼
- oracle RMAN備份指令碼Oracle指令碼
- 循序漸進oracle第7章:備份與恢復之RMAN完整備份指令碼Oracle指令碼
- oracle RMAN 備份恢復總結Oracle
- oracle RMAN 備份恢復總結Oracle
- oracle rman備份恢復的例子Oracle
- RMAN備份與恢復之加密備份加密
- [Oracle] rman備份指令碼(2)Oracle指令碼
- oracle rman備份指令碼收集Oracle指令碼
- rman備份和增量備份指令碼指令碼
- RMAN備份恢復原理
- Oracle資料庫備份與恢復之三:OS備份/使用者管理的備份與恢復Oracle資料庫
- 【RMAN】RMAN備份恢復1 RMAN冷備指令碼與crontab計劃任務指令碼
- 【RMAN】RMAN備份恢復2 RMAN熱備指令碼與crontab計劃任務指令碼
- rman 備份指令碼指令碼
- rman備份指令碼指令碼
- ORACLE DG從庫 Rman備份恢復Oracle
- rman備份恢復-rman入門
- 分享Oracle Rman的備份指令碼Oracle指令碼
- oracle rman 定時備份指令碼Oracle指令碼
- [Oracle] rman備份的指令碼(1)Oracle指令碼
- ORACLE RMAN備份的指令碼配置Oracle指令碼
- 我在linux 中使用rman 備份指令碼Linux指令碼
- oracle rman備份驗證和備份/恢復進度監控Oracle
- RMAN備份恢復典型案例——RMAN備份&系統變慢
- RMAN備份恢復——備份到帶庫的效能
- rman 全備份指令碼指令碼
- rman增量備份指令碼指令碼
- windows rman備份指令碼Windows指令碼
- RMAN常用備份指令碼指令碼
- Oracle 備份恢復篇之RMAN catalogOracle
- oracle 10g RMAN備份及恢復Oracle 10g
- Oracle塊損壞恢復(有rman備份)Oracle
- [記錄]oracle RMAN 備份恢復總結Oracle