0

0

Oracle数据库完全恢复和不完全恢复以及执行用户管理备份恢复

php中文网

php中文网

发布时间:2016-06-07 16:44:26

|

1182人浏览过

|

来源于php中文网

原创

不完全恢复或数据库时间点恢复使用备份来生成非当前版本的数据库。也就是说,不会应用最新备份之后生成的所有重做记录。仅当绝对

比较完全恢复和不完全恢复:

一、完全恢复:将数据库恢复到当前最新状态,包括直至请求恢复时进行的所有已提交的数据更改

二、不完全恢复:将数据库恢复到请求恢复操作之前指定的过去时间点

一、完全恢复过程

下面的步骤说明了执行完全恢复期间要采取的操作:

1. 通过备份还原损坏或丢失的文件。

2. 根据需要应用增量备份、归档重做日志文件和联机重做日志文件中的更改。将重做日志更改应用于数据文件,直到到达当前联机日志,,并且重新输入了最新的事务处理。在整个过程中会生成还原块。这称为前滚或高速缓存恢复。

3. 此时,还原的数据文件中包含已提交和未提交的更改。

4. 还原块用于回退任何未提交的更改。有时也称为事务处理恢复。

5. 此时,数据文件处于已恢复状态,且与数据库中的其它数据文件一致。

--------------------------------------分割线 --------------------------------------

Oracle用户管理方式下备份数据和复制数据库

RMAN 配置归档日志删除策略

Oracle基础教程之通过RMAN复制数据库

RMAN备份策略制定参考内容

RMAN备份学习笔记

Oracle数据库备份加密 RMAN加密

--------------------------------------分割线 --------------------------------------

二、不完全恢复过程:

不完全恢复或数据库时间点恢复使用备份来生成非当前版本的数据库。也就是说,不会应用最新备份之后生成的所有重做记录。仅当绝对必要时才执行此类恢复。要执行不完全恢复,需要:

恢复点之前生成的所有数据文件的有效脱机或联机备份

从备份时间到指定恢复时间的所有归档日志

下面列出了执行不完全恢复的过程:

1.从备份还原数据文件:如果还原点目标并不很新,则使用的备份可能也不是最新的。这需要使用 OS 命令或 RMAN RESTORE 命令来复制文件。

2.使用 RECOVER 命令:从归档重做日志文件应用重做,根据需要包括尽可能多的数据以达到还原点目标。

3.恢复以后的状态:此时,数据文件包含一些已提交的事务处理和未提交的事务处理,因为重做可以包含未提交的数据。

4.使用 ALTER DATABASE OPEN 命令:应用还原块之前数据库已打开。这是为了提供更高的可用性。

5.应用还原数据:应用重做时,同时会应用支持还原数据文件的重做。这样,还原可以应用于数据文件,以便还原任何未提交的事务处理。这是接下来要完成的操作。

6.过程完成:此时,数据文件已恢复到所选择的时间点。

如果必须执行恢复且发现包含事务处理的归档日志丢失,其中的事务处理是在还原所用的备份的创建时间与目标恢复 SCN 之间发生的,则时间点恢复是唯一的选择。没有丢失的日志,则没有该期间内对数据文件进行更新的记录。唯一的选择就是从还原备份的时间点恢复数据库,直到未损坏的归档日志系列所允许的时间点,然后使用 RESETLOGS 选项打开数据库。丢失的重做日志文件中的或之后的所有更改都将丢失。

备份和恢复的使用类型:

数据库备份和恢复的类型包括:

用户管理的:不使用 RMAN。

--使用 OS 命令移动文件  --DBA 需要手动维护备份活动记录

服务器管理的:使用 RMAN

1.执行用户管理的数据库备份

可以使用 OS 命令创建数据文件的副本,从而备份数据库。操作过程取决于数据库是否处于 ARCHIVELOG 模式。如果是,则通过在复制表空间的数据文件之前将每个表空间置于备份模式,可以使数据库处于打开且可用状态。否则,在复制数据文件之前必须先关闭数据库。

1)手动备份 NOARCHIVELOG 数据库:

通过关闭数据库并将所有数据文件和控制文件复制到备份目录,可以对 NOARCHIVELOG 数据库进行一致的整体数据库备份。由于文件复制操作是使用 OS 命令完成的,因此必须先关闭数据库。这会将数据库置于一致状态。

