ORA-00257: Archiver error. Connect AS SYSDBA only until resolved错误解决

错误原因:服务器分配空间不足,数据库归档日志满导致系统数据库登陆失败。

解决办法:1、删除以前的日志

2、增大归档日志的容量

3、关闭归档模式

一、删除以前的容量

1、登录账号后,查看ORACLE_BASE目录

oracle@localhost \~\]$ echo $ORACLE_BASE; /[orc](https://so.csdn.net/so/search?q=orc&spm=1001.2101.3001.7020 "orc")/app/oracle **2、进入数据库操作界面** \[oracle@localhost \~\]$ [sqlplus](https://so.csdn.net/so/search?q=sqlplus&spm=1001.2101.3001.7020 "sqlplus") / as sysdba; **3、查看flash recovery area的使用情况** 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 99.9 0 255 BACKUPPIECE 0 0 0 IMAGECOPY 0 0 0 FLASHBACKLOG 0 0 0 注:可以看出,ARCHIVELOG日志已经达到99.9%了。造成归档满的原因是因为有一个用户在做大量更新操作,由于更新操作产生大量重做日志,归档日志切换频繁。解决方法是要把大量归档日志清除掉! **4、差看recovery目录** SQL\> show parameter [recovery](https://so.csdn.net/so/search?q=recovery&spm=1001.2101.3001.7020 "recovery"); NAME TYPE ------------------------------------ --------------------------------- VALUE ------------------------------ db_recovery_file_dest string /orc/app/oracle/fast_recovery_ area/orcl db_recovery_file_dest_size big integer 8016M db_unrecoverable_scn_tracking boolean TRUE recovery_parallelism integer 0 **5、退出数据库命令后,进入/orc/app/oracle/fast_recovery_area/orcl/ORCL/archivelog文件夹下保留最近日期的一个文件夹,删除其他的文件夹。** **6、使用rman维护控制文件,否则空间显示仍不释放。** \[oracle@localhost \~\]$ rman target sys/pass 恢复管理器: Release 12.2.0.1.0 - Production on 星期四 9月 3 17:55:59 2020 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. 已连接到目标数据库: ORCL (DBID=1576223308) \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* Rman target sys/oracle@db 其中sys是用户名,密码是oracle,@后面数据库实例 **7、检查错误文档** RMAN\> crosscheck archivelog all; 检查控制文件和实际物理文件的差别 **8、删除过期文档** RMAN\> delete expired archivelog all; delete expired删除的是那些本来RMAN以为存在但是实际上在磁盘或者磁带上已经被删除了的信息,删除的只是RMAN资料库中的记录 **9、删除截止到前一天所有的archivelog** RMAN\> delete archivelog until time 'sysdate-1'; 删除截止到前一天的所有archivelog **10、退出** RMAN\> exit(); **11、再次进入sql查询使用率(执行2-3步)**   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 ### 二、数据库中查看归档日志的存储大小以及修改存储容量 SQL\> show parameter db_recover; NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ db_recovery_file_dest string /opt/oracle/flash_recovery_are a db_recovery_file_dest_size big integer 20G 修改db_recovery_file_dest_size大小为500G alter system set db_recovery_file_dest_size=500G scope=spfile(需要重启DB生效) --------------------------------------------------------------------------------------------------------------------------------------- Oracle 里面有个叫做spfile的东西,就是动态参数文件,里面设置了Oracle 的各种参数。所谓的动态,就是说你可以在不关闭数据库的情况下,更改数据库参数,记录在spfile里面。更改参数的时候,有4种scope选项。scope就是范围 ++ scope=spfile 仅仅更改spfile里面的记载,不更改内存,也就是不立即生效,而是等下次数据库启动生效。有一些参数只允许用这种方法更改 ++ scope=memory 仅仅更改内存,不改spfile。也就是下次启动就失效了 ++ scope=both 内存和spfile都更改 ++ 不指定scope参数,等同于scope=both. ### 三、修改为无归档日志模式 **开启归档日志模式** 1、登录服务端:sqlplus / as sysdba; 2、查询归档模是否开启:archive log list; 3、关闭数据库:shutdown immediate; 4、开启数据库至mount状态:startup mount; 5、修改数据库模式:alter database archivelog; 6、开启数据库:alter database open; 7、查看归档日志是否开启:archive log list; **关闭归档日志模式** 1、登录服务端:sqlplus / as sysdba; 2、关闭数据库:shutdown immediate; 3、打开数据库:startup mount; 4、关闭归档日志:alter database noarchivelog; 5、开启数据库:alter database open; 6、查看归档日志是否关闭:archive log list ;

相关推荐
一屉大大大花卷11 分钟前
初识Neo4j之入门介绍(一)
数据库·neo4j
周胡杰42 分钟前
鸿蒙arkts使用关系型数据库,使用DB Browser for SQLite连接和查看数据库数据?使用TaskPool进行频繁数据库操作
前端·数据库·华为·harmonyos·鸿蒙·鸿蒙系统
wkj0011 小时前
navicate如何设置数据库引擎
数据库·mysql
赵渝强老师1 小时前
【赵渝强老师】Oracle RMAN的目录数据库
数据库·oracle
暖暖木头1 小时前
Oracle注释详解
数据库·oracle
御控工业物联网1 小时前
御控网关如何实现MQTT、MODBUS、OPCUA、SQL、HTTP之间协议转换
数据库·sql·http
GJCTYU2 小时前
spring中@Transactional注解和事务的实战理解附代码
数据库·spring boot·后端·spring·oracle·mybatis
MicroTech20253 小时前
微算法科技(NASDAQ: MLGO)探索Grover量子搜索算法,利用量子叠加和干涉原理,实现在无序数据库中快速定位目标信息的效果。
数据库·科技·算法
Code季风3 小时前
SQL关键字快速入门:CASE 实现条件逻辑
javascript·数据库·sql
weixin_478689763 小时前
操作系统【2】【内存管理】【虚拟内存】【参考小林code】
数据库·nosql