oracle备份与恢复

合集下载

oracle rman 注释

oracle rman 注释

oracle rman 注释
Oracle RMAN(Recovery Manager)是Oracle数据库的备份和恢复管理工具。

它允许数据库管理员执行备份、恢复和复制数据库的操作。

RMAN提供了一种灵活、高效的方式来管理数据库的备份和恢复,同时提供了许多高级功能,如增量备份、备份集复制、备份集合管理等。

在使用Oracle RMAN时,可以通过注释来记录备份和恢复操作的相关信息。

这些注释可以包括备份的目的、备份集的内容、备份的时间等信息。

通过添加注释,可以帮助数据库管理员更好地理解备份和恢复操作的背景和目的。

在RMAN中,可以使用"COMMENT"命令来添加注释。

例如,可以在备份操作中使用以下命令添加注释:
COMMENT 'Full backup of HR schema before data migration';
这样就可以在备份集中记录相关的注释信息。

这些注释信息可以在日后的备份恢复操作中提供参考,帮助管理员更好地理解备份
的目的和背景。

另外,在RMAN的日志文件中也会记录备份和恢复操作的详细信息,包括相关的注释。

这些日志文件可以在需要时用于审计、故障排除等目的。

总之,通过在Oracle RMAN中添加注释,可以帮助数据库管理员更好地管理和理解备份和恢复操作,提高数据库的可靠性和可维护性。

使用NetBackup进行oracle备份和恢复

使用NetBackup进行oracle备份和恢复

使用NetBackup进行oracle备份和恢复一、环境介绍:这个实验都是在vmware workstation里完成的。

由于NetBackup7只能装在64位的系统上,所以这里采用了64位的rhel5.5系统,以及oracle 10gr2 for linux_x64的软件包。

数据库的数据文件存储在ASM中。

安装rhel、oracle、netbackup这里不提,可以参考网上其他博文。

NetBackup的服务端、客户端以及媒体服务器都在同一台主机上()。

在安装netbackup7过程中,数据库的agent不需要额外再单独安装,安装客户端以及服务器端时默认已经安装了,只需要以oracle身份执行oracle_links将rman和netbackup 结合在一块即可。

以下主要针对备份和恢复做详细描述。

二、备份:在备份之前要创建一个适用于oracle的策略,否则无法进行备份的。

至于如何创建策略,可以参考官方文档。

这里已经创建了一个策略orabak,此策略类型是oracle,如图所示:创建完成后在页面存在一个名为“Default-Application-Backup”的默认日程,可以在日程选项里进行新增、删除、更新日程等操作。

本次试验不进行策略设置,默认日程已经能够满足测试的。

注意:jnbSA程序是netbackup的管理窗口,而jbpSA是客户端进行备份、恢复、归档操作的窗口。

要进行oracle的备份,必须以oracle用户运行jbpSA命令,如图所示:登录成功后会看到如下画面:选中要备份的数据库实例,这里只有db01一个实例,然后点击右下角的Backup按钮,会弹出Netbackup for oracle backup向导画面:点击下一步:这里选择认证方式,有OS认证以及oralce认证,如果是OS认证,则NBU会以oracle身份运行相关命令,因为之前登录的用户就是oracle。

如果是oracle认证,则User Name必须是具有sysdba权限的数据库用户,一般就是sys用户:Net service name可选的。

Oracle备份与恢复案例.doc

Oracle备份与恢复案例.doc

Oracle备份与恢复案例By Piner一. 理解什么是数据库恢复当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。

因此当发生上述故障后,希望能重构这个完整的数据库,该处理称为数据库恢复。

恢复过程大致可以分为复原(Restore)与恢复(Recover)过程。

数据库恢复可以分为以下两类:1.1实例故障的一致性恢复当实例意外地(如掉电、后台进程故障等)或预料地(发出SHUTDOUM ABORT语句)中止时出现实例故障,此时需要实例恢复。

实例恢复将数据库恢复到故障之前的事务一致状态。

如果在在线后备发现实例故障,则需介质恢复。

在其它情况Oracle在下次数据库起动时(对新实例装配和打开),自动地执行实例恢复。

如果需要,从装配状态变为打开状态,自动地激发实例恢复,由下列处理:(1)为了解恢复数据文件中没有记录的数据,进行向前滚。

该数据记录在在线日志,包括对回滚段的内容恢复。

(2)回滚未提交的事务,按步1重新生成回滚段所指定的操作。

(3)释放在故障时正在处理事务所持有的资源。

(4)解决在故障时正经历一阶段提交的任何悬而未决的分布事务。

1.2介质故障或文件错误的不一致恢复介质故障是当一个文件、一个文件的部分或磁盘不能读或不能写时出现的故障。

文件错误一般指意外的错误导致文件被删除或意外事故导致文件的不一致。

这种状态下的数据库都是不一致的,需要DBA手工来进行数据库的恢复,这种恢复有两种形式,决定于数据库运行的归档方式和备份方式。

(1)完全介质恢复可恢复全部丢失的修改。

一般情况下需要有数据库的备份且数据库运行在归档状态下并且有可用归档日志时才可能。

对于不同类型的错误,有不同类型的完全恢复可使用,其决定于毁坏文件和数据库的可用性。

(2)不完全介质恢复是在完全介质恢复不可能或不要求时进行的介质恢复。

oracle数据库rman备份计划及恢复

oracle数据库rman备份计划及恢复

oracle数据库rman备份计划及恢复1.rman完全恢复的前提条件:历史的datafile,controlfile和spfile备份,加上完整的archivelog和完好的redolog。

