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里面,就没有这么简单,但是也不难,操 ...
随机推荐
- 机器学习 数据挖掘 推荐系统机器学习-Random Forest算法简介
Random Forest是加州大学伯克利分校的Breiman Leo和Adele Cutler于2001年发表的论文中提到的新的机器学习算法,可以用来做分类,聚类,回归,和生存分析,这里只简单介绍该 ...
- Python打印乘法口诀表
思路:第一行:1*1,第二行:1*2.,2*2,第三行:1*3,2*3,3*3-- 最后一行:1*9,2*9,3*9,-9*9,以此类推,可以设2个数:i,j:让 i 从1循环到9,让 j 从1到小于 ...
- C# 7.0 新特性:本地方法
C# 7.0:本地方法 VS 2017 的 C# 7.0 中引入了本地方法,本地方法是一种语法糖,允许我们在方法内定义本地方法.更加类似于函数式语言,但是,本质上还是基于面向对象实现的. 1. 本地方 ...
- PHP的ntohl网络字节序函数及相关知识
PHP与C服务器的socket通信,在做数据转换的时候,PHP没有提供对应将网络字节序和机器字节序相互转换的程序,但是根据函数的意义,我们可以做相应的转换来实现这一函数: function ntohl ...
- cellForItemAtIndexPath没有调用
前几天碰到cellForItemAtIndexPath这个数据源方法没有被调用.这是一个collectionView返回cell(item)的数据源方法. 它没有被调用的原因有下: 1.没有设置del ...
- vuejs2-生命周期
https://segmentfault.com/a/1190000008879966 1 声明周期图示 2 过渡
- 错误:Cannot set property 'innerHTML' of null
360浏览器代码编辑器里提示错误:Cannot set property 'innerHTML' of null 原因是代码执行时要调用的内容不存在
- html加载时事件触发顺序
一般情况下页面的响应加载顺序时,域名解析-加载html-加载js和css-加载图片等其他信息. jq ready()的方法就是Dom Ready,他的作用或者意义就是:在DOM加载完成后就可以可以对D ...
- WPF自定义命令和处发命令
接实现ICommand接口的命令.在介绍之前,先看一下ICommand接口的原型: event EventHandler CanExecuteChanged; bool CanExecute(obje ...
- Windows环境部署并调试pyspark(一)
准备: windows环境说明:Python2.7 + pipspark版本:spark-1.6.1-bin-hadoop2.6 step1: 下载并解压tar包到自定义的路径.(下载链接 https ...