`
hunaifei2008
  • 浏览: 26708 次
  • 性别: Icon_minigender_1
  • 来自: 烟台
社区版块
存档分类
最新评论

简单的oracle备份恢复批处理文件 -- 转

阅读更多

建议一: 

利用任务计划、批处理文件和ORACLE的EXP导出功能,可以根据日期自动生成ORACLE备份文件,大大方便了ORACLE数据备份。: 
1、建立批处理文件backup.bat\. 
exp system/manager file=d:\backup\oracle\oracle%date:~0,10%.dmp owner=system log=d:\backup\oracle\oracle%date:~0,10%.log 
将生成oracle2006-01-09.dmp文件 
exp system/manager file=d:\backup\oracle\oracle%date:~11,3%.dmp owner=system log=d:\backup\oracle\oracle%date:~11,3%.log 
将生成oracle星期一.dmp文件,则每周循环保留一个备份文件,共7个备份文件循环 
2、添加一个任务计划 
利用任务计划向导,根据备份策略设置自动执行任务的时间频率(例如每天零时),执行d:\oracle\backup.bat 
3、以后每天将在目录中生成形如“oracle2005-08-31.dmp和oracle2005-08-31.log”的备份和日志文件。 
说明: 
1、%date%的值在不同的系统、语言版本下可能是不一样的,控制面板里面区域选项的设定也会改变%date%的值。请先在命令行中测试 echo %date% 的返回值。%date:~4,10% 是返回日期函数,~后的第一个参数是要截取的起始位置(从0开始),第二个参数是要截取的长度,如没有则是截取到最后,参数可酌情修改。 

C:\>echo %date:~-3% 
星期三 
这里面的负数代表倒数,也就取最后3个字符 
C:\>echo %date:~-3,-1% 
星期 
这里的-1是不输出最后1个字符-2当然是2个类推
 
2、如需要准确的时间做为文件名,请用%time%函数,参数同上。 


rem CODE BY t0nsha 
rem 关于提取date,time输出结果的一个批处理 
rem “:”(冒号)和“~”波浪号必不可少! 
rem “~”后的数字:为正数表示舍弃输出结果的前几位;直接跟负数表示取到输出结果的后第几位。 
rem “,”后的数字:为正数表示取到输出结果的前第几位;为负数表示舍弃输出结果的后几位。 
rem %date:~begin,length%echo %date% 
echo %date:~4% 
::下行表示舍弃前0位,取到第10位(即取输出结果的前10位) 
echo %date:~0,10% 
echo %date:~4,-5% 
pause 
echo %time% 
echo %time:~-3% 
echo %time:~2,-3% 
pause 
echo %date:~4% %time:~0,-3% 
pause 


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/larntin2002/archive/2009/08/14/4446611.aspx 
建议二: 

@echo off 
set filename=e:\data_bak\%date:~8,2%日 
exp userid=user/pass@esdata file=%filename%.dmp owner=user INDEXES=y grants=y constraints=y compress=y log=%filename%.log 
rar a %filename%.rar %filename%.* 
del %filename%.dmp 
del %filename%.log 
放计划任务里面定时执行, 
文件名以日期的day部分来命名 
备份后调用rar进行压缩 
这样可以保存一个月的历史数据 
注意:需要把program files/winrar目录下的rar.exe拷贝到系统system32目录下 
如果是以星期命名,则需要将set filename=e:\data_bak\%date:~8,2%日修改为 
set filename=e:\data_bak\%date:~0,3% 

建议三: 

以下为ORACLE 自动备份批处理文件内容,请配合任务计划实现 

@ECHO OFF 
SET BACKPATH=d:\ 
ECHO 准备备份数据库 
REM 7天一个循环 
IF EXIST %BACKPATH%\ONE GOTO ONE 
IF EXIST %BACKPATH%\TWO GOTO TWO 
IF EXIST %BACKPATH%\THREE GOTO THREE 
IF EXIST %BACKPATH%\FOUR GOTO FOUR 
IF EXIST %BACKPATH%\FIVE GOTO FIVE 
IF EXIST %BACKPATH%\SIX GOTO SIX 
IF EXIST %BACKPATH%\SEVEN GOTO SEVEN 
ECHO E > %BACKPATH%\ONE 

:ONE 
SET BACKPATH_FULL=%BACKPATH%\ONE 
REN %BACKPATH%\ONE TWO 
GOTO BACK 
:TWO 
SET BACKPATH_FULL=%BACKPATH%\TWO 
REN %BACKPATH%\TWO THREE 
GOTO BACK 
:THREE 
SET BACKPATH_FULL=%BACKPATH%\THREE 
REN %BACKPATH%\THREE FOUR 
GOTO BACK 
:FOUR 
SET BACKPATH_FULL=%BACKPATH%\FOUR 
REN %BACKPATH%\FOUR FIVE 
GOTO BACK 
:FIVE 
SET BACKPATH_FULL=%BACKPATH%\FIVE 
REN %BACKPATH%\FIVE SIX 
GOTO BACK 
:SIX 
SET BACKPATH_FULL=%BACKPATH%\SIX 
REN %BACKPATH%\SIX SEVEN 
GOTO BACK 
:SEVEN 
SET BACKPATH_FULL=%BACKPATH%\SEVEN 
REN %BACKPATH%\SEVEN ONE 
GOTO BACK 
:BACK 
EXP TESTUSER/TEST FILE=%BACKPATH_FULL%.DMP 
SET BACKPATH= 
SET BACKPATH_FULL= 
EXIT 

建议四: 

RMAN TARGET=RMAN/RMAN@ORCL < C:\RMAN.TXT 

建议五: 

在文本里编辑cmd命令。然后保存成bat文件。在windows中定义任务计划,就 
可以自动执行了。 
例: 

   编辑文本文件 
   del c:\exp\*.dmp 
   exp userid=cw/cw@db file='c:\exp\*.dmp' tables=(student) 
保存成bat文件 

建议六: 

写个简单的批处理文件备份恢复: 
备份: 
@echo off                        不显示命令行 

echo 开始备份表.....                       打印信息                
D:                                                                      DOS切换到D: 盘 
cd oracle\ora92\bin                          切换到cd oracle\ora92\bin目录 
exp 用户名/密码@数据库 file=d:\config_bak.dmp tables=(table1,table2)      备份表一表二到d:\config_bak.dmp 
echo 备份完毕! 

恢复: 
@echo off            

echo 开始恢复表.....                      
D: 
cd oracle\ora92\bin 
imp 用户名/密码@数据库 file=d:\config_bak.dmp tables=(table1,table2) ignore=y   
sqlplus /nolog @oraStartup.sql>>oraStartup.log 调用sql文件 
pause                                                                 执行完sql文件以后暂停,看信息 
echo 恢复完毕! 

编写oraStartup.sql 
conn 用户名/密码@数据库 as sysdba 
select * from table1; 
quit; 

       


执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, 
DOS中可以执行时由于 在oracle 8i 中 安装目录\ora81\BIN被设置为全局路径, 
该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。 
oracle用java编写,我想SQLPLUS.EXE、EXP.EXE、IMP.EXE这俩个文件是被包装后的类文件。 
SQLPLUS.EXE调用EXP.EXE、IMP.EXE他们所包裹的类,完成导入导出功能。 

  下面介绍的是导入导出的实例,向导入导出看实例基本上就可以完成,因为导入导出很简单。 
数据导出: 
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中 
exp system/manager@TEST file=d:\daochu.dmp full=y 
2 将数据库中system用户与sys用户的表导出 
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys) 
3 将数据库中的表table1 、table2导出 
exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2) 
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出 
exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\" 

上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。 
不过在上面命令后面 加上 compress=y 就可以了 

  数据的导入 
1 将D:\daochu.dmp 中的数据导入 TEST数据库中。 
imp system/manager@TEST file=d:\daochu.dmp 
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。 
在后面加上 ignore=y 就可以了。 
2 将d:\daochu.dmp中的表table1 导入 
imp system/manager@TEST file=d:\daochu.dmp tables=(table1) 

 导入 
基本上上面的导入导出够用了。不少情况我是将表彻底删除,然后导入。 



原文地址:http://www.cnblogs.com/huhu456/archive/2009/05/09/1453443.html 

http://hi.baidu.com/tylzyoudi/blog/item/bdd80a13c3399f856438db72.html

分享到:
评论

相关推荐

    简单的oracle备份恢复批处理文件

    多种数据库备份批处理方法!!值得学习下载。几种对比方法很实用。

    oracle备份恢复的批处理文件

    oracle备份恢复的批处理文件,直接按例子,就可以备份恢复数据库

    oracle数据库备份还原BAT脚本

    通过在bat文件中直接修改数据库的登录名密码以及备份文件存放的路径等,然后直接执行即可备份文件(注意此备份为所有用户全量备份),也可以放在windows的计划任务当中定时执行。

    RMAN备份与恢复

    5.1 编写rman批处理文件 20 5.2 编写dos批处理 20 5.3 设定执行计划 24 第六篇 RMAN恢复实例 24 6.1 对数据库进行完全介质恢复 24 6.2 恢复表空间 25 6.3 恢复数据文件 25 6.4 丢失控制文件的恢复 25 第七篇 实例:...

    ORACLE9i_优化设计与系统调整

    §1.2 Oracle文件 26 §1.2.1 数据文件 26 §1.2.2 控制文件 26 §1.2.3 重做日志文件 26 §1.2.4 其它支持文件 26 §1.3 数据块、区间和段 28 §1.3.1 数据块(data block) 28 §1.3.2 区间(extent) 28 §1.3.3 ...

    网管教程 从入门到精通软件篇.txt

    BAT:批处理文件 BIN:二进制文件 BINHex:苹果的一种编码格式 BMP:Windows或OS/2位图文件 BOOK:Adobe FrameMaker Book文件 BOX:Lotus Notes的邮箱文件 BPL:Borlard Delph 4打包库 BSP:Quake图形文件 ...

    oracle数据库dba管理手册

    1.8.1 备份/恢复功能 22 1.8.2 安全性能 23 1.8.3 典型数据库逻辑设计 24 1.8.4 典型数据库物理设计 24 1.9 逻辑模型约定 25 1.9.1 一对一关系 25 1.9.2 一对多关系 26 1.9.3 多对多关系 26 1.10 创建数据库 27 ...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    书名:《Java开发实战1200例(第I卷)》(清华大学出版社.李钟尉,陈丹丹) PDF格式扫描版,全书分为24章,共817页。...实例269 文件选择对话框指定数据库备份文件 342 实例270 指定打开对话框的文件类型 343 ...

    Linux系统故障诊断与排除--James Kirkland

    第9章讲解了系统备份与恢复中如何诊断常见问题的知识;第10章至第15章介绍了Linux系统其他方面的故障诊断与排除技巧,包括打印问题、安全问题、网络问题、登录问题等。  本书适用于Linux系统管理员及高级用户,对...

    AWS 白皮书 — 产品.zip

    使用AWS的备份和恢复方法pdf 使用 Amazon ElastiCache提高规模性能,pdf 使用 Amazon Elastic File Systen加密文件数据pdf 使用 Amazon Elasticsearch Service记录和监控(几乎)所有资源,pdf 使用 Amazon kinesis流式...

    Java学习笔记-个人整理的

    {1.13.3}打包备份与恢复}{42}{subsection.1.13.3} {1.13.3.1}\texttt {tar},\texttt {gzip}}{42}{subsubsection.1.13.3.1} {1.13.3.2}\texttt {zip}}{42}{subsubsection.1.13.3.2} {1.13.3.3}文本创建与编辑}{43...

    精通sql结构化查询语句

    3.3.1 修改数据库语法 3.3.2 使用SQL语句修改数据库 3.4 管理数据库 3.4.1 扩充与压缩数据库 3.4.2 导入与导出数据 3.4.3 数据库的备份与恢复 3.4.4 使用sp_helpdb查看数据库信息 3.5 小结第4章 数据表的相关操作 ...

Global site tag (gtag.js) - Google Analytics