author: headsen  chen

date: 2018-04-17  11:12:39

notice:个人原创,转载请注明作者和出处,否则依法追击法律责任。

1,oracle数据库正常使用中,突然报ora-00257的错误,原因是归档日志满了,达到了oracle设置的满值的状态了,所以会无法连接了。

2,system登录数据库查看使用率和归档文件目录

SQL> show parameter log_archive_dest;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest string
log_archive_dest_1 string
log_archive_dest_10 string
log_archive_dest_2 string
log_archive_dest_3 string
log_archive_dest_4 string
log_archive_dest_5 string
log_archive_dest_6 string
log_archive_dest_7 string
log_archive_dest_8 string
log_archive_dest_9 string NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_1 string enable
log_archive_dest_state_10 string enable
log_archive_dest_state_2 string enable
log_archive_dest_state_3 string enable
log_archive_dest_state_4 string enable
log_archive_dest_state_5 string enable
log_archive_dest_state_6 string enable
log_archive_dest_state_7 string enable
log_archive_dest_state_8 string enable
log_archive_dest_state_9 string enable
SQL>

3, archive log list;检查一下归档目录和log sequence ,此时在序号512之前的都可以删除。
SQL> archive log list;

Database log mode	       Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 512
Next log sequence to archive 514
Current log sequence 514

  

4,检查flash recovery area的使用情况,查看archivelog使用率:99% (这里因为已经清理过了,没来得及截图,第一次清理时有99%)

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------
CONTROLFILE 0 0 0
ONLINELOG 0 0 0
ARCHIVELOG 43.73 0 215
BACKUPPIECE 0 0 0
IMAGECOPY 0 0 0
FLASHBACKLOG .3 .22 4 6 rows selected.

上图中,说明归档日志满了,达到43.73%,需要清除过期的归档日志。

5,计算flash recovery area已经占用的空间 (已经清理过。没清理之前是2.99)

SQL>  select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;

SUM(PERCENT_SPACE_USED)*3/100
-----------------------------
1.3209

  

6,找到recovery的目录

SQL> show parameter recover;

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /oracle/flash_recovery_area
db_recovery_file_dest_size big integer 20G
recovery_parallelism integer 0
SQL>

7,删除过期的归档文件

归档位置用的是默认值,放在flash_recovery_area下(db_recovery_file_dest目录=/oracle/flash_recovery_area)

[oracle@pen EC]$ echo $ORACLE_BASE
/oracle
[oracle@pen EC]$ cd /oracle/flash_recovery_area/EC/archivelog/

[oracle@pen archivelog]$ ls

[oracle@pen archivelog]$ ls
2018_01_01 2018_01_11 2018_01_21 2018_01_31 2018_02_10 2018_02_20 2018_03_02 2018_03_12 2018_03_22 2018_04_01 2018_04_11
2018_01_02 2018_01_12 2018_01_22 2018_02_01 2018_02_11 2018_02_21 2018_03_03 2018_03_13 2018_03_23 2018_04_02 2018_04_12
2018_01_03 2018_01_13 2018_01_23 2018_02_02 2018_02_12 2018_02_22 2018_03_04 2018_03_14 2018_03_24 2018_04_03 2018_04_13
2018_01_04 2018_01_14 2018_01_24 2018_02_03 2018_02_13 2018_02_23 2018_03_05 2018_03_15 2018_03_25 2018_04_04 2018_04_14
2018_01_05 2018_01_15 2018_01_25 2018_02_04 2018_02_14 2018_02_24 2018_03_06 2018_03_16 2018_03_26 2018_04_05 2018_04_15
2018_01_06 2018_01_16 2018_01_26 2018_02_05 2018_02_15 2018_02_25 2018_03_07 2018_03_17 2018_03_27 2018_04_06 2018_04_16
2018_01_07 2018_01_17 2018_01_27 2018_02_06 2018_02_16 2018_02_26 2018_03_08 2018_03_18 2018_03_28 2018_04_07 2018_04_17
2018_01_08 2018_01_18 2018_01_28 2018_02_07 2018_02_17 2018_02_27 2018_03_09 2018_03_19 2018_03_29 2018_04_08
2018_01_09 2018_01_19 2018_01_29 2018_02_08 2018_02_18 2018_02_28 2018_03_10 2018_03_20 2018_03_30 2018_04_09
2018_01_10 2018_01_20 2018_01_30 2018_02_09 2018_02_19 2018_03_01 2018_03_11 2018_03_21 2018_03_31 2018_04_10

切换到root用户,转移或清除对应的归档日志, 删除一些不用的日期目录的文件,注意保留最后几个文件(比如360以后的)

[oracle@pen archivelog]$ rm -rf 2018_01*
[oracle@pen archivelog]$ rm -rf 2018_02*

