文档解释
ORA-00370: potential deadlock during kcbchange operation
Cause: Error code used internally by software. Should never be reported
Action: Treat as internal error. See error 600.
ORA-00370: potential deadlock during kcbchange operation
这是由于在给定的cache buffers多个可能的重用关系之间存在死锁而引起的一条报错信息。
官方解释
ORA-00370: potential deadlock during kcbchange operation说明有一个死锁可能发生,在尝试更改cache buffer格式和大小时。此错误通常可归结为两个会话正在用一个cache buffer,一个会话试图改变的大小和格式,而另一个试图删除它。
常见案例
ORA-00370: potential deadlock during kcbchange operation这个错误可能引发的其他错误,譬如ORA-04020,通常可用于检测和处理此错误。另一个可能是多个session同时请求使用相同的cache buffer,可能发生死锁。
正常处理方法及步骤
1.检查org.tivoli.tms.enabler.db.mpm.cache.size的值,如果其足够大(例如>设置的最大值),则需要减小它的值。
2.依据Oracle文档,可以通过以下脚本来改变cache buffer大小:
SQL> alter system set db_cache_size=50m scope=both;
3. 如果这个脚本不起作用,可以通过以下步骤将cache buffer大小改小:
a. 停止所有数据库服务
b. 启动数据库到nomount模式
c. 运行以下SQL脚本:
alter system set db_cache_size=50m scope=spfile;
d. 重新启动数据库服务
4. 如果上述步骤也不起作用,则可能需要更改cache buffer的格式,以便更多可用的cache buffer,可以按以下步骤更改cache buffer格式:
a. 停止所有数据库服务
b. 启动数据库到nomount模式
c. 运行以下脚本:
alter system set db_cache_block_size=8k scope=spfile;
d. 重新启动数据库服务