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

相关推荐

  • 在终端中运行Python脚本

    在终端中运行Python脚本Python是一个高级编程语言,常用于快速开发Web应用、科学计算、自动化任务等。Python脚本在本地运行可以让我们更加方便地进行代码测试和调试,另外Python的平台独立性也让Python成为跨平台开发的理想选择。但是在一些情况下,我们需要在终端中运行Python脚本。

    2023-12-29
    86
  • redis速度慢_数据库性能慢了

    redis速度慢_数据库性能慢了本篇为Redis性能问题诊断系列的第四篇,也是最后一篇,主要从应用程序、系统、服务器硬件及网络系统等层面上进行讲解,重点分享了哪些配置需要重点关注和调整优化,才能最大程度的发挥Redis的处理能力;

    2023-06-06
    128
  • 基于PyCharm的Python开发环境

    基于PyCharm的Python开发环境PyCharm是一个专业的Python IDE,由JetBrains公司开发,提供了各种高级功能,支持Python编译器及其他语言的集成开发环境。相比其他Python集成开发环境,PyCharm有更强大的特性和更好的性能,使Python开发更加高效、易于使用和可维护。

    2024-06-08
    37
  • Python Shell是什么意思

    Python Shell是什么意思a href=”https://beian.miit.gov.cn/”苏ICP备2023018380号-1/a Copyright www.python100.com .Some Rights Reserved.

    2024-05-30
    42
  • 在Mac上安装Python教程

    在Mac上安装Python教程如果你还没有在Mac上安装Python,那么你可以按照以下步骤来进行安装。

    2024-07-25
    7
  • 分布式 | Global 表 Left Join 拆分表实现原因探究「建议收藏」

    分布式 | Global 表 Left Join 拆分表实现原因探究「建议收藏」作者:郭奥门 爱可生 DBLE 研发成员,负责分布式数据库中间件的新功能开发,回答社区/客户/内部提出的一般性问题。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联…

    2023-03-16
    131
  • SQL存储过程简介「建议收藏」

    SQL存储过程简介「建议收藏」存储过程概述 存储过程是完成特定功能的一组SQL语句,它是数据库的一种可编程对象,类似于函数 其快速、灵活、安全 系统存储过程 SQL sever 内置的存储过程,存储在master库中,主要用于执行

    2023-03-04
    145
  • bat文件备份数据库[亲测有效]

    bat文件备份数据库[亲测有效]
    @echo off/*获取当前日期*/ set “Ymd=%date:~,4%%date:~5,2%%date:~8,2%” /*数据库自带的备份脚本的存放…

    2023-04-05
    138

发表回复

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