[oracle@pen archivelog]$ ls
2018_03_01 2018_03_06 2018_03_11 2018_03_16 2018_03_21 2018_03_26 2018_03_31 2018_04_05 2018_04_10 2018_04_15
2018_03_02 2018_03_07 2018_03_12 2018_03_17 2018_03_22 2018_03_27 2018_04_01 2018_04_06 2018_04_11 2018_04_16
2018_03_03 2018_03_08 2018_03_13 2018_03_18 2018_03_23 2018_03_28 2018_04_02 2018_04_07 2018_04_12 2018_04_17
2018_03_04 2018_03_09 2018_03_14 2018_03_19 2018_03_24 2018_03_29 2018_04_03 2018_04_08 2018_04_13
2018_03_05 2018_03_10 2018_03_15 2018_03_20 2018_03_25 2018_03_30 2018_04_04 2018_04_09 2018_04_14

8,在删除归档日志后,必须用RMAN维护控制文件,否则空间显示仍然不释放。(rman使用system用户登录,或者自创的chen用户登录,必须要有dba的权限) 

[oracle@pen archivelog]$ rman target chen/chen

[oracle@pen archivelog]$ rman target chen/chen

Recovery Manager: Release 10.2.0.1.0 - Production on Tue Apr 17 11:30:03 2018
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: EC (DBID=1558596032)
RMAN>

9. 检查一些无用的archivelog
RMAN> crosscheck archivelog all;

archive log filename=/oracle/flash_recovery_area/EC/archivelog/2018_04_13/o1_mf_1_506_ff13y3dg_.arc recid=464 stamp=973364932
validation succeeded for archived log
archive log filename=/oracle/flash_recovery_area/EC/archivelog/2018_04_14/o1_mf_1_507_ff2lbs2k_.arc recid=465 stamp=973412441
validation succeeded for archived log
archive log filename=/oracle/flash_recovery_area/EC/archivelog/2018_04_14/o1_mf_1_508_ff3n9454_.arc recid=466 stamp=973447204
validation succeeded for archived log
archive log filename=/oracle/flash_recovery_area/EC/archivelog/2018_04_15/o1_mf_1_509_ff4fvh4q_.arc recid=467 stamp=973473391
validation succeeded for archived log
archive log filename=/oracle/flash_recovery_area/EC/archivelog/2018_04_15/o1_mf_1_510_ff6dv19y_.arc recid=468 stamp=973537890
validation succeeded for archived log
archive log filename=/oracle/flash_recovery_area/EC/archivelog/2018_04_17/o1_mf_1_511_ffbs1s2f_.arc recid=469 stamp=973681465
validation succeeded for archived log
archive log filename=/oracle/flash_recovery_area/EC/archivelog/2018_04_17/o1_mf_1_512_ffbs1s9l_.arc recid=470 stamp=973681466
validation succeeded for archived log
archive log filename=/oracle/flash_recovery_area/EC/archivelog/2018_04_17/o1_mf_1_513_ffbs1tb9_.arc recid=471 stamp=973681466
...
Crosschecked 215 objects

10, 删除过期的归档
RMAN> delete expired archivelog all;  ------> 输入“YES” 确认。

......
archive log filename=/oracle/flash_recovery_area/EC/archivelog/2018_02_28/o1_mf_1_411_f9dx438b_.arc recid=375 stamp=969297667
Deleted 119 EXPIRED objects

下面这一条命令视情况而定,可以不执行。

RMAN>delete archivelog until time 'sysdate-1' ; 删除截止到前一天的所有archivelog 

RMAN>exit  (退出)

11,再次查询,发现使用率正常,已经降到19.57

SQL> sqlplus / as sysdba

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------
CONTROLFILE 0 0 0
ONLINELOG 0 0 0
ARCHIVELOG 19.57 0 96
BACKUPPIECE 0 0 0
IMAGECOPY 0 0 0
FLASHBACKLOG .3 .22 4 6 rows selected.

这样,oracle的归档日志满的问题就解决了,可以登录和访问了。

补充:如果archive log模式下不能正常startup,则先恢复成noarchive log,startup成功后,再shutdown;

操作命令如下:

shutdown immediate;
startup mount;
alter database noarchivelog;
alter database open;
shutdown immediate;
再次startup以archive log模式
startup mount;
show parameter log_archive_dest;
alter database archivelog;
archive log list;               
alter database open;
如果还不行,则删除一些archlog log
SQL> select group#,sequence# from v$log;
    GROUP# SEQUENCE#
---------- ----------
         1         62
         3         64
         2         63
原来是日志组一的一个日志不能归档
SQL> alter database clear unarchived logfile group 1;
alter database open;
最后,也可以指定位置Arch Log, 请按照如下配置
select name from v$datafile;
alter system set log_archive_dest='/opt/app/oracle/oradata/usagedb/arch' scope=spfile
或者修改大小(我的改成了20G,不能太小了)
SQL> alter system set db_recovery_file_dest_size=3G scope=both;

