rac完全恢复学习

1、查看现有数据库文件

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
+DATA/rac/datafile/system.259.866566403
+DATA/rac/datafile/undotbs1.260.866566407
+DATA/rac/datafile/sysaux.261.866566407
+DATA/rac/datafile/undotbs2.263.866566409
+DATA/rac/datafile/users.264.866566409

2、做一个完全备份

RMAN> backup as copy database ;

3、创建表空间

SQL> create tablespace zxm datafile size 2m;

Tablespace created.
SQL> create tablespace user01 datafile ‘+DATA‘ size 1M;

Tablespace created.
SQL> alter tablespace user01 add datafile size 1m;

Tablespace altered.

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
+DATA/rac/datafile/system.259.866566403
+DATA/rac/datafile/undotbs1.260.866566407
+DATA/rac/datafile/sysaux.261.866566407
+DATA/rac/datafile/undotbs2.263.866566409
+DATA/rac/datafile/users.264.866566409
+DATA/rac/datafile/zxm.287.866732569
+DATA/rac/datafile/user01.284.866732649
+DATA/rac/datafile/user01.288.866732733

8 rows selected.

4、创建示例数据

SQL> create table test as select * from user_tables;

Table created.

SQL> create table test2 as select * from test;

Table created.

SQL> col TABLESPACE_NAME format a30
SQL> col SEGMENT_NAME format a30
SQL> select tablespace_name,segment_name from user_segments;

TABLESPACE_NAME                SEGMENT_NAME
------------------------------ ------------------------------
USER01                         TEST
USER01                         TEST2

5、关闭数据库删除文件,模拟灾难场景

[[email protected] admin]$ srvctl stop database -d rac
[[email protected] admin]$ export ORACLE_SID=+ASM1
[[email protected] admin]$ asmcmd -p
ASMCMD [+] > ls
DATA/
RECV/
ASMCMD [+] > cd DATA
ASMCMD [+DATA] > ls
RAC/
TEST/
ASMCMD [+DATA] > cd RAC
ASMCMD [+DATA/RAC] > ls
ARCHIVELOG/
CONTROLFILE/
DATAFILE/
ONLINELOG/
PARAMETERFILE/
TEMPFILE/
spfilerac.ora
ASMCMD [+DATA/RAC] > cd DATAFILE
ASMCMD [+DATA/RAC/DATAFILE] > ls
SYSAUX.261.866566407
SYSTEM.259.866566403
TEST.282.866646695
UNDOTBS1.260.866566407
UNDOTBS2.263.866566409
USER01.284.866732649
USER01.288.866732733
USERS.264.866566409
ZXM.287.866732569
ASMCMD [+DATA/RAC/DATAFILE] > rm USER01.284.866732649
ASMCMD [+DATA/RAC/DATAFILE] > rm USER01.288.866732733
ASMCMD [+DATA/RAC/DATAFILE] > rm ZXM.287.866732569
[[email protected] admin]$ export ORACLE_SID=rac1
[[email protected] admin]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on Fri Dec 19 15:31:22 2014

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Connected to an idle instance.

SQL> startup;
ORACLE instance started.

Total System Global Area 1610612736 bytes
Fixed Size                  2280840 bytes
Variable Size             416100984 bytes
Database Buffers         1157627904 bytes
Redo Buffers               34603008 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
ORA-01110: data file 6: ‘+DATA/rac/datafile/zxm.287.866732569‘

6、recover命令只能在已有的物理文件上进行恢复,所以需要先创建数据文件

SQL> alter database create datafile 6;

Database altered.

SQL> recover datafile 6;
ORA-00283: recovery session canceled due to errors
ORA-01110: data file 6: ‘+DATA/rac/datafile/zxm.287.866732569‘
ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
ORA-01110: data file 6: ‘+DATA/rac/datafile/zxm.287.866732569‘
进入目录中看新创建的文件是:ZXM.287.866734565
ASMCMD [+DATA/RAC] > cd DATAFILE
ASMCMD [+DATA/RAC/DATAFILE] > ls
SYSAUX.261.866566407
SYSTEM.259.866566403
TEST.282.866646695
UNDOTBS1.260.866566407
UNDOTBS2.263.866566409
USERS.264.866566409
ZXM.287.866734565