2.rman备份脚本: a.RMAN 0级备份命令:run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;backup incremental level 0 tag 'level0' format "E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\RFDB_level_0_%u_%s_%p" as compressed backupset database;sql "alter system archive log current";backup filesperset 3 format "E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\arch_%u_%s_%p_%c"archivelog all delete input; #备份归档可选,可以单独定期备份release channel c1;release channel c2;release channel c3;} b.RMAN 1级备份命令:run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;backup incremental level 1 tag 'level1' format 'E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\RFDB_level_1_%u_%s_%p' as compressed backupset database;sql 'alter system archive log current';backup filesperset 3 format 'E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\arch_%u_%s_%p'archivelog all delete input; #备份归档可选,可以单独定期备份release channel c1;release channel c2;release channel c3;} c.rman删除备份命令(在保留最近⼀天备份的情况下,删除其他备份):DELETE NOPROMPT OBSOLETE RECOVERY WINDOW OF 1 DAYS; d.操作系统层⾯运⾏rman备份或删除命令(windows/linux):rman target sys/rf4rfvbgt56yhn@rfdb nocatalog CMDFILE 'D:\app\rman\rman_file\level_0.txt' log=E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\log\rman_level_0.log export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=/u01/app/oracle/product/11.2.0/db1export ORACLE_SID=atestexport PATH=$ORACLE_HOME/bin:$PATHrman target sys/123456@atest nocatalog CMDFILE '/u01/rman/rman.sh' log=/u01/rman/rman.log00 02 * * 1 bash /u01/rman_file/run_rman_0.sh00 02 * * 3 bash /u01/rman_file/run_rman_0.sh00 02 * * 5 bash /u01/rman_file/run_rman_0.sh00 04 * * * bash /u01/rman_file/run_delete.sh34 11 * * * bash /u01/rman_file/run_rman_0.sh e.rman参数设置:RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE disk TO 2;RMAN> CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE disk TO 2;3.rman恢复a.拷贝datafile,controlfile和spfile的rman备份,以及完整的archivelog和完好的redolog⽂件到新的数据库。

Oracle ramn 备份与恢复

Oracle ramn 备份与恢复

ORACLE数据库的备份与恢复差异增量备份就是备份往前第一个备份级别小于或等于当前备份级别开始到现在的变化。

累计增量备份就是备份往前第一个备份级别小于当前备份级别开始到现在的变化。

0级备份也就是全备份,但0级备份可以在此基础之上再进行备份,但全备份就不可以。

Oracle rman 备份一、数据库全备份方法(nocatalog)1 注意rman有两个,要执行db_1/bin下那个(可以通过修改oracle变量来达到)2 在执行ramn之前要确认当前数据库是否处理Archive Mode模式,并处于Enabled下查看方式:如果不是可以通过如下方式打开并修改:SQL>startup mountSQL>alter database archivelogSQL>alter database open3全备份数据库:A先连接数据库HERMINGB查看备份列表中是否有以前备份的文件C执行全数据库备份4备份完之后可以查看一下备份出来的文件信息:5备份文件存放路径为:二、0级数据库备份A 以nocatalog方式使用rmanB连接数据库C执行0级数据库备份注:全备份与0级备份的相同点是都是将数据库全部备份下来。

全备份与0级备份的不同点是全备份不能作为增量备份,而0级可以作为增量备份。

1级备份就在0级备份的基础上进行的。

三、1级增量备份(基于0级备份之上)总结:可以将备份出来的文件考到其他介质上进行保存,并进行删除。

如果要恢复时请将该文件放回到这文件夹下,并要保存文件名不变。

说明:口令文件因为可以重新设置,所以不用备份,重做日志文件不能在非nocatalog中备份。

四、备份archivelog(参数文件+数据文件+控制文件+归档日志文件)先备份完再删除归档备份五、备份表空间A 查看有哪些表空间B备份名为TBS1的表空间六、备份控制文件七、镜像备份说明:5为TBS1表空间的编号,及对TBS1表空间进行镜像备份。

oracle数据库还原的详细流程

oracle数据库还原的详细流程

oracle数据库还原的详细流程
Oracle数据库还原的详细流程如下:
1. 关闭Oracle数据库服务:在开始还原之前,需要确保Oracle数据库服务已经关闭。

这样可以避免在还原过程中发生数据冲突或损坏。

2. 确认数据库备份:在开始还原之前,需要确认数据库的备份情况。

数据库的备份可以分为完全备份和增量备份两种。

完全备份是指对整个数据库进行备份,而增量备份是在完全备份的基础上,对新增或修改的数据进行备份。

可以通过查看备份记录或者与负责备份的人员进行沟通来确认备份情况。

3. 选择合适的还原方式:根据备份文件的位置和可用资源,选择适合的还原方式。

例如,如果备份文件在本地磁盘上,可以选择磁盘还原;如果备份文件在云端,可以选择云存储还原。

4. 执行还原操作:根据选择的还原方式,执行相应的操作。

例如,在磁盘还原中,需要将备份文件复制到目标磁盘中。

在云存储还原中,需要将备份文件从云存储下载到本地或直接在云平台上进行还原。

5. 启动Oracle数据库服务:完成还原后,启动Oracle数据库服务,验证数据是否正确加载并可用。

请注意,以上步骤仅供参考,具体操作可能因实际情况而有所不同。

在进行数据库还原时,建议参考Oracle官方文档或咨询专业人士以获取更准确的信息和指导。

Oracle11G 备份和恢复

