Oracle11新特性——備份恢復功能增強(十)
打算寫一系列的文章介紹11g的新特性和變化。
Oracle11g在備份和恢復方面新增了很多的功能,無論是效能、功能性、安全性和可操作性方面都有了不同程度的提高。
這一篇介紹rman備份指令碼的替換變數功能。
Oracle11新特性——備份恢復功能增強(一):http://yangtingkun.itpub.net/post/468/412991
Oracle11新特性——備份恢復功能增強(二):http://yangtingkun.itpub.net/post/468/414647
Oracle11新特性——備份恢復功能增強(三):http://yangtingkun.itpub.net/post/468/414834
Oracle11新特性——備份恢復功能增強(四):http://yangtingkun.itpub.net/post/468/414941
Oracle11新特性——備份恢復功能增強(五):http://yangtingkun.itpub.net/post/468/416015
Oracle11新特性——備份恢復功能增強(六):http://yangtingkun.itpub.net/post/468/423531
Oracle11新特性——備份恢復功能增強(七):http://yangtingkun.itpub.net/post/468/426943
Oracle11新特性——備份恢復功能增強(八):http://yangtingkun.itpub.net/post/468/427877
Oracle11新特性——備份恢復功能增強(九):http://yangtingkun.itpub.net/post/468/429571
11g增加了備份指令碼的變數替換功能,提高了備份指令碼的靈活性。
看一個簡單的例子:
[oracle@yangtk ~]$ vi rman_backup.sh
rman target / << EOF
{
allocate channel c1 device type disk format '/data1/backup/%U';
backup database tag regular_backup_071211;
}
EOF
編寫一個簡單的備份指令碼,將檔案屬性設定為可以執行:
[oracle@yangtk ~]$ chmod 744 rman_backup.sh
下面就可以執行這個指令碼對資料庫進行備份了:
[oracle@yangtk ~]$ . rman_backup.sh
Recovery Manager: Release 11.1.0.6.0 - Production on Sat Nov 10 07:08:49 2007
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: ORA11G (DBID=4026820313)
RMAN> 2> 3> 4> 5>
using target database control file instead of recovery catalog
allocated channel: c1
channel c1: SID=135 device type=DISK
released channel: c1
Starting backup at 10-NOV-07
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=135 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/data/oracle/oradata/ora11g/ORA11G_P/datafile/o1_mf_system_3d3795py_.dbf
input datafile file number=00002 name=/data/oracle/oradata/ora11g/ORA11G_P/datafile/o1_mf_sysaux_3d379f1s_.dbf
input datafile file number=00003 name=/data/oracle/oradata/ora11g/ORA11G_P/datafile/o1_mf_undotbs1_3d379k48_.dbf
input datafile file number=00005 name=/data/oracle/oradata/ora11g/ORA11G_P/datafile/o1_mf_yangtk_3d3kn7k4_.dbf
input datafile file number=00006 name=/data/oracle/oradata/ora11g/ORA11G_P/datafile/o1_mf_yangtk_3g73q02m_.dbf
input datafile file number=00004 name=/data/oracle/oradata/ora11g/ORA11G_P/datafile/o1_mf_users_3d37bq45_.dbf
channel ORA_DISK_1: starting piece 1 at 10-NOV-07
channel ORA_DISK_1: finished piece 1 at 10-NOV-07
piece handle=/data1/backup/1oj0m784_1_1 tag=REGULAR_BACKUP_071211 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:02:56
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 10-NOV-07
channel ORA_DISK_1: finished piece 1 at 10-NOV-07
piece handle=/data1/backup/1pj0m7e0_1_1 tag=REGULAR_BACKUP_071211 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 10-NOV-07
使用指令碼雖然很方便,但是不夠靈活,有的時候希望更改一些引數,甚至是動態輸入一些引數。11g新增的替換變數功能使得這種需求可以很簡單的實現。
首先建立一個RMAN命令檔案:
[oracle@yangtk ~]$ vi rman_command.cmd
run
{
allocate channel c1 device type disk format '/data1/&1/%U';
backup database tag &2;
}
這樣在rman中就可以直接呼叫了:
[oracle@yangtk ~]$ rman target /
Recovery Manager: Release 11.1.0.6.0 - Production on Sat Nov 10 07:49:33 2007
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: ORA11G (DBID=4026820313)
RMAN> @rman_command.cmd 'backup' 'tag_var_071211'
RMAN> run
2> {
3> allocate channel c1 device type disk format '/data1/backup/%U';
4> backup database tag tag_var_071211;
5> }
using target database control file instead of recovery catalog
allocated channel: c1
channel c1: SID=106 device type=DISK
Starting backup at 10-NOV-07
channel c1: starting full datafile backup set
channel c1: specifying datafile(s) in backup set
input datafile file number=00001 name=/data/oracle/oradata/ora11g/ORA11G_P/datafile/o1_mf_system_3d3795py_.dbf
input datafile file number=00002 name=/data/oracle/oradata/ora11g/ORA11G_P/datafile/o1_mf_sysaux_3d379f1s_.dbf
input datafile file number=00003 name=/data/oracle/oradata/ora11g/ORA11G_P/datafile/o1_mf_undotbs1_3d379k48_.dbf
input datafile file number=00005 name=/data/oracle/oradata/ora11g/ORA11G_P/datafile/o1_mf_yangtk_3d3kn7k4_.dbf
input datafile file number=00006 name=/data/oracle/oradata/ora11g/ORA11G_P/datafile/o1_mf_yangtk_3g73q02m_.dbf
input datafile file number=00004 name=/data/oracle/oradata/ora11g/ORA11G_P/datafile/o1_mf_users_3d37bq45_.dbf
channel c1: starting piece 1 at 10-NOV-07
channel c1: finished piece 1 at 10-NOV-07
piece handle=/data1/backup/1tj0m9lh_1_1 tag=TAG_VAR_071211 comment=NONE
channel c1: backup set complete, elapsed time: 00:03:38
channel c1: starting full datafile backup set
channel c1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel c1: starting piece 1 at 10-NOV-07
channel c1: finished piece 1 at 10-NOV-07
piece handle=/data1/backup/1uj0m9sk_1_1 tag=TAG_VAR_071211 comment=NONE
channel c1: backup set complete, elapsed time: 00:00:03
Finished backup at 10-NOV-07
released channel: c1
RMAN>
RMAN> **end-of-file**
RMAN>
這種變數替換還可以使用在SCRIPTS中。這裡就不描述了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-69537/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RAC備份恢復之Voting備份與恢復
- 備份與恢復:polardb資料庫備份與恢復資料庫
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- mydumper備份恢復
- Mysql備份恢復MySql
- 備份和恢復
- 詳解叢集級備份恢復:物理細粒度備份恢復
- MySQL備份與恢復——基於MyDumper/MyLoader 邏輯備份恢復MySql
- Mysql備份與恢復(1)---物理備份MySql
- rman 增量備份恢復
- Jenkins備份與恢復Jenkins
- Postgresql 備份與恢復SQL
- MySQL 備份與恢復MySql
- KunlunDB備份和恢復
- RMAN備份恢復技巧
- redis 備份和恢復Redis
- Grafana 備份恢復教程Grafana
- 【PG備份恢復】pg_basebackup 多表空間備份恢復測試
- MySQL備份與恢復——基於OUTFILE /LOAD DATA 邏輯備份恢復MySql
- MySQL 非常規恢復與物理備份恢復MySql
- Mysql備份與恢復(2)---邏輯備份MySql
- 使用 Android 備份和恢復功能留住使用者Android
- SqlServer備份和恢復(二)SQLServer
- Oracle 備份 與 恢復 概述Oracle
- Oracle 備份恢復之 FlashbackOracle
- SqlServer 備份和恢復(一)SQLServer
- 【MySQL】MySQL備份和恢復MySql
- DB的備份與恢復
- ORACLE備份&恢復案例(轉)Oracle
- GitLab的備份與恢復Gitlab
- 資料庫備份恢復資料庫
- RMAN備份異機恢復
- tore 命令來恢復備份
- 賦能雲HBase備份恢復 百T級別資料量備份恢復支援
- GitLab的自動備份、清理備份與恢復Gitlab
- RMAN備份恢復典型案例——異機恢復未知DBID
- innobackupex 部分表備份和恢復
- 備份與恢復oracle_homeOracle
- OceanBase物理備份恢復實踐