工具/原料
数据库Oracle 10.2.0.1.0 SecureCRT 任意ssh连接工具都可以
百度经验
搜经验ORA-00257:archiver error解决办法4人贡献了经验查看全部经验ORA-00257:archiver error解决办法4人贡献了经验查看全部经验 >sun_hq23016人看过2015-03-30更新出现ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间导致的,通过简单删除日志或加大存储空间就能够解决。工具/原料数据库Oracle 10.2.0.1.0 SecureCRT 任意ssh连接工具都可以方法/步骤1/8 分步阅读SecureCRT登录服务器,切换用户oracle,连接oracle[root@userbeta~]# su - oracle[oracle@userbeta~]$ sqlplus /nologSQL> connect /as sysdba2/8检查flash recovery area的使用情况,可以看见archivelog已经很大了,达到99.94SQL> select * from V
F
L
A
S
H
R
E
C
O
V
E
R
Y
A
R
E
A
U
S
A
G
E
;
3
/
8
计
算
f
l
a
s
h
r
e
c
o
v
e
r
y
a
r
e
a
已
经
占
用
的
空
间
S
Q
L
>
s
e
l
e
c
t
s
u
m
(
p
e
r
c
e
n
t
s
p
a
c
e
u
s
e
d
)
∗
3
/
100
f
r
o
m
v
FLASH_RECOVERY_AREA_USAGE;3/8计算flash recovery area已经占用的空间SQL> select sum(percent_space_used)*3/100 from v
FLASHRECOVERYAREAUSAGE;3/8计算flashrecoveryarea已经占用的空间SQL>selectsum(percentspaceused)∗3/100fromvflash_recovery_area_usage;4/8修改FLASH_RECOVERY_AREA的空间修改为6GB,修改前确认磁盘有足够空间SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=8g;5/8现在来清理一下archivelog归档日志,生产环境建议备份查询日志目录位置show parameter recover;删除归档日志,USERDB是数据库实例名cd /u01/app/oracle/flash_recovery_area/USERDB/archivelog使用root帐户删除该目录下的文件或者备份其它地方6/8使用rman 操作,内容太多,只做部分截图[oracle@userbeta archivelog]$ rmanRMAN> connect target sys/sys_passwdcrosscheck backup; delete obsolete; delete expired backup; crosscheck archivelog all; delete expired archivelog all; //此步会有提示,输入 YES 回车host; //退出rman7/8确认是否操作成功# sqlplus /nologSQL> connect /as sysdbaSQL> select * from V$FLASH_RECOVERY_AREA_USAGE;8/8删除完成,重新连接数据库ora-00257