ORACLE 删除redo组成员之ORA-00362&ORA-01609

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:     一平台oracle 9i数据库在维护过程中,需要删除每个redo组的冗余成员,遭遇ORA-00362,报错信息如下:bash-3.00$ sqlplus /nolog    SQL*Plus: Release 9.
    一平台oracle 9i数据库在维护过程中,需要删除每个redo组的冗余成员,遭遇 ORA-00362,报错信息如下:
bash-3.00$ sqlplus /nolog   
SQL*Plus: Release 9.2.0.8.0 - Production on 星期四 4月 21 08:49:28 2016
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
SQL> conn / as sysdba
SQL> col MEMBER for a42
SQL> col status for a8
SQL> col MEMBER for a42
SQL> select log.group#,log.status,logfile.member from v$log log, v$logfile logfile where log.group#=logfile.group# order by group#;
    GROUP# STATUS   MEMBER
---------- -------- ------------------------------------------
         1 INACTIVE /data/oracle/redolog/redo01.dbf
         1 INACTIVE /data/oracle/redolog/redo01_1.dbf
         2 INACTIVE /data/oracle/redolog/redo02.dbf
         2 INACTIVE /data/oracle/redolog/redo02_1.dbf
         3 CURRENT  /data/oracle/redolog/redo03.dbf
         3 CURRENT  /data/oracle/redolog/redo03_1.dbf
SQL> alter database drop logfile member '/data/oracle/redolog/redo01_1.dbf'; --按理来说处于inactive状态的redo可以删除成员组成员,但是不行
alter database drop logfile member '/data/oracle/redolog/redo01_1.dbf'
*
ERROR 位于第 1 行:
ORA-00362: 组成组 1 中的有效日志文件要求输入成员
ORA-01517: 日志成员: '/data/oracle/redolog/redo01_1.dbf'
    --解决方法是,手工切换redo
SQL> alter system switch logfile;
系统已更改。
SQL> alter system switch logfile;
系统已更改。
SQL> select log.group#,log.status,logfile.member from v$log log, v$logfile logfile where log.group#=logfile.group# order by group#;
    GROUP# STATUS   MEMBER
---------- -------- ------------------------------------------
         1 ACTIVE   /data/oracle/redolog/redo01.dbf
         1 ACTIVE   /data/oracle/redolog/redo01_1.dbf
         2 CURRENT  /data/oracle/redolog/redo02.dbf
         2 CURRENT  /data/oracle/redolog/redo02_1.dbf
         3 INACTIVE /data/oracle/redolog/redo03.dbf
         3 INACTIVE /data/oracle/redolog/redo03_1.dbf
已选择6行。
   --删除处于inactive状态的redo组成员中的一个
SQL> alter database drop logfile member '/data/oracle/redolog/redo01_1.dbf';
数据库已更改。
SQL> alter database drop logfile member '/data/oracle/redolog/redo03_1.dbf';
数据库已更改。
   --处于current状态的redo组成员不能删除
SQL> alter database drop logfile member '/data/oracle/redolog/redo02_1.dbf';
alter database drop logfile member '/data/oracle/redolog/redo02_1.dbf'
*
ERROR 位于第 1 行:
ORA-01609: 日志2是线程1的当前日志 - 无法删除成员
ORA-00312: 联机日志 2 线程 1: '/data/oracle/redolog/redo02.dbf'
ORA-00312: 联机日志 2 线程 1: '/data/oracle/redolog/redo02_1.dbf'
   --手工切换redo,使redo group 2处于inactive状态
SQL> alter system switch logfile;
系统已更改。
SQL> alter database drop logfile member '/data/oracle/redolog/redo02_1.dbf';
数据库已更改。
SQL> select log.group#,log.status,logfile.member from v$log log, v$logfile logfile where log.group#=logfile.group# order by group#;
    GROUP# STATUS   MEMBER
---------- -------- ------------------------------------------
         1 INACTIVE /data/oracle/redolog/redo01.dbf
         2 ACTIVE   /data/oracle/redolog/redo02.dbf
         3 CURRENT  /data/oracle/redolog/redo03.dbf
操作完毕!
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
5月前
|
Oracle 关系型数据库
oracle redo 最佳实践
oracle redo 最佳实践
58 0
|
SQL Oracle 关系型数据库
Oracle rman备份保留策略,归档删除策略及delete命令的使用
oracle rman备份保留策略、归档策略的使用及对delete命令的影响
1973 0
|
Oracle 前端开发 关系型数据库
使用隐含参数_disable_logging分析oracle写redo logfile的性能
oracle有一个隐含参数_disable_logging可以禁止日志的生成,这个参数当然不能在生产库使用,但我们可以将其因为与测试,例如,如果我们怀疑数据库写redo logfile存在性能问题,我们可以将这个参数设置为true,禁止写日志,看看oracle的性能提高了多少。
104 0
|
Oracle 关系型数据库 数据库
Oracle 不使用DBCA在Oracle 11中删除数据库
Oracle 不使用DBCA在Oracle 11中删除数据库
80 0
|
SQL Oracle 关系型数据库
在Oracle中,如何管理联机Redo日志组与成员?
在Oracle中,如何管理联机Redo日志组与成员?
243 0
|
Oracle 关系型数据库 数据库
Oracle 使用脚本建库,删库及删除数据库软件
Oracle 使用脚本建库,删库及删除数据库软件
430 0
Oracle 使用脚本建库,删库及删除数据库软件
|
Oracle 关系型数据库 数据安全/隐私保护
oracle学习25-手工删除oracle归档日志后操作步骤 和修改用户默认解锁时间
oracle学习25-手工删除oracle归档日志后操作步骤 和修改用户默认解锁时间
167 0
|
Oracle 关系型数据库
oracle学习47-oracle删除非空表空间
oracle学习47-oracle删除非空表空间
123 0
|
SQL 存储 Oracle
Oracle--运行过程中当前redo日志文件损坏会发生什么
模拟Oracle运行过程(有事务未提交时)当前redo日志文件损坏是数据库的状态
409 0
|
SQL Oracle 关系型数据库
Oracle删除重复数据只留一条
查询及删除重复记录的SQL语句

推荐镜像

更多