我的操作系统是red hat5.5 32位系统oracle11g

以我的系统为例:

冷备状态下,数据库必须是关闭的,但是我们现在要做一个实验,在开库的状态下分别查询出:

1.show parameter spfile

记录spfile的位置:/u01/oracle/dbs/spfileprod.ora

2.show parameter control

记录控制文件的位置:

/u01/oradata/prod/control01.ctl, /u01/flash_recovery_area/prod/control02.ctl

3.select name  from v$datafile;

记录数据文件的位置:

/u01/oradata/prod/system01.dbf
/u01/oradata/prod/sysaux01.dbf
/u01/oradata/prod/undotbs01.dbf
/u01/oradata/prod/users01.dbf
/u01/oradata/prod/example01.dbf

4,select member  from v$logfie;

记录日志文件的位置:

/u01/oradata/prod/redo03.log
/u01/oradata/prod/redo02.log
/u01/oradata/prod/redo01.log

然后shutdown immediate关闭数据库

mkdir -p /home/oracle/cold_backup

将上述查到各个文件的路径复制到cold_backup文件夹下

cp /u01/oracle/dbs/spfileprod.ora /home/oracle/cold_backup

cp /u01/oradata/prod/control01.ctl /home/oracle/cold_backup

cp /u01/flash_recovery_area/prod/control02.ctl /home/oracle/cold_backup

