往oracle数据库一张表里面导入了300多万数据之后,在更新一个字段的时候执行了10多分钟还没执行完,于是接取消了更新操作,然后在重新登录数据库就出现了ORA-00257: archiver error. Connect internal only, until freed的错误,原来是日志满了,那就就需要删除归档日志了。
首先查看当前flash recovery area使用情况。
1. 使用sqlplus命令,已管理员的身份登录数据库
如果是本机数据库用:
C:\windows\system32>sqlplus sys/密码 as sysdba
如果是登录远程数据库用:
C:\windows\system32>sqlplus sys/密码@tnsnam as sysdba
2. SQL> show parameter log_archive_dest;
3.SQL> set linesize 200
4.SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
ARCHIVED LOG 99.98 0 97 发现已经使用了99.98%
清除部分日志
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
ARCHIVED LOG 22.98 0 97 发现已经使用了22.98%