而控制中的文件为:
SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
+DATA/rac/datafile/system.259.866566403
+DATA/rac/datafile/undotbs1.260.866566407
+DATA/rac/datafile/sysaux.261.866566407
+DATA/rac/datafile/undotbs2.263.866566409
+DATA/rac/datafile/users.264.866566409
+DATA/rac/datafile/zxm.287.866732569
+DATA/rac/datafile/user01.284.866732649
+DATA/rac/datafile/user01.288.866732733

8 rows selected.
需要对数据文件进行改名,其实就是修改控制文件
SQL> alter database rename file ‘+DATA/rac/datafile/zxm.287.866732569‘ to ‘+DATA/rac/datafile/ZXM.287.866734565‘;

Database altered.

再次操作,这次恢复成功了
SQL> recover datafile 6;
Media recovery complete.

7、恢复其他的数据文件

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 7 - see DBWR trace file
ORA-01110: data file 7: ‘+DATA/rac/datafile/user01.284.866732649‘
只恢复了一个文件,刚总共删除了3个,那现在重新再将剩下的两个创建了
SQL> alter database create datafile ‘+DATA/rac/datafile/user01.284.866732649‘;

Database altered.

SQL> recover datafile 7;
ORA-00283: recovery session canceled due to errors
ORA-01110: data file 7: ‘+DATA/rac/datafile/user01.284.866732649‘
ORA-01157: cannot identify/lock data file 7 - see DBWR trace file
ORA-01110: data file 7: ‘+DATA/rac/datafile/user01.284.866732649‘

进入文件目录查看,发现文件名不是创建的那个
ASMCMD [+DATA/RAC/DATAFILE] > ls
SYSAUX.261.866566407
SYSTEM.259.866566403
TEST.282.866646695
UNDOTBS1.260.866566407
UNDOTBS2.263.866566409
USER01.288.866735415
USERS.264.866566409
ZXM.287.866734565

SQL> alter database rename file ‘+DATA/rac/datafile/user01.284.866732649‘ to ‘+DATA/rac/datafile/USER01.288.866735415‘;

Database altered.

SQL> recover datafile 7;
Media recovery complete.

SQL> alter database create datafile ‘+DATA/rac/datafile/user01.288.866732733‘;

ASMCMD [+DATA/RAC/DATAFILE] > ls
SYSAUX.261.866566407
SYSTEM.259.866566403
TEST.282.866646695
UNDOTBS1.260.866566407
UNDOTBS2.263.866566409
USER01.284.866736519
USER01.288.866735415
USERS.264.866566409
ZXM.287.866734565

SQL> alter database rename file ‘+DATA/rac/datafile/user01.288.866732733‘ to ‘+DATA/rac/datafile/USER01.284.866736519‘;

SQL> alter database rename file ‘+DATA/rac/datafile/user01.288.866732733‘ to ‘+DATA/rac/datafile/USER01.284.866736519‘;

Database altered.
SQL> recover datafile 8;
Media recovery complete.

打开数据
SQL> alter database open;

Database altered.
时间: 2024-11-04 21:40:29

rac完全恢复学习的相关文章

RAC(ReactiveCocoa)学习之道

1.ReactiveCocoa简介 ReactiveCocoa(简称RAC),是由Github开源的一个应用于iOS和iOS开发的新框架.Cocoa是苹果整套框架的简称,因此很多苹果框架喜欢以Cocoa结尾.RAC具有函数式编程和响应式编程的特性,主要吸取了 .Net 的 Reactive Extensions 的设计和实现. 2.ReactiveCocoa作用 在我们iOS开发过程中,经常会响应某些事件来处理某些业务逻辑,例如按钮的点击,上拉刷新,网络请求,属性的变化(通过KVO)或者用户位置

RAC系统化学习

