oracle数据库冷备中的手工备份和恢复
我的操作系统是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数据库冷备中的手工备份和恢复的更多相关文章
- Windows系统下Oracle数据库冷备
一.背景: 具体的场景是数据库不是普通的OLTP系统,更像是OLAP系统,数据的更新频率很低,在noarchivelog 模式下运行,实时性要求低,但是数据只有一份不能弄丢,需要应付磁盘损坏等情况.这 ...
- oracle数据库热备中的备份和恢复及例子
手工热备(开库状态) 备份控制文件: alter database backup controlfile to '/u01/oradata/prod/con.bak1'; 备份数据文件(这里用到pl/ ...
- centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复
centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复 有时候我们会碰到这样的业务场景: 1.将大的数据库恢复到本地进行业务测试 ...
- ORACLE数据库误操作执行了DELETE,该如何恢复数据?
ORACLE数据库误操作执行了DELETE,该如何恢复数据? 原创 2016年08月11日 17:23:04 10517 作为一个程序员,数据库操作是必须的,但是如果操作失误,一般都会造成比较严重的后 ...
- Oracle数据库冷备份与恢复(救命稻草)
说明,只要是同样系统,同样数据库版本,是可以做冷备恢复.冷备份数据必须是数据库不在open状态下.以oracle11gR2为例. 一.冷备份与冷恢复 具体步骤如下. 1. 复制旧的数据库文件 (1) ...
- oracle数据库冷恢复
场 景:客户的服务器是在虚拟机上,结果虚拟机的服务器的硬盘坏掉了.硬盘换掉后,系统成功恢复出来,但是登录虚拟机后,数据库无法启动. 解决方案:通过冷恢复将数据库还原.在自己的电脑上搭建一个 ...
- oracle数据库安装过程中的疑惑—该记录是本人以前写在微博上的文章
转行IT初学者关于oracle数据库整理第一次安装数据库的时候都是按照操作步骤一步一步进行安装,并没有对操作步骤产生过怀疑或者为什么要这么进行操作?2017年12月8日再次阅读安装操作说明书的时候有了 ...
- ORACLE数据库删除表中记录报record is locked by another user
在操作ORACLE数据库的时候,由于执行完,没有COMMIT,直接把PL/SQL关闭掉,后来导致那张表被锁住,当编辑时就会出现这个信息,record is locked by another user ...
- 完全备份ORACLE数据库 并在另一台电脑上恢复
由于最近有oracle的项目,需要把数据库在另外一台电脑里面配置一个一样的数据库用来测试开发用,之前是一直使用mssql,只需要附加或者还原就行,但是在oracle里面,就没有这么简单,但是也不难,操 ...
随机推荐
- hdu4704 Sum 2013 Multi-University Training Contest 10 数论题
Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Subm ...
- 读Zepto源码之Fx模块
fx 模块为利用 CSS3 的过渡和动画的属性为 Zepto 提供了动画的功能,在 fx 模块中,只做了事件和样式浏览器前缀的补全,没有做太多的兼容.对于不支持 CSS3 过渡和动画的, Zepto ...
- 使用python操作mysql
版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/7643047.html 作者:窗户 Q ...
- javascript(js)创建对象的模式与继承的几种方式
1.js创建对象的几种方式 工厂模式 为什么会产生工厂模式,原因是使用同一个接口创建很多对象,会产生大量的重复代码,为了解决这个问题,产生了工厂模式. function createPerson(na ...
- Python面试题之python是一种什么语言及优缺点
1.说说python是一种什么语言? 参考答案:python是一门动态解释性的强类型定义语言 编译型vs解释型 编译型优点:编译器一般会有预编译的过程对代码进行优化.因为编译只做一次,运行时不需要编译 ...
- HDU1212
大数MOD #include<cstdio> #include<cstdlib> #include<iostream> #include<algorithm& ...
- 干了这杯Java之Vector
Vector实现了AbstractList抽象类和List接口,和ArrayList一样是基于Array存储的 Vector 是线程安全的,在大多数方法上存在synchronized关键字 //Vec ...
- Extjs6(七)——增删查改之删除
本文基于ext-6.0.0 页面就是前面写的那个,有不清楚的可以看一下前面写页面那篇. 一.在toolbar加一个删除按钮 { text:'删除', iconCls:'x-fa fa-times', ...
- 完整Log4Net配置信息
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSe ...
- Python练习----多级菜单
多级菜单要求: 1.三级菜单 2.可依次选择进入各子菜单 3.可以返回上一层 4.输入'q'可以退出 脚本: zone = { '北京' : { ' ...