龙空技术网

「赵强老师」第一个Oracle的手工管理的备份和恢复

赵渝强老师的知识分享 120

前言:

眼前兄弟们对“oracle报错ora01157”大致比较重视,姐妹们都需要学习一些“oracle报错ora01157”的相关内容。那么小编同时在网络上收集了一些关于“oracle报错ora01157””的相关知识,希望你们能喜欢,大家一起来学习一下吧!

一、什么是手工管理的备份与恢复?

尽管在Oracle中,已经有了RMAN的备份与恢复。但是作为Oracle备份恢复的一种方式,我们将在本文中通过一个例子来为大家介绍如何使用手工的方式来完成Oracle的备份与恢复。手工方式的本质是通过操作系统的cp命令完成,但是在备份与恢复的时候,需要把数据块置为正确的状态。

手工方式下也存在一些缺点,例如:需要手工管理备份内容,容易丢失,不利于管理

二、第一个手工管理的备份与恢复

这里我们以一个表空间的备份与恢复为例。

准备测试数据

create tablespace mytbs datafile '/home/oracle/mytbs01.dbf' size 50M;alter user scott quota unlimited on mytbs;create table scott.test1 tablespace mytbs as select ename,sal from scott.emp;create table scott.test2 tablespace mytbs as select * from scott.dept;
执行手工备份
alter tablespace mytbs begin backup;host cp /home/oracle/mytbs01.dbf /home/oracle/backup/demo1/mytbs01.dbfalter tablespace mytbs end backup;
执行破坏性操作
删除数据文件,模拟数据丢失rm -rf /home/oracle/mytbs01.dbf打开数据库:startup出现以下错误:ORA-01157: cannot identify/lock data file 5 - see DBWR trace fileORA-01110: data file 5: '/home/oracle/mytbs01.dbf'查询错误信息:SQL> select FILE#,ERROR from V$RECOVER_FILE;     FILE# ERROR---------- ---------------------------------------------------	 5 FILE NOT FOUND查看当前数据库的状态:SQL> select OPEN_MODE from v$database;OPEN_MODE--------------------MOUNTED
执行手工恢复
转储数据文件:将备份拷贝回原来的位置cp /home/oracle/backup/demo1/mytbs01.dbf /home/oracle/mytbs01.dbf恢复:recover datafile 8; 打开数据库:alter database open;
检查数据库是否恢复

标签: #oracle报错ora01157