Oracle11G  备份和恢复
第 14 章
备份与恢复
授课教师:刘明洋
主要内容
备份与恢复概述 物理备份数据库 逻辑恢复数据库 利用RMAN备份与恢复数据库 逻辑备份与恢复数据库
14.1备份与恢复概述
备份与恢复的概念 Oracle数据库备份类型 Oracle数据库恢复类型
14.1.1备份与恢复的概念
➢ 备份与恢复是数据库的一对相反操作,备份是保存数据 库中数据的副本,恢复是利用备份将数据库恢复到故障 时刻的状态或恢复到故障时刻之前的某个一致性状态。
➢ 非归档模式下的数据库恢复是不完全恢复,只能将数据库恢复到最近 一次完全冷备份的状态。
1 7
14.3.2 归档模式下数据库的完全恢复
概述 数据库级完全恢复 表空间级完全恢复 数据文件级完全恢复 数据库完全恢复示例
1
8
(1)概 述
概念
归档模式下数据库的完全恢复是指归档模式下一个或多个数据文件损 坏,利用热备份的数据文件替换损坏的数据文件,再结合归档日志文 件和联机重做日志文件,采用前滚技术重做自备份以来的所有改动, 采用回滚技术回滚未提交的操作,以恢复到数据库故障时刻的状态。
1 6
14.3.1 非归档模式下数据库的恢复
非归档模式下数据库的恢复主要指利用非归档模式下的冷备 份恢复数据库。 步骤为:
➢ 关闭数据库。 ▪ SHUTDOWN IMMEDIATE
➢ 将备份的所有数据文件、控制文件、联机重做日志文件还原到原来所 在的位置。
➢ 重新启动数据库。 ▪ STARTUP
注意
▪ RECOVER DATABASE ➢ 打开数据库。
▪ ALTER DATABASE OPEN;
2
2
(3)表空间级完全恢复
以EXAMPLE表空间的数据文件example01.dbf 损坏为例模拟表空级的完全恢复。

Oracle数据库备份与恢复的三种方法

Oracle数据库备份与恢复的三种方法

Oracle数据库备份与恢复的三种⽅法备份与恢复的三种⽅法Oracle数据库有三种标准的备份⽅法,它们分别是导出/导⼊(EXP/IMP)、热备份和冷备份。

导出备件是⼀种逻辑备份,冷备份和热备份是物理备份。

⼀、导出/导⼊(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) 即备份三个数据库,⽐如:exp system/manager inctype=complete file=040731.dmp (2)、“增量型”增量导出 备份上⼀次备份后改变的数据,⽐如:exp system/manager inctype=incremental file=040731.dmp (3)、“累积型”增量导出 累计型导出⽅式是导出⾃上次“完全”导出之后数据库中变化了的信息。

⽐如:exp system/manager inctype=cumulative file=040731.dmp 数据库管理员可以排定⼀个备份⽇程表,⽤数据导出的三个不同⽅式合理⾼效的完成。

数据库备份和恢复

数据库备份和恢复

第六天、数据库的备份和恢复课程大纲与内容1、备份和恢复概述2、故障的类型3、导出和导入实用程序4、练习一、备份和恢复概述对于oracle,备份包括两种类型。

(1)物理备份。

对数据库的操作系统的物理文件(如:数据文件,控制文件和日志文件等)的备份。

物理备份可以分为脱机备份(冷备份)和联机备份(热备份),前者是在关闭数据库的时候进行的,后者是运行在归档日志方式的数据库进行备份。

(2)逻辑备份。

对数据库逻辑组件(如:表和存储过程等数据库对象)的备份。

通过使用export导出实用程序可提取逻辑数据并将其存储为二进制文件,逻辑备份的数据使用import导入实用程序进行恢复。

物理备份是操作系统文件的备份;逻辑备份是数据的备份,不复制物理文件,只将数据库中的某个表导出,节省空间。

逻辑备份在导出数据时没有操作系统信息,所以可以在不同平台之间传输。

另外,用户还可以使用oracle提供的恢复管理器(RMAN,recovery manager)工具集进行增量物理文件备份。

RMAN以一种自动的方式备份、还原和恢复数据库文件,RMAN可以只备份自上次备份以来变化了的数据块。

二、故障的类型1、语句故障。

Sql语句发生逻辑性错误,这种故障系统自动恢复。

比如,将长度为20个字符的数据插入到长度只有10个字符的字段中,就发生语句故障。

2、用户进程故障。

用户在与数据库的会话中异常断开连接,如网络不通,oracle异常终止程序等。

PMON (process monitor进程监控程序)会自动执行进程恢复。

PMON是oracle的后台进程,用于检测中止的进程,PMON会通过回滚事务来处理故障,它还将释放进程当前占用的资源。

3、实例故障。

由于意外断电而导致服务器崩溃,或其中一个后台进程失败时,都会导致实例故障。

当重新启动数据库时如果发现实例故障,oracle会自动完成实例恢复。

实例恢复将数据库恢复到与故障之前的事务一致的状态,oracle会自动回滚未提交的数据。

oracle日常运维总结

oracle日常运维总结

oracle日常运维总结Oracle是一种功能强大的关系型数据库管理系统,广泛应用于各种企业级应用程序中。

作为一名Oracle数据库管理员(DBA),日常运维是我们工作的重要组成部分。

在这篇文章中,我将总结一些Oracle日常运维的经验和注意事项,希望对其他DBA或使用Oracle 的人员有所帮助。

一、备份与恢复备份和恢复是数据库管理中至关重要的一环。

我们需要定期进行数据库备份,以防止数据丢失和系统故障。

在备份过程中,我们可以使用Oracle提供的工具和功能,如RMAN(Recovery Manager)和Data Pump。

RMAN提供了完整的备份和恢复解决方案,可以进行全库备份和增量备份,并且支持备份集和归档日志的管理。

Data Pump 可以用于导出和导入数据库对象和数据,可以选择全库导出或指定对象导出。

恢复也是DBA必须掌握的技能之一。

当数据库遇到故障或数据损坏时,我们需要根据备份文件进行恢复。

