一个冷备份的自动执行脚本
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,花了一天多时间,捣鼓出一个SQL 脚本,用于执行ORACLE自动冷备份。记录如下:set echo off --关闭命令回显,但会显示执行后
千家信息网最后更新 2025年11月07日一个冷备份的自动执行脚本
花了一天多时间,捣鼓出一个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安全错误
数据库的锁怎样保障安全
数据库营销的分析报告
海康vrm录像管理服务器
数据库建立索引能不能修改记录
邯郸互联网软件开发怎么样
三河市城宽网络技术有限公司
连接多个数据库的系统
服务器的瓶颈
工程数据库的应用
网络技术跟it是一样吗
网络技术支持qq找回
微博网络安全管理局
河南涛发网络技术有限公司
自助下单返点软件开发
达梦数据库查询历史执行记录
服务器图片福字图片
elk可以替代关系型数据库吗
排列五历史开奖数据库
网络安全手抄报幼儿图片
济南软件开发公司工资
软件开发工程招聘
数据库窗口帮助信息
热点需要网络安全密钥是什么
华生网络技术有限公司
软件开发知识结构图
软件工程网络安全方向前景
中国互联网商务服务器
数据库的实训报告作文
光网络技术课程报告
网络安全与技术 文献
根河软件开发项目管理在线咨询