
热备份支持在数据库不停机的情况下进行备份,冷备份是必须在数据库shutdown以后使用 *** 作系统的命令对表空间进行拷贝进行的备份。
热备份适用于重要的数据库,比如7x24不能中断的生产系统,同时可以保证数据库在出现崩溃时结合归档日志可以恢复到任意一个时间点,不会造成数据丢失。
冷备份在数据库出现问题是 只会恢复到备份时的那一时间点,备份完成到数据库出现问题需要恢复时的这一时间段内的所有新数据、修改记录都无法恢复。
热备份只能在归档模式下进行,冷备份不需要归档模式,归档模式会对系统性能尤其是磁盘I/O造成一定的影响,但是相对于归档的好处和安全性,相信大多数DBA都会选择归档模式。
冷备也称为一致性备份,这种备份通常是在数据库关闭的情况下进行的,比如说简单的copy。
而你说的在mount状态下的备份,是我们常说的热备,是一种非一致性的备份。
当你恢复的时候,并不能像冷备份那样完全的恢复,而是只能恢复到你备份时的某一个SCN/时间段。
除开对冷备份的恢复,一般做不完全恢复 *** 作都是在RMAN下面进行的,这时候是在mount状态下进行的,不需要停机,恢复完成后,切换当前的日志进行归档。
具体的你可以百度一下 “RMAN 乐沙弥”,他的微博在这方面写的很详细。
1、EXP 备份:也称 Oracle 逻辑备份,恢复时需要的停机时间较长,因 IMP 导入恢复后不能应用归档日志,所损失的数据量较大; 对于大型数据库,EXP 会显得力不从心。
2、冷备份:也称 OS 备份,冷备份虽然恢复起来比较容易,但需要数据库停下来进行备份,备份造成停机时间的较长。而对于商业应用的数据库而言,这段时间恰恰是用来进行数据处理的。
3、RMAN(热备份):可以像冷备份一样实现数据库的全备份,而且不会影响到数据库的运行。但数据库必须在归档模式下运行;且备份文件必须存放在数据库所在服务器的磁盘上,或者数据库服务器可以直接访问的外部设备上,如磁盘柜、磁带机等。
4、StandBy 备份:在生产数据库(主数据库)的基础上,创建一个备用数据库(StandBy数据库),备用数据库实时自动与生产数据库同步。但处于只读和空闲状态,不接收用户连接和业务处理。如果生产数据库出现故障,可以立即以主数据库的模式启动 StandBy数据库,接替生产数据库的工作。采用这种备份方式,故障修复时间最短,数据丢失最少。但缺点是,必须单独提供 StandBy 数据库服务器,成本比较高。一般在金融和电信等实时性要求较高的行业广泛采用。
oracle备份的几种方法:\x0d\1)导出/导入(EXP/IMP)。\x0d\ 2)热备份。\x0d\ 3)冷备份。\x0d\ 注释:导出备件是一种逻辑备份,冷备份和热备份是物理备份。\x0d\ 一、 导出/导入(Export/Import)\x0d\ 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。\x0d\ 1、简单导出数据(Export)和导入数据(Import)\x0d\ Oracle支持三种方式类型的输出:\x0d\(1)、表方式(T方式),将指定表的数据导出。\x0d\exp amis/amis@amisdb tables= B_S_AGT_LNE_ACCT_H_0714 file=B_S_AGT_LNE_ACCT_H_0714dmp \x0d\imp odsbdata/odsbdata@amisdb file= B_S_AGT_DEP_ACCT_TDE_H_0714dmp full=y ignore=y\x0d\ (2)、用户方式(U方式),将指定用户的所有对象及数据导出。\x0d\ (3)、全库方式(Full方式),瘵数据库中的所有对象导出。\x0d\ 数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。\x0d\ 2、 增量导出/导入\x0d\ 增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。导出文件名缺省为exportdmp,如果不希望自己的输出文件定名为exportdmp,必须在命令行中指出要用的文件名。\x0d\ 增量导出包括三种类型:\x0d\ (1)、“完全”增量导出(Complete)\x0d\ 即备份三个数据库,比如:\x0d\ exp system/manager inctype=complete file=040731dmp\x0d\ (2)、“增量型”增量导出\x0d\ 备份上一次备份后改变的数据,比如:\x0d\ exp system/manager inctype=incremental file=040731dmp\x0d\ (3)、“累积型”增量导出\x0d\ 累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。比如:\x0d\ exp system/manager inctype=cumulative file=040731dmp\x0d\ 数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。\x0d\ 比如数据库的被封任务可以做如下安排:\x0d\ 星期一:完全备份(A)\x0d\ 星期二:增量导出(B)\x0d\ 星期三:增量导出(C)\x0d\ 星期四:增量导出(D)\x0d\ 星期五:累计导出(E)\x0d\ 星期六:增量导出(F)\x0d\ 星期日:增量导出(G)\x0d\ 如果在星期日,数据库遭到意外破坏,数据库管理员可按一下步骤来回复数据库:\x0d\ 第一步:用命令CREATE DATABASE重新生成数据库结构;\x0d\ 第二步:创建一个足够大的附加回滚。\x0d\ 第三步:完全增量导入A:\x0d\ imp system/manager inctype=RESTORE FULL=y FILE=A\x0d\ 第四步:累计增量导入E:\x0d\ imp system/manager inctype=RESTORE FULL=Y FILE=E\x0d\ 第五步:最近增量导入F:\x0d\ imp system/manager inctype=RESTORE FULL=Y FILE=F\x0d\二、 冷备份\x0d\ 冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。冷备份的优点是:\x0d\ 1、 是非常快速的备份方法(只需拷文件)\x0d\ 2、 容易归档(简单拷贝即可)\x0d\ 3、 容易恢复到某个时间点上(只需将文件再拷贝回去)\x0d\ 4、 能与归档方法相结合,做数据库“最佳状态”的恢复。\x0d\ 5、 低度维护,高度安全。\x0d\ 但冷备份也有如下不足:\x0d\ 1、 单独使用时,只能提供到“某一时间点上”的恢复。\x0d\ 2、 再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态。\x0d\ 3、 若磁盘空间有限,只能拷贝到磁带等其他外部存储设备上,速度会很慢。\x0d\ 4、 不能按表或按用户恢复。\x0d\ 如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括:\x0d\ 1、 所有数据文件\x0d\ 2、 所有控制文件\x0d\ 3、 所有联机REDO LOG文件\x0d\ 4、 Initora文件(可选)\x0d\ 值得注意的使冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。\x0d\ 下面是作冷备份的完整例子。\x0d\ (1) 关闭数据库\x0d\ sqlplus /nolog\x0d\ sql>connect /as sysdba\x0d\ sql>shutdown normal;\x0d\ (2) 用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件\x0d\ sql>cp \x0d\ (3) 重启Oracle数据库\x0d\ sql>startup\x0d\ 三、 热备份\x0d\ 热备份是在数据库运行的情况下,采用archivelog mode方式备份数据库的方法。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog方式下 *** 作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。热备份的命令文件由三部分组成:\x0d\ 1 数据文件一个表空间一个表空间的备份。\x0d\ (1) 设置表空间为备份状态\x0d\ (2) 备份表空间的数据文件\x0d\ (3) 回复表空间为正常状态\x0d\ 2 备份归档log文件\x0d\ (1) 临时停止归档进程\x0d\ (2) log下那些在archive rede log目标目录中的文件\x0d\ (3) 重新启动archive进程\x0d\ (4) 备份归档的redo log文件\x0d\ 3 用alter database bachup controlfile命令来备份控制文件\x0d\ 热备份的优点是:\x0d\ 1 可在表空间或数据库文件级备份,备份的时间短。\x0d\ 2 备份时数据库仍可使用。\x0d\ 3 可达到秒级恢复(恢复到某一时间点上)。\x0d\ 4 可对几乎所有数据库实体做恢复\x0d\ 5 恢复是快速的,在大多数情况下爱数据库仍工作时恢复。\x0d\ 热备份的不足之处:\x0d\ 1 不能出错,否则后果不堪设想。\x0d\ 2 假如热备份不成功,所得结果则不能用于时间点的恢复(scn)。\x0d\如果是全库一般需要配置一个rman\x0d\oracle的恢复方案:\x0d\oracle 恢复表到以前的某个状态\x0d\1用bda登录进去\x0d\select from syssmon_scn_time; --scn 与时间的对应关系 \x0d\每隔5分钟,系统产生一次系统时间标记与scn的匹配并存入syssmon_scn_time表。 \x0d\以下是我在测试机上做了一个测试:\x0d\select from table as of scn 3296161275\x0d\\x0d\select from table as of scn 3296200982;\x0d\\x0d\然后我们恢复到这个检查点。\x0d\以上是oracle的备份和恢复方案。
exp备份和rman备份的区别有:
1、rman是物理备份,expdp是逻辑备份,我觉得做了rman就没必要做expdp备份了。优缺点见下图:
2、exp类似冷备份, 你只能够恢复到某一点。而rman的话,需要开启归档,那样就可以进行无数据丢失的恢复。
详细点说就是:
在不开归档日志的情况下,Oracle数据库的备份只能依赖exp命令(逻辑备份)导出数据文件(注意:不包括日志文件以及控制文件等),导出的所有数据仅仅以一个大文件的方式来存放,但是这种备份容易导致丢失数据。举个例子:如果5号晚上进行了exp数据导出,但是在6号的运行过程中发生宕机,数据丢失,这个时候从5号备份后一直到6号宕机前的数据将全部丢失。所以采用exp方式备份数据还是存在很大风险的。
另一种方式就是使用Oracle自带的备份工具rman。一次rman备份(物理备份)的全过程如下:
因为使用rman备份不会产生数据丢失的情况,所以必须有一个全备份的文件,使用rman需要先进行一次全备份,相当于将当前数据库里面的所有文件以及日志都全盘拷贝一份到备份介质中,然后通过归档日志(实时更新的)的记录看每个进程都对数据库做了哪些修改,只要保留了一份物理备份以及物理备份之后的所有归档日志,就能够将数据库恢复到宕机前一刻的状态,将数据丢失降到最低。
选择开始菜单中→程序→Management SQL Server 2008→SQL Server Management Studio命令,打开SQL Server Management Studio窗口,并使用Windows或 SQL Server身份验证建立连接。
在对象资源管理器窗口中展开服务器,然后选择数据库节点
右键单击数据库节点,从d出来的快捷菜单中选择新建数据库命令。
执行上述 *** 作后,会d出新建数据库对话框。在对话框、左侧有3个选项,分别是常规、选项和文件组。完成这三个选项中的设置会后,就完成了数据库的创建工作,
在数据库名称文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。
在所有者文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用使用全文索引复选框。
在数据库文件列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的添加、删除按钮添加或删除数据库文件。
切换到选项页、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。
切换到文件组页,在这里可以添加或删除文件组。
完成以上 *** 作后,单击确定按钮关闭新建数据库对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再对象资源管理器窗口看到。
RMAN除了单纯的备份恢复功能 已经被赋予了越来越多的责任 比如创建Standby数据库 比如跨平台传输表空间中的表空间转换 Oracle g的RMAN倒是没有太多飞跃性的更新
自定义archivelog删除策略
我们知道在 g之前 只有backupset的删除策略可以定义 比如保留多长时间的备份或者保留多少份有效备份 而删除归档日志只有在delete命令中定义删除全部备份完毕的或者删除从哪一个时间点到哪一个时间点的 而在 g中我们已经可以通过configure命令来定义归档日志的删除策略的 比如增加了下面的语法 只有在磁带上备份了 次的归档日志才会被delete命令删除
CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP TIMES TO DEVICE TYPE t
当然 仅仅是增加语法那就只能称为比较无聊的新功能了 除了configure语法之外 现在在 g中通过APPLIED ON STANDBY关键字可以定义只有对于所有的standby站点都已经applied的归档日志才会被删除 或者定义所有被成功传送到standby站点的归档日志就可以被删除 而以前这些都需要DBA自己撰写脚本从数据字典中查询到相关信息然后再通过脚本删除
直接通过网络复制数据库
在 g之前如果要使用duplicate命令来复制一份数据库 那么则需要源数据库 需要在目标机器上的一份有效备份 需要目标数据库 在 g中这一切被大大简化 通过FROM ACTIVE DATABASE关键字 我们只需要有一个源数据库 就可以简单地通过网络在另外一台机器上复制一个相同的数据库了 Oracle会通过一系列 Memory Script在内存中recover并且open目标数据库
另外 在 g之前 duplicate数据库是不会自动复制spfile的 而现在 我们通过下面的语句 就可以让Oracle在复制过程中自动生成一份spfile 并且其中的初始化参数允许额外定义
DUPLICATE TARGET DATABASETO aux_dbFROM ACTIVE DATABASESPFILE PARAMETER_VALUE_CONVERT /u /u SET SGA_MAX_SIZE = M SET SGA_TARGET = M SET LOG_FILE_NAME_CONVERT = /u /u DB_FILE_NAME_CONVERT /u /u ;
在 g中使用duplicate复制一个数据库的准备步骤只需要目标数据库(AUXILIARY实例)
a 通过一个最简单的pfile把实例启动到nomount状态 这个pfile中只需要包含DB_NAME和REMOTE_LOGIN_PASSWORFILE参数即可
b password文件必须事先建好 而且SYS密码需要跟source数据库中相同 这个通过orapwd可以轻松完成
c 目录结构需要事先创建好并且具有正确的权限
并行备份大文件
现在Oracle数据库中单个数据文件可以最大到 T 而在以前的版本中RMAN的最小备份单位就是datafile 那么对于以后可能出现的这种超大数据文件 RMAN备份就几乎无法 *** 作了 在 g中 通过backup命令中的SECTION SIZE关键字 我们可以对数据文件指定section了 每个section都作为一个独立单位来处理 每个数据文件可以最多指定 个 section
Section的好处在于 一可以并行备份多个section 提高备份速度 二可以分多个时间分别备份一个大文件的多个section 时间上化整为零 更具有 *** 作性
RMAN Catalog管理性增强
IMPORT CATALOG命令允许我们将一个catalog库中的信息转储到另外一个catalog库 这在以前完全需要手工 *** 作
lishixinzhi/Article/program/Oracle/201311/17666
以上就是关于关于oracle备份问题,请问oracle 的热备份和冷备份的区别以及各自的好处全部的内容,包括:关于oracle备份问题,请问oracle 的热备份和冷备份的区别以及各自的好处、公司里的oracle备份,恢复。数据库的状态、oracle 数据库怎么备份等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)