ORA-00257 archive log 日志已满

ORA-00257 archive log 日志已满

报错信息:

ORA-00257: archiver error. Connect internal only, until freed

 

原因:

归档日志已满

解决办法:

1. 用sys用户登录

  sqlplus sys as sysdba

2. 看看archivlog所在位置

SQL> show parameter log_archive_dest;

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

SQL> archive log list;

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

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

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

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

6. 找到recovery目录, show parameter recover

SQL> show parameter recover;

7. 转移或清除对应的归档日志

上述结果告诉我们,归档位置用的是=/data/app/oracle/flash_recovery_area)

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

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

9. 检查一些无用的archivelog

RMAN> crosscheck archivelog all;

10. 删除过期的归档

RMAN> delete expired archivelog all;


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

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

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE

时间: 2024-10-15 05:38:47

ORA-00257 archive log 日志已满的相关文章

SQL Server中事务日志已满的原因以及解决办法

错误描述:数据库的事务日志已满.若要查明无法重用日志中的空间的原因 ,请参阅sys.databases 中的 log_reuse_wait_desc 列 . 首先引入一下事务日志的概念(来自百度百科): 事务日志是一个与数据库文件分开的文件.它存储对数据库进行的所有更改,并全部记录插入.更新.删除.提交.回退和数据库模式变化.事务日志还称作前滚日志或重做日志. 事务日志是备份和恢复的重要组件,也是使用 SQL Remote 或 [复制代理] 复制数据所必需的. 在缺省情况下,所有数据库都使用事务

SQLSERVER 2008 R2 事务日志已满

方法一: USE [master] GO ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE DNName SET RECOVERY SIMPLE   --简单模式 GO USE DNName GO DBCC SHRINKFILE (N'DNName_Log' , 11, TRUNCATEONLY) GO USE [master] GO ALTER DATABASE DNName SET RECOVER

SQL SERVER 日志已满的处理方法 (转)

事务日志文件Transaction Log File是用来记录数据库更新情况的文件,扩展名为ldf.在 SQL Server 7.0 和 SQL Server 2000 中,如果设置了自动增长功能,事务日志文件将会自动扩展.一般情况下,在能够容纳两次事务日志截断之间发生的最大数量的事务时,事务日志的大小是稳定的,事务日志截断由检查点或者事务日志备份触发.然而,在某些情况下,事务日志可能会变得非常大,以致用尽空间或变满.通常,在事务日志文件占尽可用磁盘空间且不能再扩展时,您将收到如下错误消息:Er

DB2报“数据库日志已满”问题解决

用控制中心直接改会比较容易一点,在数据库名称上点右键-->配置-->日志-->日志文件大小.主日志文件数.辅助日志文件数改大一点. 也可用命令行db2cmd db2 update db cfg for mymakro using LOGFILSIZ 512 --日志文件大小 db2 update db cfg for mymakro using LOGPRIMARY 20 --主日志 db2 update db cfg for mymakro using LOGSECOND5 10 --

sqlserver2000 数据库 'tempdb' 的日志已满

方法一解决过程: 查看了下数据库的属性,是自动增长,不指定文件大小上限.在网上Google了很久,试了些方法都不行:数据库所在磁盘还有很大的可用空间,试着下重药了.直接把tempdb的数据文件和日志文件的大小改为3000M,问题解决. 记录一下清空日志的命令:DUMP TRANSACTION dbname WITH NO_LOG 截断事务日志命令:BACKUP LOG dbname WITH NO_LOG收缩日志操作:右键点数据库-属性-所有任务-收缩数据库-文件-选择文件-确定. 方法二解决过

【数据库 'tempdb' 的日志已满】最新解决方法

数据库 'tempdb' 的日志已满 执行sql 语句,中间没有用到临时表 提示服务器: 消息 9002,级别 17,状态 2,行 1 数据库 'tempdb' 的日志已满.请备份该数据库的事务日志以释放一些日志空间. 网上找了下解决方案,大体是扩大临时库的日志文件的大小解决的 解决过程: 查看了下数据库的属性,是自动增长,不指定文件大小上限. 在网上百度了很久,试了些方法都不行:数据库所在磁盘还有很大的可用空间,试着下重药了. 直接把tempdb的数据文件和日志文件的大小改为3000M, 问题

SharePoint 2010 数据库xxx的事务日志已满

http://www.cnblogs.com/sygwin/p/6222428.html 接到领导安排,说客户有问题 请求协助解决,对方给我展示的错误日志,如下: 数据库'WSS_Content_xxxx'的事务日志已满.若要查明无法重用日志中的空间的原因,请参阅sy.databases中的log_reuse_wait_dec列 导致的结果是用户再也无法上传文件到文档库了. 看来一下对应的数据库文件,日志文件大的惊人,已经超过1.8T 作为老司机,理论上解决这样的问题,就是收缩数据库.可是咱是个

数据库 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。

一种方法:清空日志.1.打开查询分析器,输入命令 SQL code? 1  DUMP TRANSACTION 数据库名 WITH NO_LOG 2.打开企业管理器,在数据库上点右键->属性->选项->故障恢复-模型-选择-简单模型.(也可以直接在查询分析器里执行: SQL code? 1 alter database 数据库名 set recovery simple  3.右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给

SqlServer 事务日志已满

use master go backup transaction logtest with no_log go DBCC SHRINKDATABASE(logtest) Go SqlServer 事务日志已满