在恢复过程中,我们需要了解不同的恢复场景和方法,如完全恢复、不完全恢复和点恢复。

同时,我们还要考虑日志文件的应用和恢复集的管理,确保数据的一致性和完整性。

二、性能优化Oracle数据库的性能优化是DBA不可或缺的工作之一。

通过监控和调整数据库的各个方面,我们可以提高数据库的响应速度和吞吐量,提升用户体验。

以下是一些常见的性能优化技巧:1. SQL调优:通过分析和改进SQL语句,优化查询计划和执行效率。

我们可以使用Oracle提供的SQL调优工具,如SQL Tuning Advisor和SQL Access Advisor。

2. 系统监控:通过监控数据库的系统资源利用率和性能指标,及时发现和解决性能瓶颈。

我们可以使用Oracle Enterprise Manager 或自定义脚本进行系统监控。

3. 索引优化:通过创建和维护合适的索引,加快数据检索和查询速度。

我们需要了解不同类型的索引和索引的使用场景,避免创建过多或不必要的索引。

oracle数据库备份与还原方法

oracle数据库备份与还原方法

oracle数据库备份与还原方法一、Oracle数据库备份方法。

1.1 冷备份。

冷备份是在数据库关闭状态下进行的备份。

这就好比是给一个睡着的人做全身检查,一切都是静止的,好操作。

你得把数据库相关的文件,像数据文件、控制文件、重做日志文件等一股脑儿地拷贝到一个安全的地方。

这种备份方法简单直接,但是呢,在备份期间数据库是不能使用的,就像你要修东西得先把它停下来一样,有点不方便。

不过它恢复起来也相对容易,就像把之前拷贝走的东西再原封不动地拿回来就好。

1.2 热备份。

热备份可就不一样啦,它是在数据库运行的时候进行备份的。

这就像是给一个正在跑步的人换鞋子,难度不小。

热备份主要是利用归档模式,对表空间或者数据文件进行备份。

这种方式不影响数据库的正常使用,就像在火车行驶的时候给它换个小零件,火车还能继续跑。

但是热备份的操作相对复杂一些,需要对Oracle数据库有比较深入的了解,不然很容易搞砸,那可就“偷鸡不成蚀把米”了。

1.3 逻辑备份。

逻辑备份呢,是通过Oracle的工具,比如EXP或者EXPDP来进行的。

这就像是把数据库里的数据按照一定的逻辑规则整理出来,打包带走。

它可以备份特定的表、用户或者整个数据库。

这种备份方式比较灵活,就像你可以从一个大仓库里挑选你想要备份的东西。

但是逻辑备份的速度可能会比较慢,特别是数据量很大的时候,就像小马拉大车,有点吃力。

二、Oracle数据库还原方法。

2.1 冷备份还原。

如果是冷备份还原,那就简单多啦。

首先把数据库关闭,然后把之前备份的文件再拷贝回原来的位置,就像把东西放回原位一样。

不过要注意文件的权限和路径,可不能张冠李戴。

一切就绪后,再启动数据库,就大功告成了。

这就像把修好的东西重新启动,又能正常工作了。

2.2 热备份还原。

热备份还原就复杂得多了。

首先要根据备份的情况,确定需要还原的表空间或者数据文件。

然后利用归档日志和备份文件进行恢复。

这过程就像走钢丝,得小心翼翼的。

Avamar备份和恢复oracle数据库操作手册

Avamar备份和恢复oracle数据库操作手册

Avamar备份和恢复Oracle数据库操作手册1.1 Oracle数据库备份首先要进入Sqlplus用archive log list—查看是否开启了归档模式;Oracle做热备份必须是归档模式,同时需要进入mount或open状态。

因此当发现不是归档模式时,需要采用以下步骤先把Oracle修改为归档模式才能正常备份。

1.首先关闭数据库:2.然后重新连接进sqlplus,再把Oracle启动到mount状态,然后修改成归档日志模式,修改完成后打开数据库到open状态(用alter database open 命令):1.2 Oracle数据库恢复注意:在Oracle恢复之前有几项准备工作要做:首先,在执行恢复之前,先关闭Oracle(SQL>shutdown immediate;);然后,删除联机日志和归档日志(或者转移到另外的目录)。

在测试时为了验证Oracle可恢复,在备份完成后删除了一些表,那么恢复前需要删除现有的联机日志和归档日志。

如果不删除日志,由于在恢复时,只会恢复控制文件和数据库,不会恢复日志文件,因此为了避免恢复后控制文件再去读取现有的日志文件(导致再次做删除操作),所以需要删除联机日志和归档日志(防止删除时正好联机日志做了日志切换)。

具体操作:把D盘oracle\product\10.2.0\oradata\test目录下的REDO01.LOG、REDO02.LOG的、REDO03.LOG 三个联机日志删除,然后再把D盘oracle\product\10.2.0下的相关归档日志删除。

再把Oracle启动到nomount状态,可运行如下命令:C:\Document and Setting\Administrator>sqlplus / as sysdba或C:\Document and Setting\Administrator>sqlplus /nologSQL>conn as sysdba;SQL>Startup nomount;完成以上步骤之后,就可以在Avamar上执行恢复:1.登陆Avamar Administrator管理界面,选择“backup and restore”;2.进入“Backup and Restore”界面;1)选择客户机;2)选择Windows Oracle Rman。

Avamar备份和恢复oracle数据库操作手册

Avamar备份和恢复oracle数据库操作手册

Avamar备份和恢复Oracle数据库操作手册1.1 Oracle数据库备份首先要进入Sqlplus用archive log list—查看是否开启了归档模式;Oracle做热备份必须是归档模式,同时需要进入mount或open状态。

