前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【赵渝强老师】第一个Oracle的手工备份和恢复

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

原创
作者头像
赵渝强老师
修改2021-12-23 10:31:31
5420
修改2021-12-23 10:31:31
举报

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

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

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

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

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

  • 准备测试数据
代码语言:txt
复制
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;
  • 执行手工备份
代码语言:txt
复制
alter tablespace mytbs begin backup;
host cp /home/oracle/mytbs01.dbf /home/oracle/backup/demo1/mytbs01.dbf
alter tablespace mytbs end backup;
  • 执行破坏性操作
代码语言:txt
复制
删除数据文件,模拟数据丢失
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
  • 执行手工恢复
代码语言:txt
复制
转储数据文件:将备份拷贝回原来的位置
cp /home/oracle/backup/demo1/mytbs01.dbf /home/oracle/mytbs01.dbf

恢复:
recover datafile 8; 

打开数据库:
alter database open;
  • 检查数据库是否恢复

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、什么是手工管理的备份与恢复?
  • 二、第一个手工管理的备份与恢复
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档