kgogoprime
kgogoprime

KGOGOMall 是一套采用 Php + MySql 开发的基于 WEB 应用的 B/S 架构的B2C网上商店系统。具有完善的商品管理、订单管理、销售统计、新闻管理、结算系统、税率系统、模板系统、搜索引擎优化,数据备份恢复,会员积分折扣功能,不同的会员有不同的折扣,支持多语言,模板和代码分离等,轻松创建属于自己的个性化用户界面。主要面向企业和大中型网商提供最佳保障,最大化满足客户目前及今后的独立

下载

SQL> SHUTDOWN IMMEDIATE

$ cp $ORACLE_BASE/ORCL/datafile/*.dbf  /u02/backup/datafile

--将数据文件复制到备份位置

$ cp $ORACLE_BASE/ORCL/controlfile/*.ctl  /u02/backup/controlfile  --将控制文件复制到备份位置

SQL> STARTUP

2)手动备份 ARCHIVELOG 数据库

如果数据库处于 ARCHIVELOG 模式下,则复制文件前不一定必须关闭数据库。最终会得到不一致备份,但应用重做数据后会使其恢复到一致状态。

启动备份模式:

复制数据文件之前,必须将每个数据文件都置于备份模式。请使用 ALTER TABLESPACE 和 ALTER DATABASE 命令的 BEGIN BACKUP 子句来执行此操作。以下是每个命令的语法:

ALTER TABLESPACE BEGIN BACKUP;

--ALTER TABLESPACE 命令仅影响属于该表空间的那些数据文件。

ALTER DATABASE BEGIN BACKUP;

--ALTER DATABASE 影响数据库中的所有数据文件。

结束备份模式:

使数据文件退出备份模式非常重要。关闭数据库时,不能有任何数据文件处于备份模式。如果尝试关闭处于该状态的数据库,将收到错误。此外,由于备份模式会导致生成额外的重做数据,因此会给系统带来额外的负载。如果您不主动备份数据文件,则没有理由使任何数据文件处于备份模式。

具体操作:

备份数据文件:

SQL> select file_name, tablespace_name from dba_data_files;

--查看所有数据文件位置及表空间

SQL> ALTER TABLESPACE users BEGIN BACKUP;

--将表空间置于备份模式

$ cp $ORACLE_HOME/oradata/orcl/users*.dbf /u02/backup/datafile

--将该表空间的数据文件复制到备份位置

SQL> ALTER TABLESPACE users END BACKUP;

--使该表空间退出备份模式

备份控制文件的方式包括:

(1).创建为映像副本,写入到指定名称的文件:

SQL> ALTER DATABASE BACKUP CONTROLFILE TO

'/u01/backup/controlfile.bak';

Database altered.

(2).生成重新创建控制文件的脚本,写入到跟踪文件:

SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

Database altered.

--重建控制文件的脚本在$ORACLE_BASE/diag/rdbms/prod/PROD/trace

查看刚生成脚本文件,会发现里面会有两种创建控制文件的方式:

NORESETLOGS  ARCHIVELOG,表示日志文件等完好,重启数据库是不用resetlog;

RESETLOGS  ARCHIVELOG;日志文件损坏丢失,不能执行完全恢复,将日志组号清零;

更多详情见请继续阅读下一页的精彩内容:

linux

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

14

2026.01.30

c++ 字符串格式化
c++ 字符串格式化

本专题整合了c++字符串格式化用法、输出技巧、实践等等内容,阅读专题下面的文章了解更多详细内容。

9

2026.01.30

java 字符串格式化
java 字符串格式化

本专题整合了java如何进行字符串格式化相关教程、使用解析、方法详解等等内容。阅读专题下面的文章了解更多详细教程。

12

2026.01.30

python 字符串格式化
python 字符串格式化

本专题整合了python字符串格式化教程、实践、方法、进阶等等相关内容,阅读专题下面的文章了解更多详细操作。

4

2026.01.30

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

20

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

18

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

19

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

3

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
极致CMS零基础建站教学视频
极致CMS零基础建站教学视频

共62课时 | 5.5万人学习

猎豹网MySQL视频教程
猎豹网MySQL视频教程

共33课时 | 8.5万人学习

Python进阶视频教程
Python进阶视频教程

共30课时 | 8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号