我的编程空间,编程开发者的网络收藏夹
学习永远不晚

RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复

恢复处于NOARCHIVELOG模式的数据库

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

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.

更改数据库为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> run{

2> allocate channel ch_1 type disk;

3> backup database

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

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

 

 

 

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

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{

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

RMAN> run{

2> allocate channel ch_1 type disk;

3> restore database;

4> }

 

 

 

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

 

 

 

起库看一下是可以起来的

RMAN> startup

 

database is already started

database opened

 

 

 

 

处于ARCHIVE模式

恢复处于archivelog模式的数据库

查看数据库是否处于归档

SQL> archive log list;

 

 

 

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

 

 

 

关闭数据库,然后模拟删除掉users.dbfusers.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"

 

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

RMAN> run{

2> allocate channel ch_1 type disk;

3> restore tablespace users;      

4> recover tablespace users;

5> }

 

 

 

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

 

RMAN> alter database open;

 

database opened

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复

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

Java设计模式之备忘录模式实现对象状态的保存和恢复

本文介绍Java设计模式之备忘录模式,该模式可以实现对象状态的保存和恢复。通过详细讲解备忘录模式的原理、实现方法和应用场景,帮助读者深入理解该设计模式,并提供示例代码和技巧,便于读者实际应用
2023-05-17

数据备份与故障恢复:MySQL主从复制在集群模式下的重要性探讨

数据备份与故障恢复:MySQL主从复制在集群模式下的重要性探讨引言:近年来,随着数据规模和复杂性的不断增长,数据库的备份和故障恢复变得尤为重要。在分布式系统中,MySQL主从复制在集群模式下被广泛应用,以提供高可用性和容错性。本文将探讨My
2023-10-22

编程热搜

目录