恢复处于NOARCHIVELOG模式的数据库

当数据库处于NOARCHIVELOG模式时,如果出现介质故障 ,则最后一次备份之后对数据库所做的任何操作都将丢失。通过RMAN执行恢复时,只需要执行restore命令将数据库文件修复到正确的位置,然后就可以打开数据库。也就是说,对于处于NOARCHIVELOG模式下的数据库,管理员不需要执行recover命令。

1.Sys登陆,并确认数据库属于NOARCHIVELOG模式

SQL> select log_mode from v$database;

LOG_MODE

------------

ARCHIVELOG

SQL>

SQL>

SQL>

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount

ORACLE instance started.

Total System Global Area 2755870720 bytes

Fixed Size     2256432 bytes

Variable Size   671089104 bytes

Database Buffers  2063597568 bytes

Redo Buffers    18927616 bytes

Database mounted.

2.更改数据库为noarchivelog状态

SQL> alter database noarchivelog;

alter database noarchivelog

*

ERROR at line 1:

ORA-38774: cannot disable media recovery - flashback database is enabled

SQL> alter database flashback off;

Database altered.

SQL> alter database noarchivelog;

Database altered.

SQL> archive log list;

3.执行一下命令,备份整个数据库

RMAN> run{

2> allocate channel ch_1 type disk;

3> backup database

4> format '/u01/app/oracle/oradata/Backup/orcl_%t_%u.bak';

5> }

4.可以查看一下备份下来的文件,上边有路径,数据文件和控制文件

5.模拟users.dbf丢失,这里可以先查找数据文件的位置

SQL> select file_name,tablespace_name,bytes from dba_data_files;

[oracle@orcl Backup]$ cd /u01/app/oracle/oradata/orcl

[oracle@orcl orcl]$ rm users01.dbf

6.删除的时候数据库必须是关闭的,不然系统禁止删除正在使用的数据文件,现在到起库测试一下,提示找不到数据文件

RMAN> startup

database is already started

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of startup command at 12/04/2019 03:39:53

ORA-01157: cannot identify/lock data file 4 - see DBWR trace file

ORA-01110: data file 4: '/u01/app/oracle/oradata/orcl/users01.dbf'

