ORA-02820: Unable to write the requested number of blocks ORACLE 报错 故障修复 远程处理
文档解释
ORA-02820: Unable to write the requested number of blocks
Cause: A server could not write the requested amount of data out to disk. The disk may have run out of space.
Action: Check the UNIX error number.
ORA-02820: Unable to write the requested number of blocks 说明:
这是一个Oracle数据库错误,意思是无法写入请求的块数量。它可能由控制文件中缩放造成数据文件超出最大尺寸引起。
官方解释
该错误代码表示Oracle无法写入到数据库控制文件内缩放出来的最大数据库文件大小。
常见案例
该错误最常见于当使用ALTER DATABASE RESIZE或者ALTER TABLESPACE RESIZE命令时。
正常处理方法及步骤
1. 检查控制文件的大小是否已经超过了用于缩放的最大数据文件的容量,若是,可以使用ALTER DATABASE RESIZE x或ALTER TABLESPACE RESIZE x将文件大小减小,以释放空间。
2. 如果控制文件大小尚未达到最大数据文件大小,则需要重新创建并扩展控制文件到可以容纳更大的容量:
a. 从操作系统上备份控制文件:
cp -r control_file.ora control_file.ora_bkp
b. 停止数据库:
shutdown immediate
c. 重新创建控制文件:
create controlfile …. Said maxdatafiles, maxlogfiles ….
d. 写入操作系统引用:
ALTER DATABASE MOUNT;
ALTER DATABASE OPEN;
e. 检查控制文件大小是否在扩展的容量中:
SET LINESIZE 32767
SELECT * FROM v$controlfile;