ORA-01986: OPTIMIZER_GOAL is obsolete

文档解释

ORA-01986: OPTIMIZER_GOAL is obsolete

Cause: An obsolete parameter, OPTIMIZER_GOAL, was referenced.

Action: Use the OPTIMIZER_MODE parameter.

ORA-01986表示,企图使用的优化器指标OPTIMIZER_GOAL已经被废弃。这是一个Oracle 11改进的功能,其优化器目标应该使用新的“创建优化器指导性功能(CDB)”特性。

官方解释

OPTIMIZER_GOAL参数是Oracle 11g中过时的优化器特性。 它被替换为新的“创建优化器指导性特征”,被称为CDB,它提供了比早先版本更灵活和高级的优化器功能。

常见案例

ORA-01986通常发生在尝试使用Oracle 11之前的版本中的优化器指标参数时发生。 尝试使用This parameter can be used when the value of compatible=11.2.0.0.0 or higher.

正常处理方法及步骤

1.根据现有数据库可用性确定compatible参数的值

2.确保执行ALTER SYSTEM SET OPTIMIZER_GOAL=更新优化目标

3.如果必要,可以使用alter session设置会话级参数

4.运行v$optimizer_goal以确认当前应用的优化器指标

5.确认优化器指标被正确设置而不会再受到ORA-01986的影响

你可能感兴趣的