oracle 操作实例(一)----redolog 损坏恢复
一,实验前的准备
数据库全备保证自己没成功还能补救一下
- vim full.sh
- export ORACLE_BASE=/u01/app/oracle
- export ORACLE_HOME=$ORACLE_BASE/product/11.2/db_1
- export ORACLE_SID=proc
- export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
- export PATH=$ORACLE_HOME/bin:$PATH
- rman target / log /u01/backup/rman_full.log append<<EOF
- run
- {allocate channel c1 type disk;
- allocate channel c2 type disk;
- backup database filesperset 4 format '/u01/backup/full_%d_%T_%s_%p';
- sql 'alter system archive log current';
- sql 'alter system archive log current';
- sql 'alter system archive log current';
- backup archivelog all format '/u01/backup/arch_%d_%T_%s_%p' delete input;
- backup current controlfile format '/u01/backup/ctl_%d_%T_%s_%p';
- crosscheck backup;
- crosscheck archivelog all;
- delete noprompt obsolete;
- delete noprompt expired backup;
- delete noprompt expired archivelog all;
- }
- EOF
查看日志组的状态
- size_MB,members,archived,status,first_change#,to_char(FIRST_TIME,'yyyy-mm-dd hh24:mi:ss') first_time from v$log;
日志文件位置
- SELECT group#,member FROM v$logfile;
记录下来: 开始破坏
第一步,关闭数据库
第二步,删除或者移动一个rodo日志.
二,恢复
启动数据库报错
发现启动到mount状态后开始报错了
报错说的还不怎么详细.我们深入看一下
show parameter background_dump
进入报错日志里面查看--报错日志为第一个log文件...
查看最近的报错信息
可以看见日志文件redo3找不到了
查看日志状态:
哇,不行.
现在关闭数据库
也报错了
强制关闭
shutdown abort
启动数据库到mount状态
查看日志状态:
有一个日志文件报错了
- select a.group#,a.thread#,b.member,a.bytes/1024/1024
- size_MB,a.members,a.archived,a.status from v$log a,v$logfile b where a.group#=b.group#;
处理文件:
alter database clear logfile group 3;
开启数据库:
没有报错了
假如日志成员全部删除了也是这样恢复的
全部删除了,
启动报错
按照上文恢复
好像并不能关闭了----
- SQL> startup mount
- ORACLE instance started.
- Total System Global Area 1803841536 bytes
- Fixed Size 2254144 bytes
- Variable Size 1577061056 bytes
- Database Buffers 218103808 bytes
- Redo Buffers 6422528 bytes
- Database mounted.
- SQL> select group#,thread#,sequence#,bytes/1024/1024
- size_MB,members,archived,status,first_change#,to_char(FIRST_TIME,'yyyy-mm-dd hh24:mi:ss') first_time from v$log;
- 2
- GROUP# THREAD# SEQUENCE# SIZE_MB MEMBERS ARC STATUS
- ---------- ---------- ---------- ---------- ---------- --- ----------------
- FIRST_CHANGE# FIRST_TIME
- ------------- -------------------
- 1 1 10749 512 1 NO CURRENT
- 39958366 2019-02-27 17:17:59
- 3 1 0 512 1 YES UNUSED
- 39938038 2019-02-27 16:47:59
- 2 1 10747 512 1 YES INACTIVE
- 39938029 2019-02-27 16:47:59
- SQL> alter database clear logfile group 3;^H^H^H^H^H^H
- 2
- SQL> s^H^H
- SP2-0042: unknown command " - rest of line ignored.
- SQL>
- SQL>
- SQL>
- SQL> alter database open;
- alter database open
- *
- ERROR at line 1:
- ORA-03113: end-of-file on communication channel
- Process ID: 3292
- Session ID: 1705 Serial number: 5
- SQL> alter database clear logfile group 3;
- ERROR:
- ORA-03114: not connected to ORACLE
- SQL> exit
- Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
- With the Partitioning, OLAP, Data Mining and Real Application Testing options
- [oracle@dataknown prod]$ sqlplus / as sysdba
- SQL*Plus: Release 11.2.0.4.0 Production on Wed Feb 27 17:51:40 2019
- Copyright (c) 1982, 2013, Oracle. All rights reserved.
- Connected to an idle instance.
- SQL> startup mount
- ORACLE instance started.
- Total System Global Area 1803841536 bytes
- Fixed Size 2254144 bytes
- Variable Size 1577061056 bytes
- Database Buffers 218103808 bytes
- Redo Buffers 6422528 bytes
- Database mounted.
- SQL> alter database clear logfile group 3;
- Database altered.
- SQL> alter database open;
- Database altered.
- SQL>
插入发现以下报错的可以参考参考
- SQL> alter database clear logfile group 3;
- alter database clear logfile group 3
- *
- ERROR at line 1:
- ORA-00350: log 3 of instance prod (thread 1) needs to be archived
- ORA-00312: online log 3 thread 1: '/data/oradata/prod/redo03.log'
执行以下命令:
alter database clear unarchived logfile group 3;
然后在打开数据库
oracle 操作实例(一)----redolog 损坏恢复的更多相关文章
- oracle 操作实例(一)----rman 全备恢复
一,环境背景 拥有全备数据库 全备脚本: export TMP=/tmp export TMPDIR=$TMP export ORACLE_BASE=/u01 export ORACLE_SID=pr ...
- Oracle连接配置以及实例的备份和恢复
背景:一个团队项目开发,不可能每个人都架设自己本地的数据库,大多数情况下是统一用服务器上的数据库,这时候就需要进行远程数据库的连接.而且有时候还需要进行数据库搬迁 ,这时候就需要进行数据库的备份和恢复 ...
- ORACLE表空间操作实例
本文主要介绍oracle表空间常见的操作实例,包括创建.查询.增加.删除.修改.表空间和数据文件常用的数据字典和动态性能视图包括v$dbfile.v$datafile.v$tempfile.dba_s ...
- Oracle 数据库实例启动关闭过程
Oracle数据库实例的启动,严格来说应该是实例的启动,数据库仅仅是在实例启动后进行装载.Oracle数据启动的过程被划分为 几个不同的步骤,在不同的启动过程中,我们可以对其实现不同的操作,系统修复等 ...
- ORACLE数据库不同故障下的恢复总结
ORACLE数据库不同故障下的恢复总结1. 非归档模式下丢失或损坏的文件--1.1 数据文件--启动数据库的状态到MOUNT--恢复方法:通过之前创建的数据库完整备份,修复整个数据库,不过备份之后发生 ...
- Oracle 数据库实例简介
回到顶部 一:Oracle 数据库实例简介 1:数据库实例的启动顺序: 使用数据库其实就是访问内存.即:数据库实例.数据库的启动是顺序是 先 nomount ----> mount --- ...
- Oracle 启动实例(instance)、打开数据库
Oracle启动实例(instance).打开数据库 by:授客 QQ:1033553122 启动实例(instance).打开数据库 1.开启sqlplus [laiyu@localhost ~ ...
- oracle数据库实例状态
1.已启动/不装载(NOMOUNT).启动实例,但不装载数据库. 该模式用于重新创建控制文件,对控制文件进行恢复或重新创建数据库.2.已装载(MOUNT).装载数据库,但不打开数据库. 该模式用于更改 ...
- Windows2008 R2上完全卸载Oracle操作步骤(转)
最近现场项目,碰到了好几次oracle数据库被损坏,而且无法恢复的问题,没办法,只好卸载重装了.oracle卸载确实麻烦,都是从网上查的方法, 为了方便以后查询,在此就做一下记录. Windows20 ...
随机推荐
- Linq学习<二>
http://www.cnblogs.com/wyqlijin/archive/2011/02/25/1964934.html 这位仁兄写的比较高深,建议大家看看 一: 这一篇以一个数据类为例,操作数 ...
- Java 扫描器类 Scanner类
1.Scanner是SDK1.5新增的一个类,可是使用该类创建一个对象.Scanner reader=new Scanner(System.in); 2.reader对象调用下列方法(函数),读取用户 ...
- MongoDB整理笔记のSharding分片
这是一种将海量的数据水平扩展的数据库集群系统,数据分表存储在sharding 的各个节点上,使用者通过简单的配置就可以很方便地构建一个分布式MongoDB 集群.MongoDB 的数据分块称为 chu ...
- Ubuntu16.04切换python3和python2
切换Python3为默认版本: sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 sudo ...
- spring (1)
相关名词: 控制反转(IoC):将对象的创建交由spring创建,1创建新class,2xml中配置 3测试context.getBean("") 类似对象工厂(工厂模式)-xml ...
- web.xml报错:cvc-complex-type.2.4.a: Invalid content was found starting with element 'async-supported'. One of '{"http://java.sun.com/xml/ns/javaee":init-param}' is expected.
在写xml的时候又一次总是报cvc-complex-type.2.4.a: Invalid content was found starting with element 错误,还出现小红叉,在网上找 ...
- Sample-Code:Translator
<h2>My Spanish Translator</h2> <p> Enter your text in English: </p> <p&g ...
- Wiki凭什么持续得到开发人员和团队的喜爱
大家好,我是华为云DevCloud项目管理服务的产品经理恒少,作为布道师和产品经理,出差各地接触客户是常态,线下和华为云的客户交流.布道.技术沙龙. 但是线下交流,覆盖的用户总还是少数.我希望借助线上 ...
- 1.1、Logistics Regression模型
1.线性可分VS线性不可分 对于一个分类问题,通常可以分为线性可分与线性不可分两种 .如果一个分类问题可以使用线性判别函数正确的分类,则称该问题为线性可分.如图所示为线性可分,否则为线性不可分: 下图 ...
- flex布局浅谈
flex布局浅谈和实例 阿基米德曾说给我一个支点我可以撬动地球,而拥有flex基本可以撬动所有的布局. 1.flex布局基本介绍及效果展示 工欲善其事必先利其器,来来来,一起看下基础知识先(呵~,老掉 ...