博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ORA-00257 archiver error. 错误的处理方法
阅读量:6376 次
发布时间:2019-06-23

本文共 5131 字,大约阅读时间需要 17 分钟。

archive log 日志已满

方法/步骤

  1. 1

    SecureCRT登录服务器,切换用户oracle,连接oracle

    [root@userbeta~]# su - oracle

    [oracle@userbeta~]$ sqlplus /nolog

    SQL> connect /as sysdba

  2. 2

    检查flash recovery area的使用情况,可以看见archivelog已经很大了,达到99.94

    SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

  3. 3

    计算flash recovery area已经占用的空间

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

  4. 4

    修改FLASH_RECOVERY_AREA的空间修改为6GB,修改前确认磁盘有足够空间

    SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=8g;

  5. 5

    现在来清理一下archivelog归档日志,生产环境建议备份

    查询日志目录位置

    show parameter recover;

    删除归档日志,USERDB是数据库实例名

    cd /u01/app/oracle/flash_recovery_area/USERDB/archivelog

    使用root帐户删除该目录下的文件或者备份其它地方

  6. 6

    使用rman 操作,内容太多,只做部分截图

    [oracle@userbeta archivelog]$ rman

    RMAN> connect target sys/sys_passwd

    crosscheck backup;

    delete obsolete;

    delete expired backup;

    crosscheck archivelog all;

    delete expired archivelog all;

    //此步会有提示,输入 YES 回车

    host;   //退出rman

  7. 7

    确认是否操作成功

    #  sqlplus /nolog

    SQL>  connect /as sysdba

    SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

  8. 8

    删除完成,重新连接数据库

    END


ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法

1. 用sys用户登录


sqlplus sys/pass@tt  sysdba

2. 看看archiv log所在位置


> show parameter log_archive_dest;	NAME                                     TYPE        ------------------------------------ ----------- ------------------------------log_archive_dest                   string	log_archive_dest_1               string	log_archive_dest_10             string

3. 一般VALUE为空时,可以用archive log list;检查一下归档目录和log sequence


 
> archive log list;	 log mode                 Archive Mode	Automatic archival                   Enabled	Archive destination                  USE_DB_RECOVERY_FILE_DEST	Oldest online log sequence     360	 log sequence  archive  360	 log sequence              362

4. 检查flash recovery area的使用情况,可以看见archivelog已经很大了,达到96.62


 
>  *  V$FLASH_RECOVERY_AREA_USAGE;FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES------------ ------------------ ------------------------- ---------------CONTROLFILE                 .13                        0               1	ONLINELOG                  2.93                        0               3	ARCHIVELOG                96.62                       0              141	BACKUPPIECE                   0                         0               0	IMAGECOPY                      0                         0               0	FLASHBACKLOG                0                         0               0

5. 计算flash recovery area已经占用的空间


>  (percent_space_used)*3/100  v$flash_recovery_area_usage;	(PERCENT_SPACE_USED)*3/100-----------------------------                       2.9904

6. 找到recovery目录, show parameter recover


 
> show parameter recover;NAME                                 TYPE        ------------------------------------ ----------- ------------------------------db_recovery_file_dest                string           /u01/app/oracle/flash_recovery_area	db_recovery_file_dest_size        big    5G	recovery_parallelism                            0

7 上述结果告诉我们,归档位置用的是默认值,放在flash_recovery_area下(db_recovery_file_dest目录=/u01/app/oracle/flash_recovery_area)


 
[root@sha3 10.2.0]# echo $ORACLE_BASE	/u01/app/oracle	[root@sha3 10.2.0]# cd $ORACLE_BASE/flash_recovery_area/tt/archivelog

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

---------------------------------------------------------------------------------------

注意:

在删除归档日志后,必须用RMAN维护控制文件,否则空间显示仍然不释放。

---------------------------------------------------------------------------------------

8. rman target sys/pass


 
[root@sha3 oracle]# rman target sys/passRecovery  Manager: Release 10.2.0.4.0 - Production  Tue Jan 20 01:41:26 2009	Copyright (c) 1982, 2007, Oracle.   rights reserved.	connected  target : tt (DBID=4147983671)

 

9. 检查一些无用的archivelog


 
RMAN> crosscheck archivelog ;

10. 删除过期的归档


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

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


 
>  *  V$FLASH_RECOVERY_AREA_USAGE;	FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES------------ ------------------ ------------------------- ---------------CONTROLFILE                 .13                         0               1	ONLINELOG                  2.93                         0               3	ARCHIVELOG                23.03                         0              36	BACKUPPIECE                   0                         0               0	IMAGECOPY                     0                         0               0	FLASHBACKLOG                  0                         0               0其它有用的Command:----------------------------------如果archive log模式下不能正常startup,则先恢复成noarchive log,startup成功后,再shutdown;	 ;	startup mount;	  noarchivelog;	  ;	 ;再次startup以archive log模式 ;	startup mount;	show parameter log_archive_dest;	  archivelog;	archive log list;	  ;如果还不行,则删除一些archlog log	>  #,sequence#  v$log;	    # SEQUENCE#---------- ----------         1         62	         3         64	         2         63原来是日志组一的一个日志不能归档>   clear unarchived logfile  1;	  ;最后,也可以指定位置Arch Log, 请按照如下配置 name  v$datafile;	 system  log_archive_dest='/opt/app/oracle/oradata/usagedb/arch' scope=spfile或者修改大小>  system  db_recovery_file_dest_size=3G scope=;

转载地址:http://gvtqa.baihongyu.com/

你可能感兴趣的文章
leetcode 278. First Bad Version
查看>>
mlecms v2.2版权
查看>>
异步请求(解析json数据)
查看>>
HDU - 6409:没有兄弟的舞会(数学+思维)
查看>>
(六)6.9 Neurons Networks softmax regression
查看>>
关于快乐数的算法
查看>>
day11-RabbitMQ direct广播模式
查看>>
vue笔记三(组件)
查看>>
9月9日,We7插件商场正式上线
查看>>
WPF and Silverlight 学习笔记(五):WPF应用程序管理
查看>>
VC6.0将程序打包成一个可执行文件(release)
查看>>
如何根据条件隐藏列
查看>>
es6中新增的常用数值扩展
查看>>
centos,nginx安装备忘
查看>>
GCD使用经验与技巧浅谈
查看>>
Elasticsearch 统计代码例子
查看>>
POJ 2208--Pyramids(欧拉四面体体积计算)
查看>>
MongoDB整理笔记の减少节点
查看>>
51nod 1385凑数字(字符串+构造)
查看>>
PHP中整合UCHOME中上传头像插件
查看>>