logo资料库

Oracle自动备份存储过程脚本及过程详解.docx

第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
资料共7页,全文预览结束
Oracle 自动备份存储过程实施过程 在 D:\export\下建立一个 sql 脚本,填写内容如下。PS(例子请看最后) 1. SET echo off ; SET heading SET feedback SPOOL 'D:/export/EXP.SQL' SELECT CASE off ; off ; WHEN LINE = 1 THEN 'CREATE OR REPLACE ' || TEXT WHEN LINE = MAX_LINE THEN TEXT || CHR(10 ) || '/' ELSE TEXT END FROM USER_SOURCE A LEFT JOIN (SELECT A.NAME,A.TYPE, MAX(LINE) MAX_LINE FROM USER_SOURCE A WHERE TYPE in ( 'PROCEDURE', 'PACKAGE' ,'PACKAGE BODY' ) GROUP BY A.NAME,A.TYPE ) B ON A.NAME||A.TYPE = B.NAME||B.TYPE WHERE A.TYPE in ('PROCEDURE' , 'PACKAGE', 'PACKAGE BODY' ) ORDER BY a.NAME||a.TYPE , LINE; SPOOL OFF exit; 2. 在 dos 界面中执行上面写好的 sql 脚本,测试能否跑通 如图
表示没问题 3. 在建好的 sql 脚本的目录下在建一个批处理文件 如图 (注,两个文件要放在一起) 4. 批处理文件内容如下 @echo off set BACKUP_DIR=D:\export\
set ORACLE_USERNAME=’’ set ORACLE_PASSWORD=qxsj_1024 set ORACLE_DB=TZDM_DM1 set RAR_CMD="C:\Program Files\WinRAR\Rar.exe" for /f "tokens=1,2" %%a in ('date/t') do set TODAY=%%a rem ----------------------------登陆数据库 sqlplus %ORACLE_USERNAME%/%ORACLE_PASSWORD%@%ORACLE_DB% @%BACKUP_DIR%export.sql > export.log rem ---------------------压缩 %RAR_CMD% a -df "%BACKUP_DIR%export%date:~0,4%-%date:~5,2%-%date:~8,2%.rar" "%BACKUP_DIR%EXP.SQL" "%BACKUP_DIR%export.log" Exit 3.双击 bat 文件手动备份,看能否跑成功,不成功,可能原因如下 1. 查看文件路径是否建立 2. 查看压缩路径是否正确 3. 查看数据库数据名密码实例名是否正确 4. 查看导出路径是否有问题
4.如果成功进行下一步 打开控制面板,找到任务计划,选择创建基本任务 自己要创建的名称和,描述 根据实际情况选择,一般是选每天
选择开始的执行计划的时间 点击浏览,找到 bat 文件,点击打开 最后查看是否正确,点击完成
注意事项:
PS(Sql 脚本不用做任何修改,直接复制粘贴) Sql 脚本: SET echo off ; SET heading SET feedback SPOOL 'D:/export/EXP.SQL' SELECT CASE off ; off ; WHEN LINE = 1 THEN 'CREATE OR REPLACE ' || TEXT WHEN LINE = MAX_LINE THEN TEXT || CHR(10 ) || '/' ELSE TEXT END FROM USER_SOURCE A LEFT JOIN (SELECT A.NAME,A.TYPE, MAX(LINE) MAX_LINE FROM USER_SOURCE A WHERE TYPE in ( 'PROCEDURE', 'PACKAGE' ,'PACKAGE BODY' ) GROUP BY A.NAME,A.TYPE ) B ON A.NAME||A.TYPE = B.NAME||B.TYPE WHERE A.TYPE in ('PROCEDURE' , 'PACKAGE', 'PACKAGE BODY' ) ORDER BY a.NAME||a.TYPE , LINE; SPOOL OFF exit; 批处理脚本: @echo off set BACKUP_DIR=D:\export\ set ORACLE_USERNAME=APP set ORACLE_PASSWORD=qxsj_1024 set ORACLE_DB=TZDM_DM1 set RAR_CMD="C:\Program Files\WinRAR\Rar.exe" for /f "tokens=1,2" %%a in ('date/t') do set TODAY=%%a rem ----------------------------登陆数据库 sqlplus %ORACLE_USERNAME%/%ORACLE_PASSWORD%@%ORACLE_DB% @%BACKUP_DIR%export.sql > export.log rem ---------------------压缩 %RAR_CMD% a -df "%BACKUP_DIR%export%date:~0,4%-%date:~5,2%-%date:~8,2%.rar" "%BACKUP_DIR%EXP.SQL" "%BACKUP_DIR%export.log" exit
分享到:
收藏