因此当发现不是归档模式时,需要采用以下步骤先把Oracle修改为归档模式才能正常备份。

1.首先关闭数据库:2.然后重新连接进sqlplus,再把Oracle启动到mount状态,然后修改成归档日志模式,修改完成后打开数据库到open状态(用alter database open 命令):1.2 Oracle数据库恢复注意:在Oracle恢复之前有几项准备工作要做:首先,在执行恢复之前,先关闭Oracle(SQL>shutdown immediate;);然后,删除联机日志和归档日志(或者转移到另外的目录)。

在测试时为了验证Oracle可恢复,在备份完成后删除了一些表,那么恢复前需要删除现有的联机日志和归档日志。

如果不删除日志,由于在恢复时,只会恢复控制文件和数据库,不会恢复日志文件,因此为了避免恢复后控制文件再去读取现有的日志文件(导致再次做删除操作),所以需要删除联机日志和归档日志(防止删除时正好联机日志做了日志切换)。

具体操作:把D盘oracle\product\10.2.0\oradata\test目录下的REDO01.LOG、REDO02.LOG的、REDO03.LOG 三个联机日志删除,然后再把D盘oracle\product\10.2.0下的相关归档日志删除。

再把Oracle启动到nomount状态,可运行如下命令:C:\Document and Setting\Administrator>sqlplus / as sysdba或C:\Document and Setting\Administrator>sqlplus /nologSQL>conn as sysdba;SQL>Startup nomount;完成以上步骤之后,就可以在Avamar上执行恢复:1.登陆Avamar Administrator管理界面,选择“backup and restore”;2.进入“Backup and Restore”界面;1)选择客户机;2)选择Windows Oracle Rman。

OracleRMAN的备份与恢复命令详解

OracleRMAN的备份与恢复命令详解

还原检查与恢复测试
与备份检查一样,还原操作也可以检查是否能正常 restore 或者是否该备份集是否有效。如::
可以使用 CHECK LOGICAL 选项测试通过了物理损坏检查的数据和索引块,查看它们是否存在逻辑损坏,如行片或索引条目损坏。如果检测到任何块存在逻辑损坏,则 将该块记录到服务器进程的警报日志和跟踪文件中。
可以使用 MAXCORRUPT 参数设置逻辑和物理损坏的阈值。只要在某个文件中检测到的逻辑和物理损坏总和低于该值,则 RMAN 命令完成,同时 Oracle 将损坏块的 范围植入到 V$COPY_CORRUPTION 视图。如果超出 MAXCORRUPT,则该命令终 止,并且不植入视图。 当并行度比较高时,占用的计算机资源较多,但备份操作完成 速度较快。缺省情况下将启用对物理损坏的错误检查。有关在备份过程中遇到的损坏数据文件块的信息将记录在控制文件和警报日志中。
运行 BACKUP ARCHIVELOG ALL 命令。注意如果备份优化被启用,RMAN只会备份未备份过的日志
备份 BACKUP命令中定义的文件
运行 ALTER SYSTEM ARCHIVE LOG CURRENT 命令
备份所有的剩下的归档日志
备份完后删除归档日志RMAN> backup …… ARCHIVELOG all delete all input;修改备份集的保存策略例如:将备份设置为永久有效RMAN> backup database keep forever logs|nologs;设置为有效期 180 天RMAN> backup database keep until time='sysdate+180';重写configure exclude / noexclude通过 configure exclude 可以配置 RMAN 不备份上次备份以来没有发生变化的数据文件。如果要确保 RMAN备份这些数据文件,可以在 backup命令中添加 noexclude 选项。 例如:RMAN> backup database noexclude;

实验8-Oracle数据库备份与恢复

实验8-Oracle数据库备份与恢复

实验8 Oracle数据库备份与恢复1 实验目的(1)掌握Oracle数据库各种物理备份方法。

(2)掌握Oracle数据库各种物理恢复方法。

(3)掌握利用RMAN工具进行数据库的备份与恢复。

(4)掌握数据的导入与导出操作。

2 实验要求(1)对BOOKSALES数据库进行一次冷备份。

(2)对BOOKSALES数据库进行一次热备份。

(3)利用RMAN工具对BOOKSALES数据库的数据文件、表空间、控制文件、初始化参数文件、归档日志文件进行备份。

(4)利用热备份恢复数据库。

(5)利用RMAN备份恢复数据库。

(6)利用备份进行数据库的不完全恢复。

3 实验步骤(1)关闭BOOKSALES数据库,进行一次完全冷备份。

select file_name from dba_data_files;select member from v$logfile;select value from v$parameter where name='control_files';(2)启动数据库后,在数据库中创建一个名为cold表,并插入数据,以改变数据库的状态。

CREATE TABLE COLD(ID NUMBER PRIMARY KEY,NAME V ARCHAR2(25));(3)利用数据库冷备份恢复BOOKSALES数据库到备份时刻的状态并查看恢复后是否存在cold表。

(4)将BOOKSALES数据库设置为归档模式。

1.1 shutdown immediate 正常关闭数据1.2 startup mount;将数据库启动到mount状态3)、关闭flash闪回数据库模式,如果不关闭的话,在后面关闭归档日志的时候就会出现讨厌的ora-38774错误。

alter database flashback off1.3 alter database archivelog;发出设置归档模式的命令1.4 alter database open;打开数据库1.5 再次正常关闭数据库,并备份所有的数据文件和控制文件1.6 archive log list;在将数据库设置为归档模式后,可以执行此命令进行确认1.6.1 Database log mode 为Archive Mode说明当前的数据库为归档模式1.6.2 Automatic archival为Enable说明启动了自动归档。

Oracle数据库备份和恢复培训

Oracle数据库备份和恢复培训

