为了账号安全,请及时绑定邮箱和手机立即绑定

【赵渝强老师】第一个Oracle的手工备份和恢复

标签:
MySQL Oracle NoSql

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

尽管在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.dbf
alter tablespace mytbs end backup;
  • 执行破坏性操作
删除数据文件,模拟数据丢失
rm -rf /home/oracle/mytbs01.dbf

打开数据库:startup

出现以下错误:
ORA-01157: cannot identify/lock data file 5 - see DBWR trace file
ORA-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;
  • 检查数据库是否恢复
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消