Ⅰ oracle 备份
手工备份单表备份(前提库的结构是一样的) 导出: 开始钮->运行->输入CMD->进入DOS界面 EXP 用户名/密码@连接字符串 GRANTS=Y TABLES=(stu) file=C:\文件名.DMP 导入: 开始钮->运行->输入CMD->进入DOS界面 IMP 用户名/密码@连接字符串 IGNORE=Y TABLES=(stu) FULL=N file=C:\文件名.DMP 其中stu是你要的表名 全库导 导出: 开始钮->运行->输入CMD->进入DOS界面 EXP 用户名/密码@连接字符串 FULL=Y file=C:\文件名.DMP 导入: 开始钮->运行->输入CMD->进入DOS界面 IMP 用户名/密码@连接字符串 FULL=Y file=C:\文件名.DMP 自动备份建议一: 利用任务计划、批处理文件和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开始),第二个参数是要截取的长度,如没有则是截取到最后,参数可酌情修改。 2、如需要准确的时间做为文件名,请用%time%函数,参数同上。 建议二: @echo off set filename=e:\data_bak\%date:~8,2%日 exp userid=user/[email protected] 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/[email protected] < C:\RMAN.TXT 建议五: 在文本里编辑cmd命令。然后保存成bat文件。在windows中定义任务计划,就 可以自动执行了。 例: 编辑文本文件 del c:\exp\*.dmp exp userid=cw/[email protected] 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:\chu.dmp中 exp system/[email protected] file=d:\chu.dmp full=y 2 将数据库中system用户与sys用户的表导出 exp system/[email protected] file=d:\chu.dmp owner=(system,sys) 3 将数据库中的表table1 、table2导出 exp system/[email protected] file=d:\chu.dmp tables=(table1,table2) 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出 exp system/[email protected] file=d:\chu.dmp tables=(table1) query=\" where filed1 like '00%'\" 上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。 不过在上面命令后面 加上 compress=y 就可以了 数据的导入 1 将D:\chu.dmp 中的数据导入 TEST数据库中。 imp system/[email protected] file=d:\chu.dmp 上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。 在后面加上 ignore=y 就可以了。 2 将d:\chu.dmp中的表table1 导入 imp system/[email protected] file=d:\chu.dmp tables=(table1) 导入 基本上上面的导入导出够用了。不少情况我是将表彻底删除,然后导入。
Ⅱ oracle数据备份
他们是DOS下运行的命令,也可以加参数在SQL/PLUS环境下运行 我写给你2个简单例子实现 单表备份(前提库的结构是一样的) 导出: 开始钮->运行->输入CMD->进入DOS界面 EXP 用户名/密码@连接字符串 GRANTS=Y TABLES=(stu) file=C:\文件名.DMP 导入: 开始钮->运行->输入CMD->进入DOS界面 IMP 用户名/密码@连接字符串 IGNORE=Y TABLES=(stu) FULL=N file=C:\文件名.DMP 其中stu是你要的表名 全库导 导出: 开始钮->运行->输入CMD->进入DOS界面 EXP 用户名/密码@连接字符串 FULL=Y file=C:\文件名.DMP 导入: 开始钮->运行->输入CMD->进入DOS界面 IMP 用户名/密码@连接字符串 FULL=Y file=C:\文件名.DMP 你说的情况按全库导做就可以了.其实还是有很多参数可以设置,这里只是最简单命令方便你理解. 另外建议把ORACLE问题分类到数据库问题里,那里有很多更专业的热心高手帮你
Ⅲ Oracle 备份的方法有哪些
我们为Oracle 10g制定的夜间备份策略9步是: 1、删除旧的日志文件并重命名当前的日志2、删除所有RMAN备份文件3、执行一个0级RMAN备份4、创建克隆文件5、创建归档日志备份,包括恢复目录内务6、删除数据泵导出文件7、执行数据泵导出8、检查日志错误9、广播和/或发送简短错误描述的电子邮件1、删除旧日志文件并重命名当前的日志这是每天都要执行的,为所有的脚本创建一个日志文件是很好的实践,在步骤8中,我检查所有日志错误,因此重命名了当前日志,当它们被重命名后,就很容易参考旧的作业分辨出错误了,这些所有需要删除的最终是为了不引起空间问题。代码清单1:qgrep -l rman D:Oracleadmincommonbackuplogs* >>%LOGFILE%del /Q D:Oracleadmincommonbackuplogs*.oldlog3 >>%LOGFILE%ren D:Oracleadmincommonbackuplogs*.oldlog2 *.oldlog3 >>%LOGFILE%ren D:Oracleadmincommonbackuplogs*.oldlog1 *.oldlog2 >>%LOGFILE%ren D:Oracleadmincommonbackuplogs*.log *.oldlog1 >>%LOGFILE%提示:尽力自动清除日志文件,要记住这些命令是不容易的。2、删除所有RMAN备份文件这仅需要在0级RMAN备份之前执行一次,我们的RMAN备份在X:驱动器上执行,正确地说是X:RMAN。我们估算这个驱动器可以容纳下我们的0级备份、归档日志、归档日志备份和数据泵导出文件。每周清除一次RMAN文件基本上可以保证驱动器上有足够的空间存储下一周的备份。代码清单2:# Running these commands will show the files that will be deleted in the next step.FORFILES /p x:rman /m *.bks /d -0 /c "CMD /C echo @[email protected] @[email protected]" >>%logfile%FORFILES /p x:rman /m *cfile* /d -0 /c "CMD /C [email protected]@FILE @[email protected]" >>%logfile%# These commands perform the actual deletion.FORFILES /p x:rman /d -0 /c "CMD /C del *.bks" >>%logfile%FORFILES /p x:rman /d-0 /c "CMD /C del *cfile*" >>%logfile%提示:一定要自动删除磁盘上的大文件。在一个不恰当的时间删除你将用光磁盘空间。X因子X:驱动器是这个备份的关键部分,我们定期在其他服务器或交替节点上克隆我们的生产数据库进行测试和开发。RMAN喜欢从它们的备份中获取它的文件,最简单的方法就是备份到磁带上,这种方法与你在服务器上执行克隆没什么区别,当你告诉RMAN你的目标数据库,它就直接为它需要的文件转到介质管理层(MML),我们使用磁带的问题是磁带不可靠或磁带驱动不可靠,我们的解决办法是备份到磁盘上,问题是它将中服务器相同的驱动器映射中来回地复制文件,我们需要做的是映射一个SAN驱动器到我们的生产服务器上,然后在启动时将我们的测试服务器映射到同一个SAN驱动器,我们可以在服务器命令行使用一个命令来完成这个任务,我们可以通过使用一个来自Windows资源套件中叫做AutoExNT的服务来解决这个问题,它允许我们在启动时运行一个批处理文件,我们可以将命令放在那里,现在生产和测试服务器都映射到同一个X:驱动器。X文件因子AutoExNT只能工作在32位服务器上,当你有64位服务器时问题就来了,不幸的是,Windows资源套件对64位服务器无效,因此无法使用AutoExNT,幸运的是,我们可以说服我们的开发人员在64位Windows上创建一个“启动”服务,让它与AutoExNT服务一样,无论怎样,我们让批处理文件在服务器启动时执行。3、执行一个0级RMAN备份这一步通常每周执行一次,我们有一些更大、更活动的数据库创建的数量巨大的归档日志,在恢复或克隆时,恢复数据库的时间将很长,在这些情况下,我们在一周内将不止执行一次0级备份,在0级RMAN备份中,我们执行非恢复目录维护,脚本叫做DBname_lvl_0_disk.rcv。代码清单3:#************* Configure controls for Recovery Manager *******************#***************** in case they have been changed ************************configure controlfile autobackup on;configure controlfile autobackup format for device type disk to 'X:rmanCFILE_%F.bks';configure channel 1 device type disk format 'X:rmanBACKUPPIECE_%d_%U_%T_%s.bks' maxpiecesize 2048M;configure retention policy to recovery window of 34 days;#************* Perform weekly RMAN level 0 Database Backup ***************backup as compressed backupset incremental level = 0 database;#************* Confirm level 0 Backup is valid ***************************restore database check logical validate;第一个命令配置RMAN让控制文件和spfile自动备份,第二个命令指定RMAN用一种特定的格式给文件命名,本例中,备份到磁盘上的文件叫做“X:rmanCFILE_F%.bks”,第三个命令创建一个磁盘通道并命名为“1”,命名备份片“X:rmanBACKUPPICE_%d_%U_%T_%s.bks”以及任何一个备份片的大小不能超过2GB,第四个命令告诉恢复目录目标数据库的备份应该保留34天,第五个命令才是真正的执行备份,它告诉RMAN创建一个压缩的备份集,它真正可以容纳更多的备份片,它还指定了仅对数据库执行一个完整备份,没有备份归档日志,因为存储是最主要的问题,压缩备份对节省空间真正的有帮助,我们发现这是RMAN最有用的特性之一,最后一行的命令执行已经完成的备份检查,它读取备份文件并确认它们没有被破坏,我强烈建议不要跳过这一步,没有什么比在需要恢复一个数据库时发现一个或更多的文件不可用更糟糕的了。提示:只有当备份文件确认有效后你才可以使用它们,是的,事情就是这样!我已经试过多次在备份完成后但检查确认未完成之前的实验了。我使用一个Windows批处理文件调用RMAN 0级备份脚本,这个批处理文件叫做DBname_lvl_0_disk.bat。代码清单4:set NLS_DATE_FORMAT=DD-MON-YYYY HH24:MI:SSset NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252set CURDIR=D:Oracleadmincommonbackupcd %CURDIR%rman target ID/pword@DBname catalog rcatID/[email protected] log=logsDBname_lvl_0_disk.log @DBname_lvl_0_disk.rcvpage_on_backup.vbs DBname_level_0_disk.log page_DBname_level_0.log Dbname最前面两行设置操作系统的环境变量,我们更喜欢详细一点的日期掩码,05-DEC-2007 23:59:59"比"05-DEC-2007"好,日期格式在恢复过程中变得更重要了,设置NLS_LANG变量,移除所有数据库正在使用的字符设置疑惑,第三和第四行对于使用计划任务而言是很重要的,Windows需要直接指定RMAN脚本的位置,因此设置好目录并将脚本移动到那里,接下来,才真正的调用RMAN,需要同时登陆到target和catalog,在当前目录下一个独立的叫做“logs”的子目录下创建一个日志文件,以及调用列表4中的脚本代码,如果出现任何错误,一个VB脚本被调用呼叫支持人员,如果不出现错误,那么只会发送一封日志文件的电子邮件,在第9小节会有更多细节信息。4、 创建克隆文件这是用RMAN备份自动“刷新”测试数据库最关键的一步,克隆文件批处理作业实际上创建了“复制数据库”语句,我们使用它克隆我们的生产数据库到我们的测试数据库上,下面是一个叫做create_TESTDB_clone_files.sql的在生产服务器上运行的SQL脚本文件。代码清单5: set echo off;set feedback off;set linesize 140;SET PAGESIZE 0;set trimspool on;ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MON-DD HH24:MI:SS';select checkpoint_change# from v$database;alter system archive log current;select sysdate from al;– ***********************************************************************– ***********************************************************************– ***********************************************************************– ******************************* TESTDBSERVER **************************– ******************************* TESTDBSERVER **************************– ******************************* TESTDBSERVER **************************– ***********************************************************************– ***********************************************************************– ***********************************************************************–TESTDB1spool TESTDBSERVERd$Oracleadmincommoncloneclone_to_TETSTDB1.rcvselect 'plicate target database to TESTDB1 until time ' ||''''|| sysdate ||''';' from al;spool off;–TESTDB2spool TESTDBSERVERd$Oracleadmincommoncloneclone_to_TETSTDB2.rcvselect 'plicate target database to TESTDB2until time ' ||''''|| sysdate ||''';' from al;spool off;–TESTDB3spool TESTDBSERVERd$Oracleadmincommoncloneclone_to_TETSTDB3.rcvselect 'plicate target database to TESTDB23until time ' ||''''|| sysdate ||''';' from al;spool off;– ***********************************************************************– ***********************************************************************– ***********************************************************************– ********************************* THE END *****************************– ********************************* THE END *****************************– ***********************************************************************– ***********************************************************************– ***********************************************************************alter system archive log current;select sysdate from al;select checkpoint_change# from v$database;select sysdate from al;exit;这个脚本在生产服务器上运行,spool输出到测试服务器,首先你注意的是NLS_DATE_FORMAT设置,与0级备份时设置方法一样;接下来,你看到我们已经选择了系统改变序号或SCN,数据库也可以通过使用SCN克隆和/或恢复,我们不再使用SCN进行数据库复制,我们不取消这一步是因为我们想查看日志文件中的SCN,假设在一个生产恢复情景下,SCN在一个额外的位置是可用的,在接下来的语句中,我们对当前的重做日志进行归档,我们从Oracle 8i开始就已经执行过了RMAN复制,但日志方面总有问题,这是唯一可以确定的最好的方法,我们每次都这样使用;接下来,我们选择sysdate,我们想在SCN下查看它,向下移动到spool语句,你看到一个为TESTDBSERVER编写的名叫clone_to_TESTDB.rcv的RMAN脚本,只有一行:代码清单6:plicate target database to TESTDB1 until time '2007-DEC-05 19:55:00';你可以在你的测试数据库服务器上为每个测试数据库单独编写一个克隆脚本,正如你看到的,这就是我们所做的,我们有一部分生产数据库服务器不止安装有一个生产数据库,对那些我们有两个脚本,在每个生产数据库上为测试数据库创建一个克隆脚本。代码清单7:set NLS_DATE_FORMAT=DD-MON-YYYY HH24:MI:SSset NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252set CURDIR=D:Oracleadmincommonbatchcd %CURDIR%sqlplus system/[email protected] @create_TESTDB_clone_files.sql >logscreate_TESTDB_clone_files.log这个脚本的批处理文件非常简单,最前面的两行设置你的环境变量,第三和第四行用于任务调度,非常重要,windows需要直接指定SQL脚本的位置,因此需要设置好目录后,将脚本移动到目录中,接下来,SQLplus才真正被调用和运行脚本以创建克隆文件,在当前目录下的一个叫做logs的子目录中单独生成了一个日志文件。
Ⅳ oracle中的归档日志和数据库备份的区别
归档日志就是重做日志的备份,而重做日志记录了数据的所有变化(DML,DDL或管理员对数据所作的结构性更改等),可以用户数据恢复,也可用户其他文件的恢复。而数据库备份,可以分为很多种,常用的exp及rman等,rman备份需要开启归档状态,也就是rman备份和归档日志是紧密相关的,rman备份可以备份控制文件,数据文件,重做日志文件等各类文件,比较全面。而exp逻辑备份,备份的是数据文件中的数据。区别就是exp只能恢复数据库的数据,归档日志可以恢复数据及其他文件(使用rman备份)。归档日志需要和rman备份一起使用,不能单独拿出来与数据库备份做比较,这样没有什么意义。希望可以帮到你!
Ⅳ 如何备份oracle 归档日志文件
归档日志(Archive Log)是非活动的重做日志备份.通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG模式并进行日志切换式,后台进程ARCH会将重做日志的内容保存到归档日志中.当数据库出现介质失败时,使用数据文件备份,归档日志和重做日志可以完全恢复数据库.
Ⅵ oracle, 为什么要备份归档日志文件难道有归档日志还不够吗 注意下 不是问为什么要归
备份有压缩功能,一般归档日志的数据量比实际数据量还要大。可以通过备份归档日志之后删除归档日志实现压缩归档日志的使用空间,以达到节约空间的目的。 能够备份归档日志只是orale备份的一个功能,Oracle会将数据库的功能做的特别完善,但是你用不用都有自己的需求来决定。
Ⅶ 关于oracle备份问题,请问oracle 的热备份和冷备份的区别以及各自的好处
热备份支持在数据库不停机的情况下进行备份,冷备份是必须在数据库shutdown以后使用操作系统的命令对表空间进行拷贝进行的备份。 热备份适用于重要的数据库,比如7×24不能中断的生产系统,同时可以保证数据库在出现崩溃时结合归档日志可以恢复到任意一个时间点,不会造成数据丢失。冷备份在数据库出现问题是 只会恢复到备份时的那一时间点,备份完成到数据库出现问题需要恢复时的这一时间段内的所有新数据、修改记录都无法恢复。热备份只能在归档模式下进行,冷备份不需要归档模式,归档模式会对系统性能尤其是磁盘I/O造成一定的影响,但是相对于归档的好处和安全性,相信大多数DBA都会选择归档模式。
Ⅷ ORACLE数据库如何备份数据最好是备份哪些东西
Oracle数据库的三种标准的备份方法:1.导出/导入(EXP/IMP)。2.热备份。3.冷备份。注释:导出备件是一种逻辑备份,冷备份和热备份是物理备份。一、导出/导入(Export/Import)利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。1、简单导出数据(Export)和导入数据(Import)Oracle支持三种方式类型的输出:(1)、表方式(T方式),将指定表的数据导出。(2)、用户方式(U方式),将指定用户的所有对象及数据导出。(3)、全库方式(Full方式),瘵数据库中的所有对象导出。数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。2、增量导出/导入增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。增量导出包括三种类型:(1)、“完全”增量导出(Complete)即备份三个数据库,比如:expsystem/managerinctype=completefile=040731.dmp(2)、“增量型”增量导出备份上一次备份后改变的数据,比如:expsystem/managerinctype=incrementalfile=040731.dmp(3)、“累积型”增量导出累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。比如:expsystem/managerinctype=cumulativefile=040731.dmp数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。比如数据库的被封任务可以做如下安排:星期一:完全备份(A)星期二:增量导出(B)星期三:增量导出(C)星期四:增量导出(D)星期五:累计导出(E)星期六:增量导出(F)星期日:增量导出(G)如果在星期日,数据库遭到意外破坏,数据库管理员可按一下步骤来回复数据库:第一步:用命令CREATEDATABASE重新生成数据库结构;第二步:创建一个足够大的附加回滚。第三步:完全增量导入A:impsystem/managerinctype=RESTOREFULL=yFILE=A第四步:累计增量导入E:impsystem/managerinctype=RESTOREFULL=YFILE=E第五步:最近增量导入F:impsystem/managerinctype=RESTOREFULL=YFILE=F二、冷备份冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。冷备份的优点是:1、是非常快速的备份方法(只需拷文件)2、容易归档(简单拷贝即可)3、容易恢复到某个时间点上(只需将文件再拷贝回去)4、能与归档方法相结合,做数据库“最佳状态”的恢复。5、低度维护,高度安全。但冷备份也有如下不足:1、单独使用时,只能提供到“某一时间点上”的恢复。2、再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态。3、若磁盘空间有限,只能拷贝到磁带等其他外部存储设备上,速度会很慢。4、不能按表或按用户恢复。如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括:1、所有数据文件2、所有控制文件3、所有联机REDOLOG文件4、Init.ora文件(可选)值得注意的使冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。下面是作冷备份的完整例子。(1)关闭数据库sqlplus/nologsql>connect/assysdbasql>shutdownnormal;(2)用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件sql>cp<file><backupdirectory>(3)重启Oracle数据库sql>startup三、热备份热备份是在数据库运行的情况下,采用archivelogmode方式备份数据库的方法。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog方式下操作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。热备份的命令文件由三部分组成:1.数据文件一个表空间一个表空间的备份。(1)设置表空间为备份状态(2)备份表空间的数据文件(3)回复表空间为正常状态2.备份归档log文件(1)临时停止归档进程(2)log下那些在archiveredelog目标目录中的文件(3)重新启动archive进程(4)备份归档的redolog文件3.用命令来备份控制文件热备份的优点是:1.可在表空间或数据库文件级备份,备份的时间短。2.备份时数据库仍可使用。3.可达到秒级恢复(恢复到某一时间点上)。4.可对几乎所有数据库实体做恢复5.恢复是快速的,在大多数情况下爱数据库仍工作时恢复。热备份的不足之处:1.不能出错,否则后果不堪设想。2.假如热备份不成功,所得结果则不能用于时间点的恢复。3.因为难于维护,所以需要特别仔细小心,不允许在操作时半途而废。关于Oracle数据库的备份方式就为大家讲解到这里,以后大家需要进行数据库备份工作时可以参照上文中讲解的,从上文中任选一种,就可以完成Oracle数据库的备份,希望上文中涉及到的内容对大家能够有所帮助。
Ⅸ oracle 数据库备份哪些文件
冷备份中必须拷贝的文件包括: 1、 所有数据文件 2、 所有控制文件 3、 所有联机日志文件 4、 Init.ora文件(可选)5、导出/导入(export/import) —- 利用export可将数据从数据库中提取出来,利用import则可将提取出来的数据送回oracle数据库中去。
Ⅹ oracle的数据库文件 日志文件 数据库备份文件的后缀分别是什么
你好!数据文件.dbf重做日志文件.log控制文件.ctl归档日志.arc使用rman建立的备份集.bkp仅代表个人观点,不喜勿喷,谢谢。