培训内容
逻辑备份 冷备份 热备份
Rman工具
Rman
RMAN是ORACLE提供的一个备份与恢复的工具, 可以用来备份和还原数据库文件、 归档日志和控 制文件。它也可以用来执行完全或不完全的数据 SM 、HP DP、NBU、LGTO等企业级备份软件的for oracle备份模块均采用该工具。 使用方法: 在命令行下输入 Rman target / 配臵参数: Rman>show all;
Rman
2、常用参数
数据备份: Rman>backup tablespace users; 查看备份集 Rman>List backup; 修改备份路径 configure channel device type disk format 'c:\rmanbk\%d_%s_%p_%T_%t.bkp'; d 数据库名 s 为备份集的号 P为该备份集中的备份片号,从1 开始到创建的文件数 T为年月日格式(YYYYMMDD) , t时间戳 磁带为sbt,磁盘为disk,
Rman 参数 配置.txt
Rman
RMAN 文件格式 备份文件可以自定义各种各样的格式,如下: %c 备份片的拷贝数 %d 数据库名称 %D 位于该月中的第几天 (DD) %M 位于该年中的第几月 (MM) %F 一个基于DBID 唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ, 其中IIIIIIIIII 为该数据库的DBID,YYYYMMDD 为日期,QQ 是一个1-256 的序 列 %n 数据库名称,向右填补到最大八个字符 %u 一个八个字符的名称代表备份集与创建时间 %p 该备份集中的备份片号,从1 开始到创建的文件数 %U 一个唯一的文件名,代表%u_%p_%c %s 备份集的号 %t 备份集时间戳 %T 年月日格式(YYYYMMDD)

ORACLE最简单有效的备份恢复方案

ORACLE最简单有效的备份恢复方案

