利用已有的数据文件实现oracle恢复
- 格式:doc
- 大小:39.00 KB
- 文档页数:5
oracle11g还原数据库步骤概述说明以及解释引言部分的内容可以按照如下方式撰写:1. 引言1.1 概述引言部分将介绍本篇文章的主题,即Oracle 11g数据库还原步骤。
数据库还原是一项至关重要的任务,它可以帮助恢复丢失或损坏的数据,并确保系统的连续性和可靠性。
在本文中,我们将深入探讨Oracle 11g数据库还原的步骤和过程,以及执行还原操作前需要注意的准备工作。
1.2 文章结构在本文中,我们将按照以下顺序来讨论Oracle 11g数据库还原:- 首先,我们将介绍Oracle 11g数据库还原的重要性,阐述为什么必须进行数据库还原操作。
- 其次,我们将概述Oracle 11g数据库还原的步骤,并列出每个步骤的简要说明。
- 第三部分我们将详细描述执行数据库还原操作前所需进行的准备工作。
- 接下来,我们将提供执行数据库还原操作的详细步骤,包括必要时涉及到的命令和工具。
- 最后,我们将讨论完成数据库还原后进行验证和测试的方法与技巧。
1.3 目的本文旨在为读者提供有关Oracle 11g数据库还原的全面指南。
通过学习本文,读者将能够了解数据库还原的重要性、掌握进行数据库还原操作的步骤和技巧,并且能够有效地验证和测试还原后的数据库。
我们希望这篇文章能够帮助读者在数据库还原过程中避免常见错误,并提供相关提示和建议。
2. 正文:2.1 Oracle 11g数据库还原的重要性在数据库管理中,数据的安全性和完整性是至关重要的。
由于各种原因,比如硬件故障、用户误操作或者系统遭受攻击,数据库可能会丢失或损坏。
因此,在这些情况下,数据库还原变得非常重要。
Oracle 11g数据库还原是指恢复已经丢失或被损坏的数据到其先前可用状态的过程。
2.2 Oracle 11g数据库还原的步骤概述数据库还原通常包括以下主要步骤:- 备份介质准备:确定可用的备份介质,并确保其处于良好状态。
- 目标库环境准备:在目标库上创建必需的目录结构,并配置参数以适应还原操作。
Oracle备份与恢复案例By Piner一. 理解什么是数据库恢复当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。
因此当发生上述故障后,希望能重构这个完整的数据库,该处理称为数据库恢复。
恢复过程大致可以分为复原(Restore)与恢复(Recover)过程。
数据库恢复可以分为以下两类:1.1实例故障的一致性恢复当实例意外地(如掉电、后台进程故障等)或预料地(发出SHUTDOUM ABORT语句)中止时出现实例故障,此时需要实例恢复。
实例恢复将数据库恢复到故障之前的事务一致状态。
如果在在线后备发现实例故障,则需介质恢复。
在其它情况Oracle在下次数据库起动时(对新实例装配和打开),自动地执行实例恢复。
如果需要,从装配状态变为打开状态,自动地激发实例恢复,由下列处理:(1)为了解恢复数据文件中没有记录的数据,进行向前滚。
该数据记录在在线日志,包括对回滚段的内容恢复。
(2)回滚未提交的事务,按步1重新生成回滚段所指定的操作。
(3)释放在故障时正在处理事务所持有的资源。
(4)解决在故障时正经历一阶段提交的任何悬而未决的分布事务。
1.2介质故障或文件错误的不一致恢复介质故障是当一个文件、一个文件的部分或磁盘不能读或不能写时出现的故障。
文件错误一般指意外的错误导致文件被删除或意外事故导致文件的不一致。
这种状态下的数据库都是不一致的,需要DBA手工来进行数据库的恢复,这种恢复有两种形式,决定于数据库运行的归档方式和备份方式。
(1)完全介质恢复可恢复全部丢失的修改。
一般情况下需要有数据库的备份且数据库运行在归档状态下并且有可用归档日志时才可能。
对于不同类型的错误,有不同类型的完全恢复可使用,其决定于毁坏文件和数据库的可用性。
(2)不完全介质恢复是在完全介质恢复不可能或不要求时进行的介质恢复。
ORACLE11G数据库热备份恢复的方法ology系统当中的部分表和视图不能被导出。
且exp的导出命令不会出现错误日志。
后来查资料找到了另一种解决数据备份恢复的方法:用expdp和impdp命令导出导入数据则没有上述问题。
完整的从服务器创建数据库备份恢复到本机测试环境的脚本如下:注,红色部分可能环境不同需要调整的变量。
--按win+R键打开运行、输入cmd进入命令行--输入Oralce命令行命令:slplus /nolog--sysdba身份登录Oracle数据库conn sys/Oracle1234$@orcl as sysdba--更改oracle配置参数alter system set &uot_allow_level_without_connect_by&uot=true;--创建临时报空间create temporarytablespaceecology_temptempfile'D:\Developer\oracle\orad ata\orcl\ecology_temp.dbf' size 32M autoextend on next 32M maxsize 2048M extent management local;--创建报空间create tablespaceecology logging datafile'D:\Developer\oracle\oradata\orcl\ecology.dbf' size 32M autoextend on next 32M maxsize 2048M extent management local;--创建备份输出目录(如果此目录在服务上不存在,则需要手动创建)create directory dmpdir as 'D:\ecology_data';--创建用户create user ecology identified by ecology default tablespace ecology temporarytablespaceecology_temp;--给ecology用户授权grant connect, resource, exp_full_database, imp_full_database to ecology;grant create session to ecolo。
DBF⽂件恢复ORACLE数据库的⽅法⽬录起因解决前期准备操作步骤期间遇到的问题问题⼀问题⼆问题三清·魏源《庸易通义》:“⾄道问学之有知⽆⾏,分温故为存⼼,知新为致知,⽽敦厚为存⼼,崇礼为致知,此皆百密⼀疏。
”起因在我们的⽣产活动中,意外总是在不经意间发⽣。
那天⼀个安装有 oracle 数据库的盘符不⼩⼼被格式化了,好⼏个项⽬都炸了。
不过还好有备份,不过只有 .DBF ⽂件和⼏个⽇志⽂件://数据库系统相关REDO01.LOGREDO02.LOGREDO03.LOGSYSTEM01.DBFUNDOTBS01.DBFSYSAUX01.DBFUSERS01.DBF//项⽬相关xxx.DBF解决前期准备重新安装和之前⼀样的数据库版本、实例名都和之前的⼀致;编写创建控制⽂件 CONTROLFILE 的命令。
控制⽂件(Control File)是Oracle的物理⽂件之⼀,它记录了数据库的名字、数据⽂件的位置等信息。
控制⽂件的重要性在于,⼀旦控制⽂件损坏,数据库将会宕机。
如果没有数据库的备份和归档⽇志⽂件,数据库将⽆法恢复。
因此,我们应该多路镜像控制⽂件(Multiplex Control Files),并把每个镜像的控制⽂件分布在不同的物理磁盘。
根据经验,控制⽂件多路镜像以后,⼏个控制⽂件同时坏掉的可能性⼏乎为零。
控制⽂件管理的重⼼是重在预防,⽽不是亡⽺补牢!控制⽂件实例:CREATE CONTROLFILE REUSE DATABASE "数据库名(orcl)" NORESETLOGS ARCHIVELOGMAXLOGFILES 16MAXLOGMEMBERS 3MAXDATAFILES 100MAXINSTANCES 8MAXLOGHISTORY 454LOGFILEGROUP 1 '需要恢复的⽇志⽂件路径(E:\oradata\orcl\)REDO01.LOG' SIZE 50M,GROUP 2 '同上\REDO02.LOG' SIZE 50M,GROUP 3 '同上\REDO03.LOG' SIZE 50MDATAFILE(数据⽂件)-- 系统相关'需要恢复的数据⽂件路径(E:\oradata\orcl\)SYSTEM01.DBF','需要恢复的数据⽂件路径(E:\oradata\orcl\)UNDOTBS01.DBF','需要恢复的数据⽂件路径(E:\oradata\orcl\)SYSAUX01.DBF','需要恢复的数据⽂件路径(E:\oradata\orcl\)USERS01.DBF',-- ⽤户数据相关'需要恢复的数据⽂件路径(E:\oradata\orcl\)TEST01.DBF','需要恢复的数据⽂件路径(E:\oradata\orcl\)TEST02.DBF''CHARACTER SET ZHS16GBK;操作步骤1.进⼊ cmd 输⼊命令:sqlplus然后以数据库管理员⾝份登录系统,输⼊:sys / as sysdba输⼊命令回车,下⼀步输⼊密码即可进⼊到数据库命令⾏模式。
oracle数据库还原的详细流程
Oracle数据库还原的详细流程如下:
1. 关闭Oracle数据库服务:在开始还原之前,需要确保Oracle数据库服务已经关闭。
这样可以避免在还原过程中发生数据冲突或损坏。
2. 确认数据库备份:在开始还原之前,需要确认数据库的备份情况。
数据库的备份可以分为完全备份和增量备份两种。
完全备份是指对整个数据库进行备份,而增量备份是在完全备份的基础上,对新增或修改的数据进行备份。
可以通过查看备份记录或者与负责备份的人员进行沟通来确认备份情况。
3. 选择合适的还原方式:根据备份文件的位置和可用资源,选择适合的还原方式。
例如,如果备份文件在本地磁盘上,可以选择磁盘还原;如果备份文件在云端,可以选择云存储还原。
4. 执行还原操作:根据选择的还原方式,执行相应的操作。
例如,在磁盘还原中,需要将备份文件复制到目标磁盘中。
在云存储还原中,需要将备份文件从云存储下载到本地或直接在云平台上进行还原。
5. 启动Oracle数据库服务:完成还原后,启动Oracle数据库服务,验证数据是否正确加载并可用。
请注意,以上步骤仅供参考,具体操作可能因实际情况而有所不同。
在进行数据库还原时,建议参考Oracle官方文档或咨询专业人士以获取更准确的信息和指导。
ORACLE使用数据文件恢复数据库一、问题描述Oracle控制文件丢失,数据文件完整,导致数据库实例不能启动。
在修改数据库服务器的计算机名称、IP地址后,修改和文件中的HOST地址后不能启动数据库实例或启动后不能登录使用数据,以及未能查找并解决数据库启动失败原因时可以通过重建控制文件的方式对数据库实例进行恢复。
二、恢复方法1、恢复前准备工作1)备份数据文件,文件路径为%ORACLE_NOME%/oradata/xxxx(xxxx为数据库实例)。
2)备份ORACLE安装路径下的Oracle\product\(xxxx为数据库实例)。
3)ORACLE安装文件2、恢复步骤1)安装oracle数据库,安装时不要创建数据库实例2)创建数据库实例:安装完成后创建数据库实例,实例名与原数据库实例相同,并创建监听服务。
3)拷贝数据文件:停止oracle相关服务,拷贝备份的数据文件到新安装的oracle数据库安装位置对应路径下,删除新成的控制文件及日志文件(%ORACLE_NOME%/oradata/下所有文件)、完成后重启oracle相关服务。
4)准备重建控制文件脚本:打开事先备份的文件,查找最后一个create controlfile 语句并修改以下几部分。
a)若该语句中包含NORESETLOGS,则将其修改为RESETLOGS;原因是重做日志文件已经丢失。
b)LOGFILE段是指定重做日志文件到期望的文件位置。
c)DATAFILE段是指定到数据文件的实际文件位置。
不能包含临时表空间用到的文件,否则报错(ora-01503,ora-01160,ora-01110)。
注意:create controlfile语句中如果包含NOARCHIVELOG,则为非归档模式,如为ARCHIVELOG,则为归档模式,没有则保持没有。
5)重建控制文件a)打开sqlplus,使用DBA(sys)用户登录到数据库示例:打开cmd,执行sqlplus /nolog 回车SQL>Conn sys/password as sysdbab)关闭数据库示例:SQL>Shutdown immediate;c)启动数据库,但不挂载数据文件SQL>Startup nomount;d)重建控制文件,执行准备好的重建控制文件脚本示例:Create controlfile reuse set database "cognos" MAXINSTANCES 8MAXLOGHISTORY 1MAXLOGFILES 16MAXLOGMEMBERS 3MAXDATAFILES 100Datafile'C:\oracle\product\','C:\oracle\product\','C:\oracle\product\','C:\oracle\product\','C:\oracle\product\'LOGFILE GROUP 1 ('C:\oracle\product\') SIZE 51200K, GROUP 2 ('C:\oracle\product\') SIZE 51200K,GROUP 3 ('C:\oracle\product\') SIZE 51200K RESETLOGS e)带resetlogs参数启动数据库,目的重新生成重做日志文件SQL>Alter database open resetlogs注意:执行启动数据库时报错(ORA-01194,ORA-01110),解决办法:recover重做日志文件。
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 数据库管理员可以排定⼀个备份⽇程表,⽤数据导出的三个不同⽅式合理⾼效的完成。
利用Oracle冷备份备份恢复ArcSDE数据系统环境操作系统:Window 2003 Server 32Bit数据库:Oracle 10.2.0.4 32Bit中间件:ArcSDE10备份机制冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。
冷备份时将关键性文件拷贝到另外的位置的一种说法。
对于备份Oracle信息而言,冷备份是最快和最安全的方法。
具体实施原数据关闭数据库拷贝文件拷贝文件包括:数据文件、控制文件、日志文件。
打开数据库相关操作删除一个栅格镶嵌数据集,导入一个新的矢量数据集。
实施备份我们看到覆盖之前的文件时间与前面我们备份的时间不同。
首先关闭数据库(如上操作),然后将原来备份的相关文件覆盖到现在的文件中。
打开数据库恢复数据特别提示细心的朋友可能会观察到我的文件里面并没有SDE.dbf数据文件,这个大家千万不能忘记,因为我们主要是备份恢复SDE数据,我的SDE表空间数据文件与数据库的相关文件不在一块存放,所以大家一定不要忘记对SDE数据的备份。
从上面的可以看到,如果不是那种非要在线的系统,冷备份是比较简单的备份方式,而且恢复也没有什么问题,就是数据的复制粘贴而已,建议大家采用这种纯数据库的方式来进行备份恢复管理。
说明该文档为作者在学习ArcGIS的一些笔记(自己学习、ArcGIS帮助、网络资源、高手请教相结合),难免有一些表达不全面或者理解有出入的,还请各位多多指教!广告博客/index.php?uid-121719:欢迎访问GIS博客By Lish为昆哥喝彩。
Oracle RAC 环境数据备份与恢复方案【导读】某企业因项目需要在Oracle RAC集群环境下,根据实际情况对Oracle数据库进行备份;使用生产环境的rman全备数据,进行恢复数据搭建测试环境。
本文将详细介绍此案例中Oracle数据库rman全备份过程、Oracle RAC 环境下rman备份数据如何恢复至单机服务器。
考虑到非常的实用,将实施经验分享给更多同行进行交流学习。
一、背景环境生产环境使用两台DELL R840 服务器,安装了 linux centos 7.6操作系统,并配置多路径,使用 EMC untiy 作为共享存储,分配了2个1T LUN 存储数据库文件,1个500G LUN存放归档数据,3个30G LUN存放 OCR 、FALSH、GIMR 数据。
Oracle RAC 软件版本是19C 19.0.0.0.0。
二、数据备份1、备份策略为保障oracle rac 集群数据安全,因项目组要求设计数据库备份方案。
考虑到服务器RAC1与RAC2每台服务器自带2T本地可用容量,每次全备产生约400GB数据文件。
可将奇数天备份到RAC1,偶数天备份到RAC2,4*400GB=1.6TB,每台服务器可以备份4天的全量数据。
空间非常的富余,不计划使用rman的增量备份,直接全量备份近8天数据,恢复也较为方便。
2、备份过程在RAC1主机下执行,(RAC2同理)首先Oracle 数据库开启归档,归档模式下,才可以进行数据库的热备份、联机备份、手工备份等。
非归档模式下,只能进行冷备份。
当然我们rman备份是在线备份。
如下图:接着,创建rman脚本目录创建备份执行脚本,并加入定时任务创建备份数据清理脚本,并加入定时任务,只备份近4次数据,脚本会自动判断最近一次rman备份是否成功,不成功将不删除备份数据。
这里我调用了zabora.sh 脚本判断rman备份状态,sql语句也比较简单。
定时任务(RAC1)定时任务 (RAC2)记得重启定时任务创建rman执行脚本,用于被上述执行脚本调用3、测试验证第一次可手动执行备份任务,不等到凌晨自动执行查看日志log备份完成如下图:三、数据恢复因为本项目使用的是全备数据,无增量。
利用已有的数据文件实现oracle恢复
2009-04-26 20:54 567人阅读评论(0) 收藏举报
实现步骤如下:
1.安装数据库,创建数据库实例ORCL。
2.删除安装目录下所有的文件(datafiles,control files,log files)
3.把需要恢复的数据库的数据文件复制到此目录下。
4.重建控制文件。
内容如下:
CREATE CONTROLFILE REUSE DATABASE "orcl" NORESETLOGS NOARCHIVELOG MAXLOGFILES 16
MAXLOGMEMBERS 2
MAXDATAFILES 30
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'D:/oracle/product/10.2.0/oradata/orcl/redo01.log' SIZE 50M,
GROUP 2 'D:/oracle/product/10.2.0/oradata/orcl/redo02.log' SIZE 50M,
GROUP 3 'D:/oracle/product/10.2.0/oradata/orcl/redo03.log' SIZE 50M
DATAFILE
'D:/oracle/product/10.2.0/oradata/orcl/SYSTEM01.DBF',
'D:/oracle/product/10.2.0/oradata/orcl/UNDOTBS01.DBF',
'D:/oracle/product/10.2.0/oradata/orcl/USERS01.DBF',
'D:/oracle/product/10.2.0/oradata/orcl/SYSAUX01.DBF',
'D:/oracle/product/10.2.0/oradata/orcl/REPDBSPACE.DBF',
'D:/oracle/product/10.2.0/oradata/orcl/ODSDBSPACE.DBF',
'D:/oracle/product/10.2.0/oradata/orcl/EXAMPLE01.DBF',
'D:/oracle/product/10.2.0/oradata/orcl/DWDBSPACE.DBF',
'D:/oracle/product/10.2.0/oradata/orcl/DMDBSPACE.DBF',
'D:/oracle/product/10.2.0/oradata/orcl/DBSPACE.DBF'
;
SQL>conn sys/pw as sysdba;
SQL>shutdown immediate;
SQL>startup nomount;
SQL> @d:controlfile.sql
期间出错,
1)提示需要恢复的实例名称和文件头部的实例名称不符。
(原因是创建的实例TEST和需要恢复的实例名称ORCL不一致,后删除实例重建名为ORCL的实例,继
续进行。
)
2)提示temp.dbf不是数据文件,把此条删除,重新执行。
(temp.dbf不能在此阶段定义,等数据库恢复后再进行创建即可)
3)指定的redo文件大小不符。
(开始是自己创建了3个文件,文件大小为0k,和controlfile.sql内指定的50m不一致。
把原始文件复制过
来,定义成原始文件大小即可)
5.恢复数据库
recover database using backup controlfile until cancel;
出现错误:
1)介质文件需要需要恢复
(使用命令recover datafile filename;进行逐条恢复)
SQL> recover database using backup controlfile until cancel;
ORA-00279: ?? 70123 (? 02/28/2005 15:22:05 ??) ???? 1 ????
ORA-00289: ??: C:/ORACLE/ORADATA/TESTDB/ARCHIVE/1_3.DBF
ORA-00280: ?? 70123 ???? 1 ???? # 3 ???
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
ORA-01547: ??: RECOVER ??? OPEN RESETLOGS ???????
ORA-01194: ??1?????????????
ORA-01110: ???? 1: 'C:/ORACLE/ORADATA/TESTDB/SYSTEM01.DBF'
ORA-01112: ???????
我们看到如果是abort DOWN机的话,打开数据库都需要应用在线活动日志
这时必须加隐含参数强制打开数据库,并进行导出,重建数据库,导入业务数据
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- -----------------------------
spfile string %ORACLE_HOME%/DATABASE/SPFILE
ORACLE_SID%.ORA SQL> create pfile='pfiletest.ora' from spfile;
文件已创建。
SQL> create pfile='c:/pfiletest.ora' from spfile;
文件已创建。
编辑c:/pfiletest.ora
增加三个参数
_allow_resetlogs_corruption=true
_corrupted_rollback_segments=true
_offline_rollback_segments=true
SQL> shutdown immediate
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>
SQL>
SQL>
SQL> startup pfile='c:/pfiletest.ora' ORACLE 例程已经启动。
Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes
数据库装载完毕。
ORA-01589: 要打开数据库则必须使用RESETLOGS 或NORESETLOGS 选
项
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR 位于第1 行:
ORA-01092: ORACLE 例程终止。
强行断开连接
SQL>
SQL>
SQL> exit
从Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production With the Partitioning, OLAP andOracleData Mining options JServer Release 9.2.0.1.0 - Production中断开
C:/>sqlplus "/as sysdba"
SQL*Plus: Release 9.2.0.1.0 - Production on 星期五12月31 14:03:09
2004
Copyright (c) 1982, 2002, Oracle Corporation. All rights
reserved.
已连接到空闲例程。
SQL> startup pfile='c:/pfiletest.ora'
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes Fixed Size 453492 bytes
Variable Size 109051904 bytes Database Buffers 25165824 bytes
Redo Buffers 667648 bytes 数据库装载完毕。
数据库已经打开。
SQL>。