1.退出日志应用模式
[oracle@localhost ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.4.0 Production on Mon Jan 14 16:09:16 2019

Copyright (c) 1982, 2013, Oracle. All rights reserved.

SQL> connect / as sysdba
Connected.
SQL> alter database recover managed standby database cancel;

Database altered.

2.停掉数据库
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

3.模拟删除掉所有的控制文件
[oracle@localhost slnngkdg]$ cd /u01/app/oracle/oradata/slnngkdg
[oracle@localhost slnngkdg]$ mv control01.ctl bak_control01.ctl
[oracle@localhost slnngkdg]$ cd /u01/app/oracle/fast_recovery_area/slnngkdg
[oracle@localhost slnngkdg]$ mv control02.ctl bak_control02.ctl

4.尝试启动数据库
SQL> connect / as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.

Total System Global Area 3724607488 bytes
Fixed Size 2258760 bytes
Variable Size 788531384 bytes
Database Buffers 2919235584 bytes
Redo Buffers 14581760 bytes
ORA-00205: error in identifying control file, check alert log for more info

发现报错

5.启动数据库到nonout状态,然后恢复控制文件
[oracle@localhost ~]$ rman target /
RMAN> startup nomount;

database is already started

RMAN> restore controlfile from '/home/oracle/rman_bakckup/ctl_SLNNGK_36_1_20190114';

Starting restore at 14-JAN-19
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=133 device type=DISK

channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:07
output file name=/u01/app/oracle/oradata/slnngkdg/control01.ctl
output file name=/u01/app/oracle/fast_recovery_area/slnngkdg/control02.ctl
Finished restore at 14-JAN-19

6.启动数据库到mount状态
RMAN> alter database mount;

database mounted
released channel: ORA_DISK_1

7.做不完全恢复,指定sequence,数据量很大的情况下,该步骤会很消耗时间,可以写个脚本采用nohup执行
从主库看下当前的日志序号,看到主库当前的日志序号为290,那么我们直接指定该序号,要是没有权限查看,也可以使用系统视图查看(Select Max(t.SEQUENCE#) +1 From v$archived_log t)
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/app/oracle/archive_log
Oldest online log sequence 288
Next log sequence to archive 290
Current log sequence 290

run{
set until sequence 290;
restore database;
recover database;
}

8.打开数据库
RMAN> alter database open;

database opened

9.应用主库日志
alter database recover managed standby database using current logfile disconnect from session;

dataguard从库数据库丢失恢复例子(模拟所有的控制文件)的更多相关文章

  1. dataguard从库数据库丢失恢复例子(模拟丢失数据文件)

    准备工作,使用如下脚本进行数据库的全备份[oracle@localhost ~]$ more rman_backup.sh #!/bin/sh RMAN_OUTPUT_LOG=/home/oracle ...

  2. RMAN 备份恢复 删除表空间后控制文件丢失

    先备份一个控制文件 RMAN> backup current controlfile tag='bak_ctlfile' format='/home/oracle/backup/bak_ctl_ ...

  3. RMAN恢复 增加表空间后控制文件丢失

    查看目前的控制文件位置 SQL> select name from v$controlfile; NAME-------------------------------------------- ...

  4. dataguard从库删除归档的例子

    deletearchlog.sh #!/bin/sh export PATH TABLE='v$archived_log' sqlplus -silent "/ as sysdba" ...

  5. oracle 备份恢复篇(五)---rman 剩下控制文件和spfile

    一,环境准备 ❤ 拥有全量备份文件

  6. Oracle DB备份恢复篇之丢失控制文件

    实验目的 本篇主要模拟控制文件丢失后,如何根据实际情况恢复数据库,才能使数据库尽可能不丢失数据. 实验环境 1)Linux系统环境 [oracle@DG1 ~]$ lsb_release -a LSB ...

  7. RMAN数据库恢复之控制文件和参数文件恢复

    一.控制文件的恢复1.查询控制文件的路径 SQL> SELECT * FROM V$CONTROLFILE; STATUS NAME IS_RECOVERY_DEST_FILE BLOCK_SI ...

  8. MySQL数据库迁移与MySQL数据库批量恢复

    目录 一.MySQL数据库迁移或备份 1. 了解使用InnoDB引擎创建数据库所产生的文件 2. 迁移数据库步骤 1. 从A服务器迁移至B服务器 2. MySQL重装并导入之前数据库 二.MySQL数 ...

  9. Oracle数据库体系结构(4)oracle控制文件

    控制文件的概述 1.控制文件是oracle数据库非常重要的物理文件,描述了整个数据库的物理结构信息,包括数据库名称.数据文件与重做日志文件的名称与位置,日志序列号等信息.数据库实例根据初始化参数CON ...

随机推荐

  1. JIRA应用的内存参数设置不当+容器没有对资源进行限制导致服务挂掉的例子

    背景: 应用的部署结构是这样的:使用rancher管理的Docker集群,有三台物理主机,二十多个Docker容器, 提供的功能是问题跟踪(JIRA),文档管理(Confluence),代码托管(sv ...

  2. TensorFlow学习入门

    学习了基本的神经网络知识后,要使用框架了,这样才能出来更加复杂的情况,更快的开发出模型. 首先安装后,按照官网写了一个例子,但是又好多不懂,但只是第一步, 看这段代码,其实给你提供了很多学习tf的线索 ...

  3. myBatis框架_关于怎么获得多表查询的总记录数

    <!-- 查找总记录数 --> <select id="billCount" resultType="int"> select coun ...

  4. 主流框架的搭建(VUE,React)

    vue脚手架:cnpm install vue vue-cli -gvue init webpack/webpack-simple shuaige(新建文件夹的名字)cd shuaigecnpm in ...

  5. C++多态等知识点

    分清虚函数和纯虚函数的区别:(1).虚函数是函数前加关键字virtual,一般定义格式为:virtual 类型 函数名 (参数表){ 函数体 } (2).纯虚函数的生命格式为: virtual 类型 ...

  6. python全栈开发 * 26知识点汇总 * 180709

    26 logging collections random 模块 一.logging低配:日志不能写入文件与显示同时进行 import logging logging.basicConfig(leve ...

  7. JDBC事务(二)转账示例

    示例采用三层框架 web层: package cn.sasa.web; import java.io.IOException; import javax.servlet.ServletExceptio ...

  8. Android studio中导入SlidingMenu问题

    我们导入的library文件夹中的build.gradle 文件里面写的很清楚: android {     compileSdkVersion 17     buildToolsVersion &q ...

  9. python 容器类型数据 (str list tuple set dict)

    # ###容器类型数据(str list tuple set dict) var1 = "今天心情非常美丽" var2 = [1,2,3,4] var3 = ("黄将用& ...

  10. data日期转化

    eg: var time="2018-05-19T08:04:52.000+0000";      var d = new Date(time); var times=d.getF ...