cp /u01/oradata/prod/*.dbf /home/oracle/cold_backup

cp /u01/oradata/prod/*.log /home/oracle/cold_backup(redo日志可备也可不备)

模拟数据库损坏

rm -rf /u01/oracle/dbs/spfileprod.ora

rm -rf /u01/oradata/prod/control01.ctl

rm -rf /u01/flash_recovery_area/prod/control02.ctl

rm -rf /u01/oradata/prod/*.dbf

rm -rf  /u01/oradata/prod/*.log

这时打开数据发现报错缺失各种文件,然后按照县恢复参数文件---控制文件----数据文件的顺序对数据库进行恢复

mkdir -p /home/oracle/controlfile

mkdir -p /home/oracle/datafile

mkdir -p /redologfile

1》用备份出来的这些文件把原来的数据库给搭建起来

cp /home/oracle/cold_backup/*.ctl /home/oracle/controlfile

cp /home/oracle/cold_backup/*.dbf /home/oracle/datafile

cp /home/oracle/cold_backup/*.log /home/oracle/redologfile

cp /home/oracle/cold_backup/spfileprod.ora /u01/oracle/dbs(此目录就是先前spfile的目录)

2》打开库到nomount,如果发现打不开可能丢失一个文件件

在此查询创建:

show parameter audit

mkdir -p /u01/admin/prod/adump

3》如果可以启动到nomount,逻辑上重新创建控制文件

alter system set control_files='/home/oracle/controlfile/control01.ctl','/home/oracle/controlfile/control03.ctl' scope=spfile;

4》关库重启

5》逻辑上修改数据文件和日志文件的位置

数据文件:

select 'alter database rename file '||''''||name ||''''||' to '||replace(name,'/u01/oradata/prod','/home/oracle/datafile')||''';' from v$datafile;

日志文件:

select 'alter database rename file '||''''||member ||''''||' to '||replace(member,'/u01/oradata/prod','/home/oracle/redologfile')||''';' from v$logfile;

通过对数据文件和日志文件批批处理得出的SQL语句粘贴运行

6》alter database open;

冷备中手工备份和恢复至此完成,仅供参考!!

oracle数据库冷备中的手工备份和恢复的更多相关文章

  1. Windows系统下Oracle数据库冷备

    一.背景: 具体的场景是数据库不是普通的OLTP系统,更像是OLAP系统,数据的更新频率很低,在noarchivelog 模式下运行,实时性要求低,但是数据只有一份不能弄丢,需要应付磁盘损坏等情况.这 ...

  2. oracle数据库热备中的备份和恢复及例子

    手工热备(开库状态) 备份控制文件: alter database backup controlfile to '/u01/oradata/prod/con.bak1'; 备份数据文件(这里用到pl/ ...

  3. centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复

    centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复 有时候我们会碰到这样的业务场景: 1.将大的数据库恢复到本地进行业务测试 ...

  4. ORACLE数据库误操作执行了DELETE,该如何恢复数据?

    ORACLE数据库误操作执行了DELETE,该如何恢复数据? 原创 2016年08月11日 17:23:04 10517 作为一个程序员,数据库操作是必须的,但是如果操作失误,一般都会造成比较严重的后 ...

  5. Oracle数据库冷备份与恢复(救命稻草)

    说明,只要是同样系统,同样数据库版本,是可以做冷备恢复.冷备份数据必须是数据库不在open状态下.以oracle11gR2为例. 一.冷备份与冷恢复 具体步骤如下. 1. 复制旧的数据库文件 (1) ...

  6. oracle数据库冷恢复

    场       景:客户的服务器是在虚拟机上,结果虚拟机的服务器的硬盘坏掉了.硬盘换掉后,系统成功恢复出来,但是登录虚拟机后,数据库无法启动. 解决方案:通过冷恢复将数据库还原.在自己的电脑上搭建一个 ...

  7. oracle数据库安装过程中的疑惑—该记录是本人以前写在微博上的文章

    转行IT初学者关于oracle数据库整理第一次安装数据库的时候都是按照操作步骤一步一步进行安装,并没有对操作步骤产生过怀疑或者为什么要这么进行操作?2017年12月8日再次阅读安装操作说明书的时候有了 ...

  8. ORACLE数据库删除表中记录报record is locked by another user

    在操作ORACLE数据库的时候,由于执行完,没有COMMIT,直接把PL/SQL关闭掉,后来导致那张表被锁住,当编辑时就会出现这个信息,record is locked by another user ...

  9. 完全备份ORACLE数据库 并在另一台电脑上恢复

    由于最近有oracle的项目,需要把数据库在另外一台电脑里面配置一个一样的数据库用来测试开发用,之前是一直使用mssql,只需要附加或者还原就行,但是在oracle里面,就没有这么简单,但是也不难,操 ...

随机推荐

  1. NOIP2017SummerTraining0706

    个人感受:这套题也依旧在划水,和wqh在一起,然后也没怎么好好想,第一题开始时打了个思维很好的方法,但是事完全错误的:然后就开始第二题,然后第二题枚举20分,然后看答案多了25分,就拿了 45分:第三 ...

  2. CentOS7 +vsftpd (一)之 匿名

    CentOS7 +vsftpd (一)之 匿名 ftp的搭建是一个基础性的工作,CentOS7 +vsftpd 是一个比较容易实现的平台,但在搭建中问题会不少,本系列将通过四篇随笔与大家分享. 一.C ...

  3. [js高手之路]html5 canvas动画教程 - 边界判断与小球粒子模拟喷泉,散弹效果

    备注:本文后面的代码,如果加载了ball.js,那么请使用这篇文章[js高手之路] html5 canvas动画教程 - 匀速运动的ball.js代码. 本文,我们要做点有意思的效果,首先,来一个简单 ...

  4. git reflog -- 显示所有提交

    格式:           git commit  [选项] <path> 选项 git commit -a 提交所有改动的文件(a -- all) git commit -m 提交说明( ...

  5. Vue 爬坑之路(六)—— 使用 Vuex + axios 发送请求

    Vue 原本有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource 目前主流的 Vue 项目,都选择 axios ...

  6. 安装Extended WPF Toolkit

    Extended WPF Toolkit 可以说是WPF Toolkit 的一个补充,也包含了许多WPF 控件供开发者使用.本篇将介绍Extended WPF Toolkit 1.4.0 中新增的一些 ...

  7. 【框架学习与探究之消息队列--EasyNetQ(2)】

    声明 本文欢迎转载,系博主原创,本文原始链接地址:http://www.cnblogs.com/DjlNet/p/7654902.html 前言 此文章,是承接上篇:[框架学习与探究之消息队列--Ea ...

  8. 使用MxNet新接口Gluon提供的预训练模型进行微调

    1. 导入各种包 from mxnet import gluon import mxnet as mx from mxnet.gluon import nn from mxnet import nda ...

  9. Latex 去掉行号

    本文主要讲如何去掉Latex的行号 删除\modulolinenumbers删除所有\linenumbers 删除\usepackage{lineno,hyperref} modulolinenumb ...

  10. 张高兴的 Xamarin.Android 学习笔记:(三)活动生命周期

    本文将直接解释我写的一个示例.示例目的在于展示 Android 活动在 Xamarin 中的用法.如果有朋友对基础知识不太了解建议先学 Android . 新建一个 Xamarin.Android 项 ...