Oracle备份工具有哪些制作方法?
文将介绍Oracle备份工具的制作方法,主要是用到了大家常用的批处理方法来制作Oracle备份工具。
希望对大家有所帮助。
这是针对Oracle编写的,可以用在不同的电脑上,因为它会自动读取当前电脑的环境变量,从而取得Oracle的安装路径,唯一有一点不足的地方是程序中运行过程中会产生一个中间文本文件,不过这并不碍大事,备份或者还原完了以后将会自动删除产生文本文件,代码如下:@echo off&setlocal enabledelayedexpansion color 0a :start for /f "tokens=2 delims==" %%a in ('path') do ( set "str=%%a" set str=!str: =+! for %%i in (!str!) do ( set "var=%%i" set var=!var:+= ! echo !var!>>change.txt for /f "delims=" %%i in ('findstr "oracle" change.txt') do set var=%%i ) ) set /p choice=1.备份 2.还原 3.按任意键退出: if %choice%==1 goto exp if %choice%==2 goto imp :exp del /q change.txt set /p file=请输入备件数据库的文件名: set /p path=请输入存放的路径(记得输冒号:): "%var%"\exp.exe smhr/smhr file=%path%\%file% full=n set /p choice=1.继续 2.按任意键退出: if %choice%==1 goto start :imp del /q change.txt set /p file=请将要导入的数据库文件拖入窗体内: "%var%"\imp.exe smhr/smhr file=%file% full=y set /p choice=1.继续 2.按任意键退出
Oracle数据备份的方法有哪些?
在oracle 9i中可以方便的把数据导出为文件,或者从文件导入。
通过oracle的管理服务器(oracle management server,oms)可以方便的实现,整个操作过程中有很多地方需要解释说明,但是完整的指导资料不多。
各大论坛上很多所谓的高手,对该主题的回答往往是,高手是不用oms的,用exp/impl吧。
如果你执意追问,他多半会告诉你,其实我也不知道。
如果有一份文档可以傻瓜式的指导他们如何来做,大多数人会欣喜若狂且若无其事的下载保存,回去慢慢研究。
对于这样自以为高手的人,只送他们两个字:鄙视。
使用Enterprise Manager Console登陆的时候,会有两个选项:独立启动和登陆到Oracle Management Server。
前者可以让我们执行一些普通的管理工作,比如管理帐户、数据库对象等,只有后者才能为我们提供备份的功能。
不过在登陆到oms之前,你必须首先安装oms服务。
启动oracle universal installer,查看已安装产品,展开oracle主目录--oraHome92,如果没有oracle9i management and integration,表示你尚未安装。
安装方法是: 在oracle universal installer的可用产品列表中,选择安装oracle 9i management and integration?oracle management server即可。
安装完成后,你需要配置一个管理资料库,启动:Configuration and Migration tools?Enterprise Manager Configuration Assistant。
在配置操作中选择配置本地的oracle management server?创建一个新的资料库档案?典型。
系统将会创建一个名为oemrep的数据库,保存管理信息,其中你需要指定sys和system帐号的密码。
Oracle11g数据压缩技术是怎样的?
Oracle从9i开始羞羞答答的引入表级压缩,一直以来都是像中国的核电站一样,宣传的用处大,论实际的贡献就不怎么样了。
Oracle11g似乎是正儿八经的要推广数据压缩技术了,专门推出了一个叫做Advance Compression的组件,全面支持普通表压缩,非结构化数据压缩(SecureFile数据压缩),Data Pump数据压缩,以及RMAN备份压缩,数据压缩技术从此名正言顺的登上历史舞台。
既然是专门做为一个Option推出,Oracle一定是对该特性相当有信心,所以需要单独为该特性购买License。
在Oracle9i中虽然引入了表压缩,但是有很大的限制。
只能对批量装载操作(比如直接路径装载,CTAS等)涉及的数据进行压缩,普通的DML操作的数据是无法压缩的。
这应该是对于写操作的压缩难题没有解决,一直遗留到Oracle11g,总算是解决了关系数据压缩的写性能问题。
Oracle的表压缩是针对Block级别的数据压缩,主要技术和Oracle9i差不多,还是在Block中引入symbol表,将block中的重复数据在symbol中用一个项表示。
Oracle会对block进行批量压缩,而不是每次在block中写入数据时都进行压缩,通过这种方式,可以尽量降低数据压缩对于DML操作的性能影响。
这样,在block级别应该会引入一个新的参数,用于控制block中未压缩的数据量达到某个标准以后进行压缩操作。
SecureFile也是Oracle11g新推出的一项特性,用于存储非结构化数据。
SecureFile也将支持数据压缩操作。
这样对于传统的LOB字段也可以进行压缩,将极大的减少大型数据库的存储空间需求。
当然,有得比有失,压缩和解压时,对于CPU的要求也将更高。
但是,目前CPU的发展速度明显比IO和存储空间快速的情况下,压缩是大有可为的技术。
通过在压缩率和压缩效率方面的不断提升,以后应该为成为各个数据库的标准配置。
除了对数据库中的数据进行压缩,Advance Compression Option还将支持备份数据的压缩。
做为逻辑备份的Data Pump和物理备份的RMAN工具,都将支持该技术。
在Oracle10gR2中,Data Pump已经开始支持压缩源数据,Oracle11g中则可以直接压缩导出文件,这样导出的时候就可以极大的减少存储空间的需求。
在以前版本中,利用WinRAR等,经常可以将几个G的导出文件压缩到几十M,Oracle11g的白皮书上说压缩率可以达到74.67%,等软件出来,大家可以好好的测试一把。
同样的,Oracle也在10g中开始引入RMAN的压缩技术。
但是Oracle11g号称采用了更先进的ZLIB要所算法,可以比Oracle10g的压缩算法快上40%,空间需求也将减少20%。
除了上述的数据压缩技术,Oracle 11g Advanced Compression Option还将引入另外一种压缩技术。
我们知道在Data Guard中,需要将日志从主库传递到备库。
如果主库的事务很多,则单位时间内需要传递的日志量将相当可观。
如果能将这些日志压缩后在传递,然后在备库解压后应用,将极大的减少对于网络带宽的需求,从而已减少主备库的时间差。
另外,Oracle的bitmap一直就是压缩存储的,10g中的bitmap对于9i就有比较大的改动,通过一些细节的完善,提供更好的性能和更高的稳定性,也是oracle一贯的风格。
对于bitmap在Oracle11g中将如何实现,也将是非常值得关注的一个特点。
oracle数据库如何每天自动执行脚本完成正式数据库到备份数据库的备...
展开全部 楼主:供参考利用任务计划、批处理文件和ORACLE的EXP导出功能,可以根据日期自动生成ORACLE备份文件,大大方便了ORACLE数据备份。
建议一(做周备份并压缩为RAR)以下为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%\ONEREN %BACKPATH%\ONE TWO GOTO BACK :TWO SET BACKPATH_FULL=%BACKPATH%\TWOREN %BACKPATH%\TWO THREE GOTO BACK :THREE SET BACKPATH_FULL=%BACKPATH%\THREEREN %BACKPATH%\THREE FOUR GOTO BACK :FOUR SET BACKPATH_FULL=%BACKPATH%\FOURREN %BACKPATH%\FOUR FIVE GOTO BACK :FIVE SET BACKPATH_FULL=%BACKPATH%\FIVEREN %BACKPATH%\FIVE SIX GOTO BACK :SIX SET BACKPATH_FULL=%BACKPATH%\SIXREN %BACKPATH%\SIX SEVEN GOTO BACK :SEVEN SET BACKPATH_FULL=%BACKPATH%\SEVENREN %BACKPATH%\SEVEN ONE GOTO BACK :BACK EXP ccense/ccense FILE=%BACKPATH_FULL%.DMP RAR a %BACKPATH_FULL%.rar %BACKPATH_FULL%.DMPDEL %BACKPATH_FULL%.DMPSET BACKPATH= SET BACKPATH_FULL= EXIT说明:文件名以星期来命名 备份后调用rar进行压缩 这样可以保存一个星期的历史数据 注意:需要把program files/winrar目录下的rar.exe拷贝到系统system32目录下建议二: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个备份文件循环 $date$日期参数可灵活运用。
【winzip解压软件下载】如何用WinZip压缩软件把多个文件进行归档...
WinRAR和WinZip都是压缩软件,最常用的压缩软件是WinRAR,WinRAR可解压缩或压缩.zip和.rar文件;WinZIP则不能解压或压缩.rar的文件格式。
最好下载WinRAR 3.9。
用WinRAR将多个文件压缩成一个压缩包,方法很简单,选定所有要压缩的文件,然后右键选择WinRAR-添加到压缩文件或者选第二项,就OK了。
请问oracle数据库的数据库备份有几种方式?哪种最好用?
展开全部 Oracle数据库备份方式Oracle的内核提供数据库的备份和恢复机制,SQL*DBA按表空间进行数据的备份和恢复。
Oracle提供两种方式:备份恢复和向前滚动,保证意外故障恢复数据库的一致性和完整性。
1. 备份恢复方式 对数据库的某个一致状态建立副本,并储存在介质上脱机保存,以此作为数据库恢复的基础。
现以Oracle实用程序Export/Import来介绍备份恢复方式。
Export/Import是Oracle提供的两个互补性程序,即卸载和装载。
它们既完成数据库与操作系统文件的互为转载,同时可以有效地回收数据库的碎片,提供不同版本间Oracle 数据传送的手段,进行不同用户间的数据传送。
Export数据卸载,将数据从Oracle写到指定的操作系统文件进行备份。
卸载的对象、内容与数量有三种模式:TABLE MODE(表模式)、USER MODE(用户模式)、FULL DATABASEM ODE(所有数据库模式)。
使用方式既可用交互方式,也可采用命令行方式,以"关键字=值" 将所需信息在命令行中逐一描述来进行卸载。
Export要求用户具有CONNECT或DBA特权。
Import与Export互逆,将操作系统文件重新装载至Oracle数据库中,使用方式如Expo rt。
使用者要求具有CONNECT和RESOURCE特权,且可选择部分或全部装入。
Export/Import非常方便,系统开销小,它的限制是输出的操作系统文件采用专门的压缩方式存放,仅提供给Import使用。
也可采用SQL*PLUS和SQL*LOADER实用工具进行备份。
使用SQL*PLUS的SPOOL命令通过脱机定向输出,使用PLUS格式化结果,形成指定格式的ASCII文件,需要时可用SQL*LOADER 进行加载。
它的方便之处是ASCII文件可以编辑,可方便地加载至其他数据库(如FoxPro、 Sybase中)。
2. 向前滚动方式 Oracle提供向前滚动方式,使建立备份后成功的事务不会丢失。
恢复的基础是数据库的某个一致性状态(即方式1完成的备份恢复),恢复的依据是存档的重作记录文件。
启动重作记录文件方法如下: (1) 启动Oracle; (2) 连接Oracle:CONNECT SYSTEM/PASSWORD; (3) 启动ARCHIVE LOG。
出现介质故障时,可用SQL*DBA的RECOVER命令,利用存档的重作记录文件恢复一个或多个表空间。
RECOVER命令对DATABASE或TABLASPACE进行恢复。
前者要求SQL*DBA START UP已被排斥方式装载且未被打开;后者对无活跃回退段的表空间执行脱机,要求数据库已装载且被打开。
由于向前滚动方式恢复的依据是存档的重作记录文件,因而系统开销大,但恢复的是建立备份以后的成功事务,所以恢复的程度更高、更完备。
IT JOB
oracle 数据库备份用什么软件?
你可以考虑下第三方产品进行备份拿多备份来说,操作就比较简单,备份和恢复都是一键式的:1.登录官网—注册之后进入控制面板—选择开始—选择数据库备份2.出现“你的数据库是否可以远程授权”,选择可以,进入托管模式(除非你的空间不能授权,那就是跳入插件页面)3.进入托管模式之后,选择oracle数据库。
填写好端口,ip,用户名,密码。
,之后设置好存储位置,备份频率,备份时段,然后点击启动备份。
就可以了。
多备份还有客户端,具体你可以到他们官网去了解下
下载了一些您上传的资料,但是用RAR解压缩软件不能对分开上传的资...
我们都知道Oracle的备份有几钟方式,冷备,热备,rman,imp等,我们注意到当我们采取热备的时候,需要对每个要备份的表空间置为backup模式。
通常的热备脚本都是这样的: alter tablespace XXX begin backup;cp XXX ....alter tablespace XXX end backup;(这里需要注意一点,Oracle的最小存储单位是一个数据块,一个块的大小通常设置为8KB,而操作系统的块通常是512B,这样的话一个Oracle的数据由很多个操作系统的块组成。
而且对于一个数据文件来说,它的所有块对应的操作系统的块并不是按顺序存储的,当运行cp等操作系统命令时并不能指定从那个Oracle数据块开始拷贝。
)当open数据库的时候,Oracle会去比较控制文件中数据文件记录和数据文件头的checkpoint cnt,如果两者相同,则判断不需要介质恢复,如果不同,这时候Oracle就会报某某文件需要介质恢复。
然后拷贝回数据文件备份我们开始recover,这时候就从上次做备份时的scn开始恢复,运用日志,直到恢复结束。
当cp数据文件时,比如说我们拷贝的第一个块可能是scn为100的数据块,当我们完成这个块的拷贝后,这个块有可能被别的进程多次修改,scn变为900。
我们知道当数据库发生检查点时会去更新数据文件头和控制文件中的checkpoint scn,如果当我们在cp数据文件的同时发生了n次checkpoint,这时候数据文件头的scn可能被更新了很多次。
这时候cp的进程去拷贝数据文件头所在的操作系统块,可能这个数据文件头的块因为被checkpoint了很多次导致它的scn为1000,这时候整个数据文件会出现不一致,当用这个备份文件去恢复时,恢复进程会从scn=1000开始恢复,这样的话开始那个scn=100的块将丢失从scn100-scn1000的数据,因为数据块并不应用scn在1000以前的日志,而且这样做的话可能出现一些数据块的corruption,所以不置成backup模式备份的话并不可取。
当然,如果你能确保当cp的时候不发生checkpoint,或者你的操作系统块的大小不小于Oracle的数据块大小,这些情况下不置backup mode拷贝出来的文件也是有效的。
现在我们知道了为什么不能不设置backup模式,下面来讲讲alter tablespace XXX begin backup做了什么? 当数据文件置于backup模式时,Oracle会去锁定数据文件头,这时候数据库发生检查点的话将不会修改文件头的checkpoint scn,而只是增加checkpoint cnt,所以不管执行cp的时候操作系统块的拷贝顺序是如何,Oracle总会从文件头的scn开始恢复,这样的话也就避免了数据丢失和数据块corruption。
如果大家用的是rman来备份,那么就不会有这个问题,因为rman备份的时候rman会去对比数据块的头尾标志,如果发现不一致,那么它将会再去读这个块,直到读到一致的块才往备份集里写。
但是alter tablespace XXX begin backup带来的另一个问题是会导致产生多余的日志,通过一个小小的试验就可以证明这一点。
SQL> select name,value from v$sysstat where name='redo size';NAME VALUE--------------------------------------------------- ----------redo size 43408SQL> update test set a=a;1 row updated.SQL> commit;Commit complete.SQL> select name,value from v$sysstat where name='redo size';NAME VALUE--------------------------------------------------------------redo size 44060 SQL> ALTER SYSTEM DUMP LOGFILE '/netappredo/redo05.log';System altered.一个update的动作产生44060-43408=652bytes的redo,把表空间置为backup mode: SQL> alter tablespace test begin backup;Tablespace altered.SQL> select name,value from v$sysstat where name='redo size';NAME VALUE------------------------------------------------------------------redo size 44732SQL> update test set a=a;1 row updated.SQL> commit;Commit complete.SQL> select name,value from v$sysstat where name='redo size';NAME VALUE-------------------------------------------------------------------redo size 53560SQL> alter tablespace test end backup;Tablespace altered.一个update的动作产生53560-44732=8828bytes的redo,看看到底是记了些什么? SQL> ALTER SYSTEM DUMP LOGFILE '/netappredo/redo05.log';System altered.REDO RECORD - Thread:2 RBA: 0x00004e.000000b0.0128 LEN: 0x01b0 VLD: 0x01SCN: 0x0000.19ed24f7 SUBSCN: 1 06/29/2004 15:05:32CHANGE #1 TYP:0 CLS:29 AFN:33 DBA:0x08400029 SCN:0x0000.19ed24f2 SEQ: 1 OP:5.2...... (改动向量1,记载对undo header事务表的修改)CHANGE #2 TYP:0 CLS:30 AFN:33 DBA:0x0840002e SCN:0x0000.19ed24f0 SEQ: 1 OP:5.1...... (改动向量2,记载对undo block的修改)CHANGE #3 TYP:2 CLS: 1 AFN:51 DBA:0x0cc0000f SCN:0x0000.19ed24e8 SEQ: 1 OP:11.5KTB Redo (改动向量3,记载对数据块的修改,也就是在数据块上执行update test set a=a)op: 0x11 ver: 0x01 op: F xid: 0x0007.001.00014ece uba: 0x0840002e.0859.38Block cleanout record, scn: 0x0000.19ed24f7 ver: 0x01 opt: 0x02, entries follow... itli: 1 flg: 2 scn: 0x0000.19ed24e8KDO Op code...
转载请注明出处51数据库 » 压缩oracle备份软件下载
静静的顿河故事