RMAN> run{

7.startup mount状态才能访问数据文件,就可以执行restore

RMAN> run{

2> allocate channel ch_1 type disk;

3> restore database;

4> }

这时候看一下数据文件是可以恢复到目录下的

8.起库看一下是可以起来的

RMAN> startup

database is already started

database opened

处于ARCHIVE模式

恢复处于archivelog模式的数据库

1.查看数据库是否处于归档

SQL> archive log list;

2.启动rman对目标表空间进行备份,然后模拟删除

[oracle@orcl Backup]$ ramn target /

RMAN> run{

2> allocate channel ch_1 type disk;

3> allocate channel ch_2 type disk;

4> backup tablespace users

5> format '/u01/app/oracle/oradata/Backup/users_tablespace.bak';

6> }

3.关闭数据库,然后模拟删除掉users.dbf,users.dbf的路径怎么找上边写的有命令

RMAN> shutdown immediate

database closed

database dismounted

Oracle instance shut down

RMAN> startup mount

RMAN> alter database open;

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of alter db command at 12/04/2019 05:20:32

ORA-01157: cannot identify/lock data file 4 - see DBWR trace file

ORA-01110: data file 4: '/u01/app/oracle/oradata/orcl/users01.dbf'

4.数据库现在mount状态,恢复表空间

RMAN> run{

2> allocate channel ch_1 type disk;

3> restore tablespace users;

4> recover tablespace users;

5> }

5.更改成open状态是没有问题的,users的数据文件还是在的

RMAN> alter database open;

database opened

RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复的更多相关文章

  1. Oracle之rman数据库在非归档模式下的备份和恢复

    1.数据库在非归档模式下的备份 SQL> archive log list;数据库日志模式 非存档模式自动存档 禁用存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机日志序列 ...

  2. RMAN备份介质的移动与再恢复测试 [ catalog start with ‘dir’ ]

    --RMAN备份介质的移动与再恢复测试 ---------------------------------------------------------2013/09/21   由于目前生产环境中没 ...

  3. 在NOARCHIVELOG和ARCHIVELOG模式之间选择

    本节介绍在选择以NOARCHIVELOG或ARCHIVELOG模式运行数据库时必须考虑的问题,并包含以下主题: 在NOARCHIVELOG模式下运行数据库 在ARCHIVELOG模式下运行数据库 是否 ...

  4. 【12c】12c RMAN新特性之通过网络远程恢复数据库(RESTORE/Recover from Service)

    [12c]12c RMAN新特性之通过网络远程恢复数据库(RESTORE/Recover from Service) 通过网络远程恢复数据库(Restore/Recover from Service) ...

  5. threaded模式下,比prefork模式要省资源

    关于nginx + fastcgi + django 2009-03-10 17:14:43 分类: 系统运维 最近用django开发了一套广告投放系统,这套系统其实是一套网络广告联盟系统,包括广告的 ...

  6. linux下rm -r误删NTFS文件恢复方法

    一时疏忽,手一抖,把整个挂载的F盘删了一半!顿时傻眼!! 被删的F盘是Windows下NTFS分区,在Ubuntu12.04中挂载了F盘,使用rm命令时粗心大意,误删了一半的数据. 血的教训告诉我们, ...

  7. 如何在安装32位Oracle客户端组件的情况下以64位模式运行

    C#使用System.Data.OracleClient连接Oracle数据库.之前在WinXP上正常运行的程序移植到Windows 2008 x64上之后就连不上数据库了,错误信息如下:启动data ...

  8. 月半小夜曲下的畅想--DOCTYPE模式

    月半小夜曲下的畅想--DOCTYPE模式 @(css3 box-sizing)[doctype声明|quirks模式|妙瞳] DOCTYPE文档类型标签,该标签是将特定的标准通用标记语言或者XML文档 ...

  9. 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。

    从10G开始,Oracle提供了一个较为轻量级的客户包,叫做Instant Client. 将它安装好后,就不用再安装庞大的Oracle Client了. 这样一来,只要客户端下载Instant Cl ...

随机推荐

  1. python与redis交互及redis基本使用

    Redis简介 Redis是一使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日个开源的志型.Key-Value数据库,并提供多种语言的API. 从2010年3月15日起,Redis的开发工 ...

  2. 用Spring Security, JWT, Vue实现一个前后端分离无状态认证Demo

    简介 完整代码 https://github.com/PuZhiweizuishuai/SpringSecurity-JWT-Vue-Deom 运行展示 后端 主要展示 Spring Security ...

  3. Redis集群生产环境源码安装

    安装redis集群  根据各人单位生产环境用户搭建一.安装环境    操作系统:centos7.6 关闭防火墙.关闭selinux redis1:192.168.26.128 redis2:192.1 ...

  4. python BeautifulSoup4 获取 script 节点问题

    在爬取12306站点名时发现,BeautifulSoup检索不到station_version的节点 因为script标签在</html>之外,如果用‘lxml’解析器会忽略这一部分,而使 ...

  5. Python ——selenium报错 'chromedriver.exe' executable needs to be in PATH

    from selenium import webdriver dr = webdriver.Chrome() 运行时报错: 问题分析: 1.没有下载chromedriver.exe 2.chromed ...

  6. eclipse m2eclipse 从Maven的本地库中读取依赖库

    在Mac pro的终端中执行命令 mvn package 后,已经把该工程所需要的依赖库(dependancies)下载到本地库,但在把该工程 import 到 eclipse中时,发现m2eclip ...

  7. Spring Boot 外部化配置(一)- Environment、ConfigFileApplicationListener

    目录 前言 1.起源 2.外部化配置的资源类型 3.外部化配置的核心 3.1 Environment 3.1.1.ConfigFileApplicationListener 3.1.2.关联 Spri ...

  8. jquery (内置遍历数组的函数,事件)

    内置遍历数组的函数: 1. $.map(array, function() { }); 取到数组或者对象array中每一项进行遍历  然后在function中处理: var attr = [1,2,3 ...

  9. 【赠书】300- 59篇原创带你进入 JavaScript 生态圈

    点击上方"前端自习课"关注,学习起来~ 不知不觉,[前端自习课]已经连续推送300天整(不含删除的文章),每天一篇,正如公众号的 Slogan:每日清晨,享受一篇前端优秀文章. 运 ...

  10. Vue中实现聊天窗口overflow:auto自动滚动到底部,实现显示当前最新聊天消息

    在做消息的项目,当有新消息的时候让新消息出现在最底部,此时的box用的是overflow:auto 注意:vue项目需要注意在dom结构渲染完再进行操作 <div class="mai ...