1.RACSignal:     // 只要订阅者调用sendNext,就会执行nextBlock // 只要订阅RACDynamicSignal,就会执行didSubscribe // 前提条件是RACDynamicSignal,不同类型信号的订阅,处理订阅的事情不一样 //创建信号,此时信号是冷信号,并不能发送数据 RACSignal *signal = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscribe

【Oracle RAC】Linux系统Oracle11gR2 RAC安装配置详细过程V3.1(图文并茂)

2 Oracle11gR2 RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件下载3 Oracle11gR2 RAC数据库安装环境配置3.1 安装主机或虚拟机3.2 安装操作系统3.3 hosts文件配置3.4 添加组与用户3.5 添加文件系统3.6 修改操作系统参数3.7 禁止NTP3.8 配置grid和oracle用户的环境变量3.9 配置SSH信任关系3.10 调整页面交换空间3.11 配置磁盘4 安装11gR2 Grid Infrastructure组件4.1 解压安装文

【Oracle RAC】Linux系统Oracle12c RAC安装配置详细记录过程V2.0(图文并茂)

[Oracle RAC]Linux系统Oracle12c RAC安装配置详细过程V2.0(图文并茂) 2 Oracle12c RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件下载3 Oracle12c RAC数据库安装环境配置3.1 安装主机或虚拟机3.2 安装操作系统3.3 hosts文件配置3.4 添加组与用户3.5 添加文件系统3.6 修改操作系统参数3.7 禁止NTP3.8 配置grid和oracle用户的环境变量3.9 配置SSH信任关系3.10 调整页面交换空间3.

iOS代码实践总结

转载地址:http://mobile.51cto.com/hot-492236.htm 最近一个月除了专门抽时间和精力重构之外,还有就是遇到需要添加功能的模块的时候,由于项目中的代码历史因素比较多,第一件干的事情往往是重构整理代码,发现很多之前的代码写的时候没有注意的事情特别多,比如全局变量乱用:方法没有层次感,胡乱添加:对业务不了解的情况下,通过打补丁的方式实现功能等等. AD: 前几个月完成对MVVM/RAC的学习之后,最近一直在默默地对项目代码进行重构,写码比较多,过了一段时间回头发现自己

rac不完全恢复

不完全恢复 rac修改归档模式SQL> select log_mode from v$database; LOG_MODE------------NOARCHIVELOG [[email protected] ~]$ srvctl stop database -d zhaoja[[email protected] ~]$ export ORACLE_SID=zhaoja1[[email protected] ~]$ sqlplus / as sysdba SQL*Plus: Release 10

Oracle RAC学习笔记:基本概念及入门

2010年04月19日 10:39 来源:书童的博客 作者:书童 编辑:晓熊 [技术开发 技术文章]    oracle 10g real application clusters introduction     1.什么是cluster     一个cluster是由两个或是多个独立的.通过网络连接的servers组成的.几个硬件供应商多年以来提供了Cluster性能的各种需求.一些Clusters仅仅为了提供高可用性的,在当前活动的node发生故障时转移到次节点node.另一些是为了提供分

Oracle GoldenGate学习之--AIX rac系统安装配置(1)

Oracle GoldenGate学习之--AIX rac系统安装配置(1) 系统环境 操作系统:AIX5.3-09 DB Soft:  Oracle 10gR2 Cluster:   CRS 10.2.0.1 如下图所示: 本案例是用于基于VG Concurrent 的共享存储: 系统环境实在AIX系统上构建的Oracle RAC 下载OGG: http://www.oracle.com/technetwork/cn/middleware/goldengate/downloads/index.

学习RAC小记-适合给新手看的RAC用法总结(转)

原文:http://www.jianshu.com/p/ff79a5ae0353 什么是RAC? 几乎每一篇介绍RAC的文章开头都是这么一个问题.我这篇文章是写给新手(包括我自己)看的,所以这个问题更是无法忽视. 简单的说,RAC就是一个第三方库,他可以大大简化你的代码过程. 官方的说,ReactiveCocoa(其简称为RAC)是由GitHub开源的一个应用于iOS和OS X开发的新框架.RAC具有函数式编程和响应式编程的特性. 为什么我们要学习RAC? 为了提高我们的开发效率.RAC在某些特