ORA-00257错误的解决办法的更多相关文章

  1. Oracle的常见错误及解决办法

    ORA-12528: TNS:listener: all appropriate instances are blocking new connections ORA-12528问题是因为监听中的服务 ...

  2. WIN7下安装visualC++2008 redistributable 出现1935错误的解决办法(转自)

    转自:http://zhidao.baidu.com/link?url=jylNh_JeANi4wrOMmd4d2i06e_N3QCw7z6BLGiNNNTu1Hc6ADTkUq2PORExKmjtk ...

  3. Oracle客户端工具出现“Cannot access NLS data files or invalid environment specified”错误的解决办法

    Oracle客户端工具出现"Cannot access NLS data files or invalid environment specified"错误的解决办法 方法一:参考 ...

  4. IOS 开发中 Whose view is not in the window hierarchy 错误的解决办法

    在 IOS 开发当中经常碰到 whose view is not in the window hierarchy 的错误,该错误简单的说,是由于 "ViewController" ...

  5. VS2010出现FileTracker : error FTK1011编译错误的解决办法

    VS2010出现FileTracker : error FTK1011不知道是不是vs2010的一个bug,反正有人提交了. FileTracker : error FTK1011编译错误的解决办法有 ...

  6. SQL SERVER数据库备份时出现“操作系统错误5(拒绝访问)。BACKUP DATABASE 正在异常终止。”错误的解决办法

    一般备份文件选择的目录为磁盘根目录或备份所选分区未授予sqlserver用户读写权限时会出现此错误. 解决办法就是给sqlserver用户授予权限: 选择要备份的文件夹 ,右键-->属性--&g ...

  7. java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 错误的解决办法

    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 错误的解决办法 (2011-05-05 16:08:05) 转载▼ ...

  8. MVC3在IIS7.5发布(部署)报403.14错误的解决办法

    MVC3在IIS7.5发布(部署)报403.14错误的解决办法     错误现象: 报403.14 forbidden错误 web服务器被配置为不列出此目录的内容. 解决办法: 检查站点的处理程序映射 ...

  9. vpn establish capability from a remote deskstop is disabled错误的解决办法

    使用Cisco的VPN时,有时候会提示vpn establish capability from a remote deskstop is disabled.这样的错误,解决办法就是重启本机的Remo ...

  10. Visual Studio2012打开时弹出“遇到异常:这可能是由某个扩展导致的”错误的解决办法

    Visual Studio2012打开时弹出"遇到异常:这可能是由某个扩展导致的"错误的解决办法: 具体问题如下: 分析原因:网上搜集了以下,出现异常的原因是安装了第三方控件,然后 ...

随机推荐

  1. [1-1] 把时间当做朋友(李笑来)Chapter 1 【心智的力量】 摘录

    今天开了读书笔记这一专题,主要是对自己今后读的书有一个小小的记录,也为解决自己读书多年的存在的一些习惯的问题. 打小就喜欢书,可能最早的书是家人买的看图识动物.还记得七八岁时见书摊上的书时赖着不走央求 ...

  2. c++ builder xe2 debug正常 release崩溃 解决一例

    今天修改了以前一个项目的代码,是一个exe程序  C++ builder xe2 编译.以前都是好的.今天改了一下版本号 编译了一下,居然不能用了.直接崩溃 提示内存非法访问.而且显然还没有进入Win ...

  3. Service stopSelf(int statId)和onStartcommand(Intent intent,int flags,int startId)

    Stopping a service A started service must manage its own lifecycle. That is, the system does not sto ...

  4. AssionShop开源B2C电子商务系统-(一)用例图(转载)

    这篇文章,将有实质的进展.先把大体的需求整理了一份用例图,自认为粒度做的已经很细了,再细就没法搞了.我还是坚信一个原则:自己业余搞的东西千万不要 想一口吃个胖子,这样很容易项目就搞流产了~,废话不多说 ...

  5. Android错误之--activity_main cannot be resolved or is not a field

    一般在copy别人的项目中会easy出现本错误,截图例如以下:

  6. Unity3D_NGUI_性能优化实践_CPU卡顿

    http://gad.qq.com/college/articledetail/7083468 博尔特以9.58秒创造了百米世界纪录,假设他是跑酷游戏的角色,卡顿一帧就足以把冠军拱手让人. Unity ...

  7. excel weekday

    weekday(日期值)=星期几 星期天是1 星期六是7

  8. atitit。html css框架Bootstrap  Foundation的比较与不同 attilax大总结

    atitit.html css框架Bootstrap  Foundation的比较与不同 attilax大总结 1. Bootstrap  Foundation的比较与不同1 2. Bootstrap ...

  9. OSI七层模型与TCP/IP五层模型详解

    博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能静下心学习一下,希望自己能更深入的掌握这项最基本的通信接口技术.下面就开始搞了.   一.OSI参考模型         今天我 ...

  10. 浅谈配置文件:spring-servlet.xml(spring-mvc.xml) 与 applicationContext.xml

    在搭建 spring mvc 的框架时,会有2个配置文件必不可少: spring-servlet.xml 和applicationContext.xml.第一次接触spring mvc的工程师可能会对 ...