ORACLE 最简单有效的备份恢复方案ORACLE备份分两种,1.逻辑备份;2.物理备份;逻辑备份又分两种:传统的exp备份;10g开始支持的expdp数据泵备份;物理备份主要就是RMAN备份;最基本的原则是:这些逻辑或物理备份和数据库文件必须放在不同的硬盘上;否者一损俱损;备份就没多大意义了;如果数据库不是很大,比如在50G以下,那么我们就考虑一些傻话化的全备方案我现在的备份方案是:两个逻辑备份和RMAN 备份全部用上;1.传统dmp逻辑备份和恢复1.1传统dmp逻辑备份,这个是最简单的备份方法;现在我提供一个简单的脚本:1.1.1首先建立一个bat文件,名字叫:exp_backup.bat内容是:set oracle_username=%1set oracle_password=%2set local_tnsname=%3set url=%oracle_username%/%oracle_password%if not %local_tnsname% == "" set url=%url%@%local_tnsname%if exist %oracle_username%_old.dmp del %oracle_username%_old.dmpif exist %oracle_username%_old.log del %oracle_username%_old.logif exist %oracle_username%.dmp ren %oracle_username%.dmp %oracle_username%_old.dmpif exist %oracle_username%.log ren %oracle_username%.log %oracle_username%_old.logexp %url% file=%oracle_username%.DMP log=%oracle_username%.LOG该脚本是一个通用的最简单的exp脚本;意思就是:备份之间,把以前的备份文件修改名字,后面加上_old ,如果本来就有old文件,就删除之;之后,就开始备份;备份的文件目录和该脚本一致(这样做最简单);所以总是会出现一新一旧两个文件;当然只要最新的就行了,所以理论上只要一份文件;但是考虑有可能备份的时候突然报错,这样old文件还在,将就着使用,否者新的是坏的,旧的也没了;有的人做一周7天逻辑循环备份,我觉得没有必要,要那么多旧的备份文件何用,浪费空间;1.1.2然后再做一个bat文件,比如是my_exp.bat内容是:call exp_backup.bat USER PASSWORD ""如果是在服务器自身上备份,就不需要写入数据库服务名;如果有多个用户数据需要备份;那么就在my_exp.bat继续添加:call exp_backup.bat USER1 PASSWORD1 ""….My_EXP.BAT可以做成windows的执行计划,每天不忙的时候执行一次;1.2 exp备份的恢复下面就是恢复的最简单方法:1.2.1.把电脑上当前用户彻底删除,用命令,这样就可以把对象彻底清除;DROP USER XXX CASCADE1.2.2.再创建该用户CREATE USER xxxxIDENTIFIED BY xxxxDEFAULT TABLESPACE xxxxTEMPORARY TABLESPACE TEMP并赋予权限:GRANT DBA TO xxxx WITH ADMIN OPTION1.2.3用IMP恢复C:\> imp xxxx/xxxx FILE=xxxx.DMP LOG=xxxx.LOG FULL=Y2.10G后的数据泵expdp备份和恢复2.1 expdp 备份据说这个比exp有很多优点,这个我就不说了,大家可以自己参考资料;不过我测试下来,如果数据量小expdp 还是不如exp的;但是还是建议是使用expdp,因为数据会慢慢变大的,用expdp更好些;我最看重的是:expdp备份的文件涵盖的东西更多;所以恢复的时候方便;删除用户后,可以不用再创建用户恢复;实现方法和exp类似:不过,它的目录不像EXP那么直接,需要使用oracle的目录对象;所以2.1.1第一步先创建一个目录对象,比如:SQL>create or replace directory LOGIC_BUCKUPas 'd:\OACLE_BACKUP\逻辑备份';2.1.2建立一个通用脚本,比如叫EXPDP_BACKUP.BAT内容是:set oracle_username=%1set oracle_password=%2set local_tnsname=%3set url=%oracle_username%/%oracle_password%if not %local_tnsname% == "" set url=%url%@%local_tnsname%if exist %oracle_username%_old_dump.dmp del %oracle_username%_old_dump.dmpif exist %oracle_username%_old_dump.log del %oracle_username%_old_dump.logif exist %oracle_username%_dump.dmp ren %oracle_username%_dump.dmp %oracle_username%_old_dump.dmpif exist %oracle_username%_dump.log ren %oracle_username%_dump.log %oracle_username%_old_dump.logEXPDP %url% DIRECTORY=LOGIC_BACKUP DUMPFILE=%oracle_username%_DUMP.DMP LOGFILE=%oracle_username%_DUMP.LOG PARALLEL=2该方法与上面的dmp备份类似;2.1.3然后再做一个bat文件,比如是my_expdp.bat内容是:call expdp_backup.bat USER PASSWORD ""如果是在服务器自身上备份,就不需要写入数据库服务名;如果有多个用户数据需要备份;那么就在my_exp.bat继续添加:call expdp_backup.bat USER1 PASSWORD1 ""……同dmp备份一样,My_EXPdp.BAT也可以做成windows的执行计划,每天不忙的时候执行一次;2.2 expdp备份的恢复下面就是恢复的最简单方法:2.2.1.把电脑上当前用户彻底删除,用命令,这样就可以把对象彻底清除;DROP USER XXXX CASCADE2.2.2.用另外一个权限较高的用户(最好不是sys,比如是YYYY) 导入:C:\>IMPDP yyyy/yyyy DUMPFILE=xxxx_DUMP.DMP LOGFILE=xxxx_DUMP.LOG DIRECTORY=LOGIC_BUCKUPPARALLEL=2(这里的LOGIC_BUCKUP是oracle的对象目录,要和xxxx_dump.dup存放的目录一致)这样就OK了,也即是说用户不需要创建,数据泵文件含有了用户以及它原来的权限;从这点来讲,是不是比IMP导入更为方便;好了,两种逻辑备份讲完了,下面重点说一下RMAN备份;因为在生产系统中,逻辑备份作用不大的,因为它不能实时的备份数据,所以逻辑备份更多的时候是给开发人员互相导入数据和存储过程之类用的;RMAN备份的原理还是有点复杂的,很多细节的我也不是很清楚,不过没关系,我们可以整理出一套最简单的备份方案:3.RMAN备份和恢复3.1. RMAN备份3.1.1 首先把数据库参数关注一下,关注下面两个参数第一个参数:db_recovery_file_dest_size,上图中的大小是默认的4G,也就是归档模式下,archivelog的所有归档日志文件大小总和,如果超过这个数,就会导致数据库出问题;所以要非常小心,因而建议修改大一些,比如修改成20G;当然最本质的方法,是要按时清理无用的归档日志;第二个参数:db_recovery_file_dest ,这个参数非常重要,是11G里,存放rman备份集和归档日志的地方;默认是放在flash_recovery_area目录下的,因为我的系统的flash_recovery_area 和数据库文件在同一个硬盘,所以修改了;3.1.2.关注redo日志文件,每组里要有两个成员,1个在数据库文件的硬盘下,1个在备份文件的硬盘下,因为日志文件写入最频繁,RMAN无法对它备份,或者说任何备份工具都无法对redo日志备份;不过redo它自己可以做冗余,两个文件只要有一个在,即可;比如:3.1.3做一个最简单的rman备份脚本;3.1.3.1首先做一个txt,比如是:autorman.txt内容是:sql 'alter system archive log current';backup database;delete noprompt obsolete;这三句话的作用分别是:1.对当前redo日志进行归档;2.备份数据库3.删除无效的archive日志和rman备份集3.1.3.2 做一个bat 调用上面的autorman.txt,比如是:autorman.bat内容是:rman target / @autorman.txt然后就在winddows下做一个执行计划,每天或没隔几天,自动执行一下这个autorman.bat当然备份之前,要用rman>show all 看一下参数设置,有没有自动备份控制文件,如果没有,要加上;3.2 rman恢复Rman恢复非常简单;下面说一下步骤:3.2.1 假如最新一次全备是3天前的,先随便建立一个新表,比如是test_rman,随便插几条数据;用来测试还原后,这个最新的对象是否也给恢复了;现在用sqlplus登陆,shutdown 数据库,然后把oracle的数据库文件全部删除(控制文件,redo日志文件,数据库文件);3.2.2 用sql> startup nomount 启动数据库的参数文件,参数文件和数据库文件不在同一个硬盘,所以没丢;这时候如果执行sql>alter database mount 会报错,因为mount会加载控制文件,而控制文件已经丢了;3.3.3.把以前控制文件所在的目录建立好,否者rman找不到控制文件恢复路径;然后执行RMAN> restore controlfile from autobackup;这样控制文件就回复了,有了控制文件就好办了;3.2.4. 以为有了控制文件,所以在sqlplus里,可以装载数据库Sql>alter database mount3.2.5 数据库被装载后,说明控制文件生效了,这时候,所有的数据库信息都出来了;所以可以用rman还原数据库了:RMAN> RESTORE database;3.2.6 恢复数据库:RMAN> recover database;2.2.7 数据库现在已经全部回复好,可以重新启动了:SQL> alter database open resetlogs;数据库已更改。

oracle数据库备份与恢复方法

oracle数据库备份与恢复方法

oracle数据库备份与恢复方法
Oracle数据库备份与恢复是确保数据安全和可靠性的重要方面。

备份是指将数据库中的数据复制到另一个位置,以便在数据丢失或
损坏时进行恢复。

恢复则是指在发生故障或数据丢失时,通过备份
数据来恢复数据库到之前的状态。

一、备份方法:
1. 物理备份,物理备份是通过操作系统级别的工具(如RMAN)将数据库文件直接复制到备份位置。

