RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复「建议收藏」

RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复「建议收藏」恢复处于NOARCHIVELOG模式的数据库 当数据库处于NOARCHIVELOG模式时,如果出现介质故障 ,则最后一次备份之后对数据库所做的任何操作都将丢失。通过RMAN执行恢复时,只需要执行res

恢复处于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;

 RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复「建议收藏」

 

 

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> }

 RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复「建议收藏」

 

 

 

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

 RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复「建议收藏」

 

 

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

SQL> select file_name,tablespace_name,bytes from dba_data_files;

 RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复「建议收藏」

 

 

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

 RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复「建议收藏」

 

 

[oracle@orcl orcl]$ rm users01.dbf

 RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复「建议收藏」

 

 

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> }

 RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复「建议收藏」

 

 

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

 RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复「建议收藏」

 

 

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

RMAN> startup

 

database is already started

database opened

 

 

 

 

处于ARCHIVE模式

恢复处于archivelog模式的数据库

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

SQL> archive log list;

 RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复「建议收藏」

 

 

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> }

 RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复「建议收藏」

 

 

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

 RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复「建议收藏」

 

 

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> }

 RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复「建议收藏」

 

 

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

 RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复「建议收藏」

RMAN> alter database open;

 

database opened

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10445.html

(0)
上一篇 2022-12-27
下一篇 2022-12-27

相关推荐

  • mysql基础入门使用和命令的使用顺序_MySQL常用命令

    mysql基础入门使用和命令的使用顺序_MySQL常用命令数据库了解 概念 数据库就是一种特殊的文件,其中存储着需要的数据 一个数据库可以有多张表 MySQL是一种关系型数据库 具有关联性数据的就是关系型数据库 MySQL是一种软件可以用来创建mysql数据

    2022-12-29
    141
  • MongoDB(四):数据类型、插入文档、查询文档

    MongoDB(四):数据类型、插入文档、查询文档1. 数据类型 MongoDB支持许多数据类型。 字符串 – 这是用于存储数据的最常用的数据类型。MongoDB中的字符串必须为UTF-8。 整型 – 此类型用于存储数值。 整数可以是32位或64位,

    2022-12-22
    152
  • 电脑系统重装后没有声音怎么办[亲测有效]

    电脑系统重装后没有声音怎么办[亲测有效]电脑系统重装后没有声音怎么办,下面与大家分享下系统重装后没有声音怎么解决的教程。 1第一步鼠标右键单击此电脑,选择管理进入页面,单击设备管理器,展开声音、视频和游戏控制器,查看设备是否有问号,如果有…

    2023-04-10
    161
  • Python构建用户界面的秘诀

    Python构建用户界面的秘诀Python作为一种简洁、易读、易于维护且可扩展的编程语言,越来越受到广大开发者的青睐。然而,Python工程师在构建用户界面时常常遇到一些问题。由于Python自带的GUI库功能较为简单,因此有必要探究一些其他的Python工具和库,以便更好地发挥Python的强大优势并实现更复杂的用户界面。

    2023-12-29
    103
  • JavaScript中向数组指定位置添加元素详解

    JavaScript中向数组指定位置添加元素详解在JavaScript中,我们常常需要对数组进行操作,包括添加、删除、修改等。其中,向数组指定位置添加元素是一种比较常见的操作,它可以在数组的任意位置插入元素,从而具有很重要的意义。

    2024-08-23
    24
  • 【SQL】用SSMS连接Oracle手记

    【SQL】用SSMS连接Oracle手记情况: A机上有SSMS 18.x, B机上有SQL Server 2008 R2数据库, C机上有Oracle Database 11.2.0.4.0数据库 我想在A机用ssms连C机的oracle

    2023-02-15
    160
  • mysql性能优化总结(三)[通俗易懂]

    mysql性能优化总结(三)[通俗易懂]mysql体系结构 插件式存储引擎,将数据的查询和存储相分离.每一款存储引擎都有各自的优缺点.可以灵活选用 架构: 客户端 -> mysql服务层 -> 存储引擎层 存储引擎是针对表,不是针对库,同…

    2023-03-19
    158
  • Pycharm安装包失败

    Pycharm安装包失败随着 Python 编程语言的不断普及,越来越多的开发人员开始使用 Pycharm 作为其 Python 开发环境。但是,很多人在安装 Pycharm 时遭遇到了一些问题,比如 Pycharm 安装包无法下载或者无法打开等。本文将会详细讲解 Pycharm 安装包出现故障的原因,以及如何解决这些问题。

    2024-06-11
    54

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注