1.备份 停止所有的oracle服务,复制Oracle目录下的oradata文件夹下的数据库名整个目录复制备份。 这样冷备份就完成了,当然也可以像网上所说的: 示例一、windows环境下的冷备份与恢复 2.恢复: 今天网上找了很多恢复的都不管用,结果今天下午搞了一个下午,试了很多方法,终于可以了,以下我是总结的方法: 1.首先要注意恢复的到Oracle 版本和路径必须与原来备份的一样。 2.新建一个数据库与原来名称一样的数据库(如SD) 3.停止所有的Oracle服务,到Oracle目录下的oradata把新建的数据库(SD)删除,把备份的文件复制进来。 4.重启一下Oracle服务 5.如果用PL\SQL连接会提示ora-01033:oracle initialization or shutdown in progress错误。解决办法如下,引用他人文章: 分析:应该是Oracle在启动后,用户登录时是要将方案中原有配置信息装载进入,装载过程中遇到原有文件指定的位置上没有找到,所以就报出错误。 四、解决过程: 1、我在解决时由于着急使用,便用Database Configuration Assistant工具重新创建了一个新的库,临时解决急用的问题,同时也给后期解决ora-01033问题埋下了隐患。 就可以解决了。 附:oracle备份比较 Oracle的备份与恢复有三种标准的模式,大致分为两大类,备份恢复(物理上的)以及导入导出(逻辑上的),而备份恢复又可以根据数据库的工作模式分为非归档模式(Nonarchivelog-style)和归档模式(Archivelog-style),通常,我们把非归档模式称为冷备份,而相应的把归档模式称为热备份,他们的关系如下所示 三种方式各有优点,我们做个比较(这个是用Fireworks画的,有点糙): $A: 现在先来介绍一下逻辑备份方式的方法,利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。理论基础:Oracle提供的Export和Import具有三种不同的操作方式(就是备份的数据输出(入)类型): 1,表方式(T) 可以将指定的表导出备份; 2,全库方式(Full) 将数据库中的所有对象导出; 3,用户方式(U) 可以将指定的用户相应的所有数据对象导出; *在导入导出备份方式中,提供了很强大的一种方法,就是增量导出/导入,但是它必须作为System来完成增量的导入导出,而且只能是对整个数据库进行实施。增量导出又可以分为三种类别: 1,完全增量导出(Complete Export) 这种方式将把整个数据库文件导出备份;exp system/manager inctype=complete file=20041125.dmp(为了方便检索和事后的查询,通常我们将备份文件以日期或者其他有明确含义的字符命名) 2,增量型增量导出(Incremental Export) 这种方式将只会备份上一次备份后改变的结果;exp system/manager inctype=incremental file=20041125.dmp 3,累积型增量导出(Cumulate Export) 这种方式的话,是导出自上次完全增量导出后数据库变化的信息。exp system/manager inctype=cumulative file=20041125.dmp 通常情况下,DBA们所要做的,就是按照企业指定或者是自己习惯的标准(如果是自己指定的标准,建议写好计划说明),一般,我们采用普遍认可的下面的方式进行每天的增量备份: Mon: 完全备份(A) 这样,我们可以保证每周数据的完整性,以及恢复时的快捷和最大限度的数据损失。恢复的时候,假设事故发生在周末,DBA可按这样的步骤来恢复数据库: $B 物理备份之冷备份(条件-NonArchiveLog): 当数据库可以暂时处于关闭状态时,我们需要将它在这一稳定时刻的数据相关文件转移到安全的区域,当数据库遭到破坏,再从安全区域将备份的数据库相关文件拷贝回原来的位置,这样,就完成了一次快捷安全等数据转移。由于是在数据库不提供服务的关闭状态,所以称为冷备份。冷备份具有很多优良特性,比如上面图中我们提到的,快速,方便,以及高效。一次完整的冷备份步骤应该是: 1,首先关闭数据库(shutdown normal) 2,拷贝相关文件到安全区域(利用操作系统命令拷贝数据库的所有的数据文件、日志文件、控制文件、参数文件、口令文件等(包括路径)) 3,重新启动数据库(startup) 以上的步骤我们可以用一个脚本来完成操作: su – oracle < sqlplus /nolog 恢复的时候,相对比较简单了,我们停掉数据库,将文件拷贝回相应位置,重启数据库就可以了,当然也可以用脚本来完成。 $C 物理备份之热备份:(条件-ArchiveLog) 当我们需要做一个精度比较高的备份,而且我们的数据库不可能停掉(少许访问量)时,这个情况下,我们就需要归档方式下的备份,就是下面讨论的热备份。热备份可以非常精确的备份表空间级和用户级的数据,由于它是根据归档日志的时间轴来备份恢复的,理论上可以恢复到前一个操作,甚至就是前一秒的操作。具体步骤如下: 1,通过视图v$database,查看数据库是否在Archive模式下: SQL> select log_mode from v$database; 则设定数据库运行于归档模式下:SQL>shutdown immediate 注意:当数据库处在ARCHIVE模式下时,一定要保证指定的归档路径可写,否则数据库就会挂起,直到能够归档所有归档信息后才可以使用。另外,为创建一个有效的备份,当数据库在创建时,必须履行一个全数据库的冷备份,就是说数据库需要运行在归档方式,然后正常关闭数据库,备份所有的数据库组成文件。这一备份是整个备份的基础,因为该备份提供了一个所有数据库文件的拷贝。(体现了冷备份与热备份的合作关系,以及强大的能力) 2,备份表空间文件: a,首先,修改表空间文件为备份模式 ALTER TABLESPACE tablespace_name BEGIN BACKUP; b,然后,拷贝表空间文件到安全区域 !CP tablespace_name D_PATH; c,最后,将表空间的备份模式关闭 ALTER TABLESPACE tablespace_name END BACKUP; 3,对归档日志文件的备份: 停止归档进程-->备份归档日志文件-->启动归档进程 如果日志文档比较多,我们将它们写入一个文件成为一个恢复的参考:$ files `ls <归档文件路径>/arch*.dbf`;export files 4,备份控制文件: 当然,我们也可以将上面的东东写为一个脚本,在需要的时候执行就可以了: 脚本范例: su – oracle < sqlplus /nolog !CP tablespace_name D_PATH ALTER TABLESPACE tablespace_name END BACKUP alter database backup controlfile to 'controlfile_back_name(一般用2004-11-20的方式)' reuse; !files `ls <归档文件路径>/arch*.dbf`;export files 热备份的恢复,对于归档方式数据库的恢复要求不但有有效的日志备份还要求有一个在归档方式下作的有效的全库备份。归档备份在理论上可以无数据丢失,但是对于硬件以及操作人员的要求都比较高。在我们使用归档方式备份的时候,全库物理备份也是非常重要的。归档方式下数据库的恢复要求从全备份到失败点所有的日志都要完好无缺。 --------------------------------------------路径不一致的恢复方法--------------------------------------------
近日,我想把oracle数据库从我的电脑上迁移到机房的电脑上,一开始采用dmp/imp方式,但是发现需要导出很多用户,太麻烦。所以决定采用冷备份/冷恢复的方式。 过程如下: 通过v$controlfile查看控制文件,通过v$logfile查看重做日志文件,通过V$DATAFILE查看数据文件,发现他们都处于同一文件夹中i:\oracle\oradata\test中,索性都复制到另一台机器的e:\oracle\oradata\test中,复制之前shutdown系统。还复制了inittest.ora后来发现他指向另一个init.ora,又复制了这个init.ora,还复制了一个口令文件PWDtest.ora到机房电脑的相应位置。startup后,发现无法运行,我想应该是两个oracle安装路径不同的原因,首先修改了init.ora中的控制文件的路径,还是不行,我想应该修改控制文件中的数据文件路径信息,如何修改呢?网上一顿查找,终于找到了如下方法: 首先,在原电脑上: 1. 备份数据库中的数据,以防不测。 2. svrmgrl 3. svrmgrl>connect internal/oracle 4. svrmgrl>alter database backup controlfile to trace; 备份控制文件 5. 在/home/oracle//admin/ora7/udump下可找到最新生成的TRACE文件,假设为ora_15269.trc,此文件就包含了当前控制文件的参数及生成语法。 6. 提取ora_15269.trc中有关控制文件生成的语句另存为creatctl.sql。7. 修改creatctl.sql中的路径信息;8.然后,复制到目标电脑上,并且在目标电脑上9. svrmgrl 10. svrmgrl>connect internal 11. svrmgrl>shutdown immediate 12. svrmgrl>@creatctl.sql 13. svrmgrl>alter database open;数据库迁移成功.] 总结: 冷备份需要在oracle shutdown的情况下,拷贝如下文件:1.数据文件;2.控制文件;3。日志文件;4。init数据库实例名.ora文件,及其内部指向的init.ora文件;5 口令文件PWD数据库实例名.ora;然后,安装oracle,实例名和以前相同,安装路径等最好也相同,shutdown,拷贝上述文件到相应位置,如果安装位置和以前不同,需要修改init*.ora,和控制文件中的路径信息。
--------------------------------------------路径不一致的恢复方法-------------------------------------------- |
mysql数据表冷备 数据库冷备份与恢复
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Oracle数据库冷备份与恢复
接着上篇,由于无法搭建dg,业务方让把现在的主库数据克隆一份到之前准备的从库服务
控制文件 服务器 目录结构