可以使用RMAN命令行或图形界
面工具来执行物理备份。

2. 逻辑备份,逻辑备份是通过导出数据到逻辑文件(如SQL脚
本或数据泵文件)来进行备份。

可以使用expdp和impdp命令来执
行逻辑备份和恢复。

二、恢复方法:
1. 完全恢复,在数据库严重损坏或丢失时,可以使用完全备份
进行完全恢复。

这涉及将数据库恢复到备份时的状态,并应用任何
后续的归档日志以实现完整的恢复。

2. 不完全恢复,在某些情况下,可能只需恢复部分数据文件或表空间。

这可以通过RMAN进行部分恢复来实现。

除了上述备份和恢复方法外,还有一些其他注意事项和最佳实践:
定期备份,建立合理的备份策略,包括完整备份、增量备份和归档日志备份,以确保数据的及时备份和恢复。

测试恢复,定期测试备份和恢复过程,以确保备份数据的完整性和可用性。

数据库保护,使用冗余服务器、存储冗余和灾难恢复计划来保护数据库免受硬件故障、自然灾害和人为错误的影响。

综上所述,Oracle数据库备份与恢复是确保数据安全和可靠性的重要措施,通过合理的备份策略和恢复方法,可以最大程度地保护数据库免受数据丢失和损坏的影响。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
shutdown immediate startup mount alter database archivelog; alter database open; alter system archive log start
设置归档运行
删除恢复
如果误删除了数据文件,可以通过归档日志恢复 如果误删除了表,可以从备份中回复或者通过回闪回复 如果误删除了数据
exp system/aptech parfile='C:\parameters.txt' 使用参数文件导出数据
导入命令 2-1
导入实用程序有如下常用命令参数:
参数 USERID BUFFER COMMIT
FILE FROMUSER TOUSER
FULL TABLES ROWS PARFILE
备份与归档
Oracle 数据库可以运行在两种归档方式:
非归档日志方式 归档日志方式
非归档日志方式可以避免实例故障,但无法避免介质故障。在此方式 下,数据库只能实施冷备份
归档日志方式产生归档日志,用户可以使用归档日志完全恢复数据库
archive log list:查看归档方式 可以通过em设置是否归档运行 手工修改为归档模式
Oracle备份与恢复
java培训
oracle的备份
备份与恢复是数据库管理工作中非常重要的任务之一 oracle提供多种备份方式
物理备份:备份常用的数据文件,配置等 逻辑备份:对逻辑组件(表等)的备份
故障类型
导致数据库操作中止的故障包括四种类型:
故障类型
语句故障
用户进程故障
实例故障
介质故障
在当执用行户当S程OQ序rLa出c语le错句的而过数无程据法中库访发实问生例数的由据逻于库辑硬时故件发障或生可软用导件户致问进语题程句而故故无障障法。。导如致果 用户用进户程编故写继障的续的S运原Q行L因时语是,句异就无常会效断发,开生就连实会接例发或故生异障逻常辑终故止障进程
在数据库无法正确读取或写入某个数据库文件时, 会发生介质故障
导入命令 2-2
imp accp/accp@accp file=item_back.dmp ignore=y full=y 将整个文件导入数据库
imp system/aptech@accp file=scott_back fromuser=scott touser=martin tables=(emp,dept)
说明 指定执行导入的用户名和密码 指定用来读取数据的缓冲区大小,以字节为单位 指定是否在每个数组(其大小由BUFFER参数设置)插入后进 行提交 指定要导入的二进制文件名 指定要从导出转储文件中导入的用户模式 指定要将对象导入的用户名。FROMUSER与TOUSER可以不 同 指定是否要导入整个导出转储文件 指定要导入的表的列表 指定是否要导入表中的行 指定传递给导入实用程序的参数文件名,此文件可以包含这里
导出实用程序
exp scott/tiger@accp file=scott_back owner=scott 按用户方式导出数据
exp scott/tiger@accp tables=(emp, dept) file=scott_back_tab 按表方式导出数据
exp system/aptech@accp tablespaces=(users) file=tbs_users 按表空间方式导出数据
将scott用户的表导入到 martin用户
imp system/oracle parfile='C:\parameters.txt' 使用参数文件导入数据
impdp:数据泵导入模式 expdp:数据泵导出模式
支持从用户导入、导出到用户 效率更高 增量备份更加简单
数据泵导出导入模式
导出导入备份
导出和导入实用程序用于实施数据库的逻辑备份和恢复 导出实用程序将数据库中的对象定义和数据备份到一个操作系统二进
制文件中 导入实用程序读取二进制导出文件并将对象和数据载入数据库中 可以在联机状态下进行备份和恢复 支持命令行参数和参数文件
导出导入模式
导出导入模式
完全数据库
可以采用从备份中恢复的方式 可以通过回闪到时间点的方式ቤተ መጻሕፍቲ ባይዱ复
数据库的备份是数据库的日常操作之一 灵活运用归档、冗余的方式避免数据损失
总结

用户
表空间
导出实用程序
导出实用程序有以下常用命令参数:
参数
USERID BUFFER FILE FULL
OWNER HELP ROWS TABLES PARFILE TABLESPACES
说明
确定执行导出实用程序的用户名和口令 确定导出数据时所使用的缓冲区大小,其大小用字节表示 指定导出的二进制文件名称,默认的扩展名是.dmp 指定是否以全部数据库方式导出,只有授权用户才可使用此参 数 要导出的数据库用户列表 指定是否显示帮助消息和参数说明 确定是否要导出表中的数据 按表方式导出时,指定需导出的表和分区的名称 指定传递给导出实用程序的参数文件名 按表空间方式导出时,指定要导出的表空间名
相关文档
最新文档