--==============================
-- 基于catalog 创建RMAN存储脚本
--==============================
简言之,将rman的备份恢复命令写成脚本并保存在恢复目录内,恢复目录内的脚本可用性及通用性高于基于文件系统的脚本。
客户端只要能够登录到RMAN恢复目录,则这些脚本可用,尤其对于global脚本,可以被任意注册的数据库调度。
一、脚本的分类
local : 在rman连接的目标数据库下创建的脚本,此类脚本仅仅适用于当前目标数据库。即是针对特定的数据库创建的rman脚本
global : 能够在恢复目录注册的任意目标数据库中执行
二、创建脚本
--创建全局备份脚本
RMAN> create global script global_full_backup
2> comment 'A script for full backup to be used with any database'
3> {
4> backup database
5> plus archivelog
6> tag='Whole_db_bk';
7> delete obsolete;
8> }
created global script global_full_backup
--创建本地备份脚本
RMAN> create script full_backup
2> comment 'A script for full backup to be used with current target database'
3> {
4> backup as compressed backupset
5> database plus archivelog delete input
6> tag='Whole_db_bk';
7> delete obsolete;
8> }
created script full_backup
--从文本文件创建脚本
[oracle@oradb bk]$ cat backup_ctl_spfile --注意文本文件必须以"{" 开头,以"}" 结尾
{
allocate channel ch1 device type disk;
backup current controlfile
tag='ctl_spfile'
format '/u01/oracle/bk/rmbk/ctl_spfile_%d_%U';
release channel ch1;
}
RMAN> create script ctl_spfile_bk from file '/u01/oracle/bk/rmbk/backup_ctl_spfile';
script commands will be loaded from file /u01/oracle/bk/rmbk/backup_ctl_spfile
created script ctl_spfile_bk
三、查看脚本的内容
print [global] script script_name
print [global] script script_name to file '<dir>' --将RMAN存储脚本转换到文件系统可读文件
RMAN> print script ctl_spfile_bk;
printing stored script: ctl_spfile_bk
{
allocate channel ch1 device type disk;
backup current controlfile
tag='ctl_spfile'
format '/u01/oracle/bk/rmbk/ctl_spfile_%d_%U';
release channel ch1;
}
RMAN> print script ctl_spfile_bk to file '/u01/oracle/bk/rmbk/backup_ctl_spfile2';
script ctl_spfile_bk written to file /u01/oracle/bk/rmbk/backup_ctl_spfile2
查看当前恢复目录内的脚本
list [global | all] script names
RMAN> list script names;
List of Stored Scripts in Recovery Catalog
Scripts of Target Database ORCL
Script Name
Description
-----------------------------------------------------------------------
ctl_spfile_bk
full_backup
A script for full backup to be used with current target database
Global Scripts
Script Name
Description
-----------------------------------------------------------------------
global_full_backup
A script for full backup to be used with any database
四、更新脚本
replace [global] script scrip_name {....}
replace [global] script script_name from file '<dir>' --从文件更新脚本
RMAN> replace global script global_full_backup
2> {
3> backup as compressed backupset database plus archivelog
4> tag='whole_db_bk';
5> delete obsolete;
6> }
replaced global script global_full_backup
五、执行脚本
方法:RUN { EXECUTE [global] SCRIPT script_name; }
从rman客户端直接执行恢复目录内的脚本
rman target sys/redhat@orcl catalog rman/rman@asmdb script 'script_name';
RMAN> run { execute global script global_full_backup;}
executing global script: global_full_backup
六、删除脚本
delete [global] script script_name
RMAN> delete script ctl_spfile_bk;
deleted script: ctl_spfile_bk
七、其它
注意:使用EXECUTE SCRIPT, DELETE SCRIPT ,PRINT SCRIPT等命令时,如果一个本地的脚本未找到,则寻找全局的脚本来代替。
因此应当注意命名规范,尽可能的不使用重名的脚本名,当DELETE SCRIPT 找不到本地脚本,而找到同样名字的全局脚本,则全局
脚本被删除
八、更多参考
有关基于用户管理的备份和备份恢复的概念请参考:
Oracle 冷备份
Oracle 热备份
Oracle 备份恢复概念
Oracle 实例恢复
Oracle 基于用户管理恢复的处理(详细描述了介质恢复及其处理)
有关RMAN的恢复与管理请参考:
RMAN 概述及其体系结构
RMAN 配置、监控与管理
RMAN 备份详解
RMAN 还原与恢复
有关Oracle体系结构请参考:
Oracle 实例和Oracle数据库(Oracle体系结构)
Oracle 表空间与数据文件
Oracle 密码文件
Oracle 参数文件
Oracle 数据库实例启动关闭过程
Oracle 联机重做日志文件(ONLINE LOG FILE)
Oracle 控制文件(CONTROLFILE)
Oracle 归档日志
分享到:
相关推荐
实际生产数据库中可以使用的rman备份脚本。写得很不错,dba可以下来学习研究
【RMAN】RMAN脚本中使用替换变量--windows 下rman全备脚本【RMAN】RMAN脚本中使用替换变量--windows 下rman全备脚本【RMAN】RMAN脚本中使用替换变量--windows 下rman全备脚本
Oracle Rman备份脚本For Windows
Oracle 11g rman备份脚本 线上环境,
RMAN Catalog创建、配置和管理
oracle rman备份的脚本,公司近段时间改用rman备份。大家可以看看
RMAN备份脚本 详细记录操作语句 。。。。。。。。。。。
window oracle rman 增量备份脚本
oracle 数据库 rman 备份脚本
rman备份脚本,已通过生产环境和测试环境的测试。可直接套入生产环境。
oracle rac的rman备份脚本,非常具有参考价值
oracle rman备份脚本
crond 执行ORACLE rman备份脚本失败的几种情况及解决
oracle rman 增量自动备份脚本,只需要在crontab添加脚本即可。
Linux环境下rman备份的实例脚本
RMAN备份脚本,set oracle_sid=XX rman target / msglog D:\oracleBAK\oracleBackupScript\logs\%date:~0,4%-%date:~5,2%-%date:~8,2%.log cmdfile=D:\oracleBAK\oracleBackupScript\database_backup_hrdb_all.rman ...
Oracle RMAN基于catalog-配置与使用指南.docx
RMAN全备脚本,我们公司搭用的oracle rac,所以ASM备份恢复通过rman实现,已实践!
oracle rman占用磁盘空间,利用Windows计划任务执行该脚本释放空间,脚本内相关路径需根据实际情况进行更改