zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

ORA-00842: DB_BLOCK_BUFFERS cannot be set with SGA_TARGET or MEMORY_TARGET ORACLE 报错 故障修复 远程处理

Oracleset ORA 故障 处理 远程 报错 修复
2023-06-13 09:18:58 时间
ORA-00842: DB_BLOCK_BUFFERS cannot be set with SGA_TARGET or MEMORY_TARGET ORACLE 报错 故障修复 远程处理
文档解释

ORA-00842: DB_BLOCK_BUFFERS cannot be set with SGA_TARGET or MEMORY_TARGET

Cause: DB_BLOCK_BUFFERS was incompatible with SGA_TARGET and MEMORY_TARGET.

Action: Remove the incompatible parameter setting.

ORA-00842错误表明您正在尝试在 MEMORY_TARGET 或 SGA_TARGET 配置参数的环境中,将 DB_BLOCK_BUFFERS 设置到不合法的值 (注意: MEMORY_TARGET 和 SGA_TARGET 是 Oracle 11g 之后出现的新参数)。

当一个受 MEMORY_TARGET 或 SGA_TARGET 参数控制的数据库实例初始化或重新启动时,Oracle会尝试基于提供的值来检查 DB_BLOCK_BUFFERS 参数。如果 DB_BLOCK_BUFFERS 被设置成不合法的值,就会出现ORA-00842错误。

在此情况下,您需要更改 DB_BLOCK_BUFFERS 参数值,从而将其与 MEMORY_TARGET 和 SGA_TARGET 相符,才能正确实例化 Oracle 数据库。

您对 Oracle 数据库实例进行重新初始化时,出现ORA-00842错误

您尝试数据库实例启动时,报出ORA-00842错误

正常处理方法及步骤

1.首先确认您是否正在运行 MEMORY_TARGET 或 SGA_TARGET 参数:

SELECT name,value

FROM v$parameter

WHERE name IN ( MEMORY_TARGET , SGA_TARGET );

2.从输出结果中,检查哪一个参数正在使用,并根据下列对应情况调整 DB_BLOCK_BUFFERS 值:

a.如果 MEMORY_TARGET 被指定,请将 DB_BLOCK_BUFFERS 设定成 0 (零)

b.如果 SGA_TARGET 被指定,请将 DB_BLOCK_BUFFERS 的值设定为 “(大内存池总大小-非大内存池总大小)/ 数据库块

3.如果你在生产环境中,最好以 SPFILE 方式保存数据库参数值

ALTER SYSTEM SET DB_BLOCK_BUFFERS= SCOPE=SPFILE;

4.重新启动数据库,使参数配置生效

SHUTDOWN IMMEDIATE;

STARTUP;


我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题

本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 ORA-00842: DB_BLOCK_BUFFERS cannot be set with SGA_TARGET or MEMORY_TARGET ORACLE 报错 故障修复 远程处理