Performing User-Managed Database-18.7、Performing Complete User-Managed Media Recovery
18.7、Performing Complete User-Managed Media Recovery
完毕一致性备份,把数据库恢复到当前的scn是最好的结果。能够恢复整个数据库。恢复单个表空间。或恢复数据文件。一致性恢复不须要resetlogs打开数据库,非一致性恢复须要resetlogs打开数据库。Backup and Recovery Basics提供了关于介质恢复的信息。
18.7.1、Performing Closed Database Recovery
能够在一个操作中恢复全部损坏的数据文件。也能够分开操作恢复每一个损坏的数据文件。
18.7.1.1、Preparing for Closed Database Recovery
(1)关闭数据库,检查出现故障的介质设备
(2)假设引起介质失败的问题是暂时的,假设数据没有损坏(比方,磁盘或控制器掉电),不须要介质恢复:仅仅需启动数据库。又一次開始操作。
假设不能修复,就进行下面步骤
18.7.1.2、Restoring Backups of the Damaged or Missing Files
(1)推断哪些数据文件须要恢复
(2)找到损坏的数据文件的近期备份。只还原损坏的数据文件:不要还原没有损坏的数据文件或不论什么重做日志文件。假设没有不论什么备份。只能创建一个数据文件(有归档)
alter database create datafile 'xxx' as 'xxx' size xxx reuse
(3)使用操作系统命令把数据文件还原到默认位置或新的位置。
alter database rename file 'xxx' to 'xxx';
18.7.1.3、Recovering the Database
(1)使用系统管理员权限连接数据库,启动数据库到mount
(2)查询v$datafile获得数据文件名称和状态
(3)须要恢复的数据文件必须是在线的,除了offline normal的表空间或read-only表空间
select 'alter dabase datafile ' || name || ' online;' from v$datafile;
(4)运行recover database,recover tablespace xxx,recover datafile 'xxx'等语句
(5)没有自己主动地恢复,必须接受或拒绝每一个指出的日志。假设自己主动地恢复,数据库自己主动地应用日志。
(6)介质恢复完毕,数据库返回:Media recovery complete。
(7)alter database open
18.7.2、Performing Datafile Recovery in an Open Database
当数据库处于打开状态时,出现介质失败。不能被写时返回错误。一般表空间的仅仅是损坏的数据文件离线,不能查询时返回错误,一般表空间的仅仅是损坏的数据文件不会离线。
当数据库处于打开状态时,该恢复过程不能用做system表空间的全然介质恢复。
假设system表空间的数据文件损坏,数据库自己主动关闭。
18.7.2.1、Preparing for Open Database Recovery
(1)数据库处于打开,发现须要恢复,把包括损坏的数据文件的表空间离线。
(2)假设引起介质失败的问题是暂时的,假设数据没有损坏(比方。磁盘或控制器掉电),不须要介质恢复:仅仅需启动数据库,又一次開始操作。假设不能修复,就进行下面步骤
18.7.2.2、Restoring Backups of the Inaccessible Datafiles
(1)推断哪些数据文件须要恢复
(2)找到损坏的数据文件的近期备份。
只还原损坏的数据文件:不要还原没有损坏的数据文件或不论什么重做日志文件。假设没有不论什么备份,只能创建一个数据文件(有归档)
alter database create datafile 'xxx' as 'xxx' size xxx reuse
SQL> alter database create datafile '/oracle/oradata/boss/testtbs04_01.dbf' as '/oracle/oradata/boss/testtbs04_01.dbf' size 10m reuse;
(3)使用操作系统命令把数据文件还原到默认位置或新的位置。
alter database rename file 'xxx' to 'xxx';
18.7.2.3、Recovering Offline Tablespaces in an Open Database
(1)运行recover database,recover tablespace xxx,recover datafile 'xxx'等语句
(2)没有自己主动地恢复,必须接受或拒绝每一个指出的日志。假设自己主动地恢复,数据库自己主动地应用日志。
(3)介质恢复完毕,数据库返回:Media recovery complete。
SQL> recover automatic tablespace testtbs04;
(4)alter database open
模拟1、创建表空间testtbs04,创建一个表,删除相应的数据文件,做关闭数据库的恢复
(1)
SQL> create tablespace testtbs04
2 datafile '/oracle/oradata/boss/testtbs04_01.dbf' size 10m
3 autoextend on next 1m maxsize unlimited
4 logging
5 extent management local autoallocate
6 blocksize 8k
7 segment space management auto
8 flashback on;
(2)
SQL> create table test04(id number, name varchar2(30)) tablespace testtbs04;
SQL> insert into test04 values(1, 'xxxxx');
SQL> insert into test04 values(2, 'yyyyy');
SQL> commit;
(3)
SQL> select group#,members,sequence#,archived,status,first_change# from v$log;
GROUP# MEMBERS SEQUENCE# ARC STATUS FIRST_CHANGE#
---------- ---------- ---------- --- ---------------- -------------
1 1 0 YES UNUSED 0
2 1 0 YES UNUSED 0
3 1 1 NO CURRENT 697986
SQL> alter system switch logfile;
SQL> alter system switch logfile;
SQL> alter system switch logfile;
SQL> select group#,members,sequence#,archived,status,first_change# from v$log;
GROUP# MEMBERS SEQUENCE# ARC STATUS FIRST_CHANGE#
---------- ---------- ---------- --- ---------------- -------------
1 1 2 YES INACTIVE 707835
2 1 3 YES INACTIVE 707837
3 1 4 NO CURRENT 707840
(4)
$ rm -rf testtbs04_01.dbf
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup open;
SQL> col "文件名称" for a40;
SQL> col "表空间名" for a10
SQL> set linesize 150
SQL>
select
ts.name "表空间名"
, df.file# "文件号"
, df.checkpoint_change# "检查点"
, df.name "文件名称"
, df.status "在线状态"
, rf.error "恢复原因"
, rf.change# "系统变更号"
, rf.time
from v$tablespace ts,v$datafile df,v$recover_file rf
where ts.ts#=df.ts# and df.file#=rf.file#
order by df.file#;
SQL> select
2 ts.name "表空间名"
3 , df.file# "文件号"
4 , df.checkpoint_change# "检查点"
5 , df.name "文件名称"
6 , df.status "在线状态"
7 , rf.error "恢复原因"
8 , rf.change# "系统变更号"
9 , rf.time
10 from v$tablespace ts,v$datafile df,v$recover_file rf
11 where ts.ts#=df.ts# and df.file#=rf.file#
12 order by df.file#;
表空间名 文件号 检查点 文件名称 在线状 恢复原因 系统变更号 TIME
---------- ---------- ---------- ---------------------------------------- ------- ------------------ ---------- ------------
TESTTBS02 8 652783 /oracle/oradata/boss/testtbs02_01.dbf OFFLINE OFFLINE NORMAL 0
TESTTBS04 10 707840 /oracle/oradata/boss/testtbs04_01.dbf ONLINE FILE NOT FOUND 0
(5)
SQL> alter database create datafile '/oracle/oradata/boss/testtbs04_01.dbf' as '/oracle/oradata/boss/testtbs04_01.dbf' size 10m reuse;
SQL> select file#,name,status,CHECKPOINT_CHANGE#,recover from v$datafile_header where file#=10;
FILE# NAME STATUS CHECKPOINT_CHANGE# REC
---------- ---------------------------------------- ------- ------------------ ---
10 /oracle/oradata/boss/testtbs04_01.dbf ONLINE 707602 YES
(6)
SQL> recover automatic tablespace testtbs04;
Media recovery complete.
SQL> alter database open;
SQL> select * from test04;
ID NAME
---------- ----------------------------------------
1 xxxxx
2 yyyyy
Performing User-Managed Database-18.7、Performing Complete User-Managed Media Recovery的更多相关文章
- Performing a full database disaster recovery with RMAN
Performing a full database disaster recovery with RMAN1. Make the RMAN backup set pieces available.2 ...
- ORA-10456:cannot open standby database;media recovery session may be in process
http://neeraj-dba.blogspot.com/2011/10/ora-10456-cannot-open-standby-database.html Once while star ...
- 关闭归档提示:ORA-38774: cannot disable media recovery - flashback database is enabled
SQL> select * from v$version; Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit P ...
- C#、VB.NET 使用System.Media.SoundPlayer播放音乐
原文:C#.VB.NET 使用System.Media.SoundPlayer播放音乐 同步播放: System.Media.SoundPlayer player = new System.Media ...
- Oracle实例的恢复、介质恢复( crash recovery)( Media recovery)
实例的恢复( crash recovery) 什么时候发生Oracle实例恢复? shutdown abort; 数据库异常down掉(机器死机,掉电...) 实例恢复的原因是数据有丢掉,使用redo ...
- MySQL5.7.18 备份、Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份,数据导入导出
粗略介绍冷备,热备,温暖,及Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份 --备份的目的 灾难恢复:意外情况下(如服务器宕机.磁盘损坏等)对损 ...
- MySQL安装卸载、idea中Database的使用、常用的sql语句
MySQL安装卸载 MySQL安装 在下面的资源链接中下载MySQL软件压缩包(绿色版),这个版本是MySQL5.7.29的,本教程也只适用于这个绿色版的,如果下载的是安装包那就可能有些地方不一样了, ...
- leetcode 1.Two Sum 、167. Two Sum II - Input array is sorted 、15. 3Sum 、16. 3Sum Closest 、 18. 4Sum 、653. Two Sum IV - Input is a BST
1.two sum 用hash来存储数值和对应的位置索引,通过target-当前值来获得需要的值,然后再hash中寻找 错误代码1: Input:[3,2,4]6Output:[0,0]Expecte ...
- .NET Core CSharp初级篇 1-8泛型、逆变与协变
.NET Core CSharp初级篇 1-8 本节内容为泛型 为什么需要泛型 泛型是一个非常有趣的东西,他的出现对于减少代码复用率有了很大的帮助.比如说遇到两个模块的功能非常相似,只是一个是处理in ...
随机推荐
- sqlserver 获取一个月有多少天
--思路:给定日期的下一个月的1号减去1天,然后取datepart(DAY,dt) declare @dt varchar(10)select @dt='2013-11-20'select datep ...
- Spring Cloud Eureka简单入门
步骤: 1.创建父工程 2.创建EurekaServer工程 3.创建EurekaClient工程 父工程pom.xml <?xml version="1.0" encodi ...
- Solr linux安装
1.下载安装(自行官网下载) 2.解压安装包 3.进入解压后的bin目录执行命令: ./solr start 出现如下警告: 根据提示修改solr.in.sh中的SOLR_ULIMIT_CHECKS属 ...
- diea
http://name.vip.int ellig.top/name
- socket实例C语言:一个简单的聊天程序
我们老师让写一个简单的聊天软件,并且实现不同机子之间的通信,我用的是SOCKET编程.不废话多说了,先附上代码: 服务器端server.c #include <stdio.h> #incl ...
- node.js express 4.x 安装指南(Express不是内部或外部命令解决方案)
前几天express 推出了4.0,得知这个消息,自己尝试了一下,突然发现用以前的文档上的操作出现了各种问题.结果只能去看文档,现在在这个给大家分享下4.0版本的安装. 先说下如果需要用express ...
- vmware esxi 查看网卡、Raid卡驱动
vmware esxi 查看网卡.Raid卡驱动 http://blog.51cto.com/adamcrab/1942763 查看网卡 [root@localhost:~] esxcfg-nics ...
- CSA Round 84 Mahattan Center
题目 题目大意 给定平面上的 $n$ 个点和常数 $k$,求 $x$ 轴上的点 $p$ 到 $n$ 个点中距其最近的 $k$ 个点的距离之和的最小值.两点之间的距离定义为曼哈顿距离. 数据范围 $1\ ...
- BZOJ1901 Zju2112 Dynamic Rankings 【树状数组套主席树】
题目 给定一个含有n个数的序列a[1],a[2],a[3]--a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]--a[j]中第k小的数是多少(1≤k≤j- ...
- 【07】node 之 Buffer
1.1. Buffer基本概念 JavaScript 语言自身只有字符串数据类型,没有二进制数据类型.二进制可以存储电脑中任何数据(比如:一段文本.一张图片.一个硬盘,应该说电脑中所有的数据都是二进 ...