一个冷备份的自动执行脚本
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,花了一天多时间,捣鼓出一个SQL 脚本,用于执行ORACLE自动冷备份。记录如下:set echo off --关闭命令回显,但会显示执行后
千家信息网最后更新 2026年11月02日一个冷备份的自动执行脚本
花了一天多时间,捣鼓出一个SQL 脚本,用于执行ORACLE自动冷备份。记录如下:
set echo off --关闭命令回显,但会显示执行后的命令。set serveroutput on --返回结果,如果关闭,将无法把结果传到下一个文件。set escape on --打开转义符功能,否则遇到/无法进行。set heading off --关闭结果标题行显示set line 300 --设置返回结果显示宽度,避免遇到结果跨行后sed命令取结果不完整。ho mkdir $ORACLE_HOME/`date +%Y_%m_%d` --创建存放备份文件的目录,以当天日期命名。要保证与下面SQL中目录一致。spool /tmp/bak1.sqldeclare --声明一个变量。用于接收当前日期的值。v_time varchar2(30);beginselect to_char(sysdate,'yyyy_mm_dd') into v_time --获取当天日期。from dual;dbms_output.put_line('select ''ho cp ''\|\|name\|\|'' $ORACLE_HOME\/'||v_time||''' from v$controlfile;');dbms_output.put_line('select ''ho cp ''\|\|name\|\|'' $ORACLE_HOME\/'||v_time||''' from v$datafile;');dbms_output.put_line('select ''ho cp ''\|\|member\|\|'' $ORACLE_HOME\/'||v_time||''' from v$logfile;');dbms_output.put_line('select ''ho cp ''\|\|name\|\|'' $ORACLE_HOME\/'||v_time||''' from v$tempfile;');dbms_output.put_line('create pfile=''$ORACLE_HOME\/'||v_time||'\/init$ORACLE_SID.ora'' from spfile;');dbms_output.put_line('ho cp $ORACLE_HOME\/dbs\/orapw$ORACLE_SID $ORACLE_HOME\/'||v_time);end;/spool off --以上通过获取日期后,得到带有日期值的完整的SQL原始语句和一些结果说明语句。 --以下获取纯净的用来执行的原始SQL语句。ho sed -n '/select/p' /tmp/bak1.sql >/tmp/bak2.sqlho sed -n '/^create/p' /tmp/bak1.sql >>/tmp/bak2.sqlho sed -n '/^ho cp/p;' /tmp/bak1.sql >>/tmp/bak2.sql--以下用来将原始SQL语句执行得到SQLPLUS语句,并备份了参数文件和密码文件,以及结果说明语句。spool /tmp/bak3.sqlstart /tmp/bak2.sqlspool offho sed -n '/^ho cp/p' /tmp/bak3.sql >$ORACLE_HOME/back.sql --过滤掉无用的结果说明语句。获取最终有用的SQLPLUS命令。shutdown immediate --关闭数据库进行冷备。start $ORACLE_HOME/back.sqlstartupho rm /tmp/bak*.sql $ORACLE_HOME/back.sql --删除临时生成的执行脚本。说明:1.SQL下获取当前日期值,并应用到SQLPLUS命令的目录中是一个难点,折腾了一天。
2.sed命令可以用sed -i来简化生成的过渡性sql脚本。
3.应该可以在SQLPLUS下定义变量并赋予当天日期值,再运用到其他备份命令中,暂时没搞成功,回头有时间再研究。
4.这是为了学习而搞得一个SQL脚本,或许用系统shell脚本来做,会更简洁有效。下一步再做一个系统shell脚本。
结果
命令
日期
语句
脚本
备份
文件
原始
目录
变量
时间
系统
生成
有效
简洁
一致
成功
纯净
功能
参数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网是第几次科技革命的成果
新华互联网科技学院
深圳科技互联网
杭州互联网科技公司
互联网科技缩写
睿民互联网科技
互联网科技股有哪些
互联网金融监管科技
美国互联网前沿科技
荆州市昕露互联网络科技有限公司
杭州壁岐互联网科技有限公司
互联网科技研发水平
互联网科技的全部知识
深圳艾果互联网通讯科技
高科技互联网发展前景如何
互联网时代的科技公司
怎样加入科技互联网
35岁以上互联网科技行业
陕西九四连强互联网科技有限公司
黑龙江互联网科技公司
互联网科技园
伟宏互联网科技
互联网科技有限公司经营范围
速维有品互联网信息科技(苏州)有限公司
广西互联网科技孵化中心
上海科技产业互联网平台
互联网科技年终奖
广州互联网高科技取餐柜
云南互联网科技学费
科技发展第三阶段互联网时代