Useful and Simple srcipts for Oracle CoolBackup
2014-01-16 14:55
344 查看
Useful and Simple srcipts for Oracle CoolBackup
过去很少有机会需要在生产环境中使用冷备。而且在大家印象中,拷贝也是很简单的事情。但事实上,客户的环境可能“千变万化”或者规划不清晰的时候,我们很容易漏掉其中的某个部分,准备的脚本无法通用,临时编辑,查找漏掉的文件,记录已经拷贝的文件.......而手忙脚乱。因此即使是冷备,我们也需要通用,简单、可靠的方法。 这次临时准备的脚本,在 Dataguard Disaster Recovery test 中帮我省了很多麻烦。
set feedback off; -- 禁止回显sql命令处理的记录条数(缺省为on)
set heading off; -- 禁止输出标题(缺省为on)
set trimspool on; -- 去除spool输出结果中每行的结尾空格(缺省为on)
set pagesize 0; -- 禁止分页输出
set linesize 1000; -- 设置每行的字符输出个数为1000,放置换行(缺省为80 )
set echo off; -- 不显示脚本中的每个sql命令(缺省为on)
冷备存放的目录最好单独创建,每个database存放在单独的目录:
mkdir -p /u01/coolbackup/test3/ --need modify!!
mkdir -p /u01/coolbackup/DB2/ --need modify!!
mkdir -p /u01/coolbackup/DB3/ --need modify!!
冷备:
vi /u01/coolbackup/lb_test3.sql --need modify!!
set feedback off verify off trimspool off
set heading off
set pagesize 0
set linesize 200
define dir='/u01/coolbackup/test3/' --need modify!!
define lb='/u01/coolbackup/lb_test3.sh' --need modify!!
spool &lb
select '! cp ' || name || ' &dir' from v$datafile order by 1;
select '! cp ' || member || ' &dir' from v$logfile order by 1;
select '! cp ' || name || ' &dir' from v$controlfile order by 1;
select '! cp ' || name || ' &dir' from v$tempfile order by 1;
spool off
shutdown immediate
@&lb
Startup mount
冷备恢复: (注意从字符串右侧开始检测特定字符的方法)
vi /u01/coolbackup/lhf_test3.sql --need modify!!
set feedback off verify off trimspool off
set heading off
set pagesize 0
set linesize 200
define dir='/u01/coolbackup/test3/' --need modify!!
define lhf='/u01/coolbackup/lhf_test3.sh' --need modify!!
spool &lhf
select '! cp '|| ' &dir' || substr(name,instr(name,'/',-1,1)+1,100)||' '||substr(name,1,instr(name,'/',-1,1)) from v$datafile order by 1;
select '! cp '|| ' &dir' || substr(member,instr(member,'/',-1,1)+1,100)||' '||substr(member,1,instr(member,'/',-1,1)) from v$logfile order by 1;
select '! cp '|| ' &dir' || substr(name,instr(name,'/',-1,1)+1,100)||' '||substr(name,1,instr(name,'/',-1,1)) from v$controlfile order by 1;
select '! cp '|| ' &dir' || substr(name,instr(name,'/',-1,1)+1,100)||' '||substr(name,1,instr(name,'/',-1,1)) from v$tempfile order by 1;
spool off
shutdown immediate
@&lhf
Startup mount
这样不管数据文件、控制文件、在线日志、standby日志被扔到那个角落,我们全部可以准确找到其位置并拷贝至指定目录,或者将备份文件准确的放回原路径。
一个脚本可多次重复执行是很重要的。当然这也完全没有问题。
特此记录。
参考:
练习冷备份时的杂想
相关文章推荐
- Useful and Simple srcipts for Oracle CoolBackup
- A simple HTTP PHP class to crawl a URL for internal and external URLs
- [转]simple sample to create and use widget for nopcommerce
- Installing PHP and the Oracle Instant Client for Linux and Windows For PHP 5.5, OCI8 2.0 and Oracle
- Running WFSTAT and WFRETRY For Oracle Purchasing Workflows (文档 ID 134960.1) 转到底部转到底部 In this Docum
- ASM using ASMLib and Raw Devices (for oracle 10g)【不错的图文讲解】
- Shortcut Keys for Oracle EBS Forms and MSCA
- I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum o
- Install Grid Infrastructure and Oracle Database SW for Standalone
- UDEV SCSI Rules Configuration for ASM in Oracle Linux 5 and 6
- THE DEAD-SIMPLE STEP-BY-STEP GUIDE FOR FRONT-END DEVELOPERS TO GETTING UP AND RUNNING WITH NODE.JS,
- How to Determine the Version of Oracle XML Publisher for Oracle E-Business Suite 11i and Release 12 (Doc ID 362496.1)
- Creating a simple Pivot table using LINQ and Telerik RadTreeView for Silverlight
- Some useful link for Serial Listen and Forward
- Tools for Installing, Configuring, and Managing Oracle RAC
- How to setup linked servers for SQL Server and Oracle 64 bit client
- Oracle Linux6.3 Package Requirements for Oracle Grid Infrastructure and Oracle RAC
- SSH + Oracle 整合问题之六 There is no Action mapped for namespace / and action name open.
- Oracle database operating system memory allocation management for PGA – part 4: Oracle 11.2.0.4 and
- DropBand:A Simple and Effective Method for Promoting the VHR Scene Classification Accuracy of CNN