我的操作系统是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. Element-ui Theme浅析

    一.浅析 1.采用BEM方式管理类名 B:block,模块,一个块是一个独立的实体,块可以包含其它块,名字单词间用-连接:如一个搜索块: E:element,元素,一个元素是块的一部分,具有某种功能, ...

  2. node-Telnet

    什么是Telnet(window系统) 使用Telnet工具作为客户端对创建的TCP服务器进行会话交流时遇到的问题做一个简单的记录.希望可以帮助到一些同学. 这里看一下百度词条的解释 Telnet协议 ...

  3. EasyUI DataGrid使用示例

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="EasyUIDemo.aspx. ...

  4. wpf 画刷的分类

    System.Windows.Media.Brush最上一层画刷 System.Windows.Media.GradientBrush  线性画刷 ,下层主要有两种画刷 System.Windows. ...

  5. EasyUI DataGrid 基于 Ajax 自定义取值(loadData)

    为 datagrid 加载数据分两种情况: 一种是基于 Ajax 请求获取数据然后通过"loadData"方法来赋值: 另一种是直接使用 datagrid 自带的"loa ...

  6. JS获取fileupload文件全路径

    来自:http://hi.baidu.com/libos88/item/c61ab8bae472afe34ec7fdfb 最近在写个小网站,用到了fileupload控件来上传文件.因为程序的某些需要 ...

  7. jfinal编码问题及解决

    使用jfinal出现了常见的编码问题情况 public void test() { Random r = new Random(); try { Connection conn = createCon ...

  8. LeetCode 120. Triangle (三角形)

    Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent n ...

  9. Windows下mysql5.5主从同步

    前置条件: A主机(作为主服务器) 环境:Win7,mysql5.5 IP:172.17.42.82 B主机(作为从服务器) 环境:Win7,mysql5.5 IP:172.17.42.156 主服务 ...

  10. hadoop集群服务器配置注意事项

    1.使用root账户,一劳记逸,远离权限问题. 2.关闭防火墙,命令:service iptables stop 想永久关闭,命令为:chkconfig iptables off 查看防火墙状态,命令 ...