如何检查Oracle数据库的兼容和优化程序版本

时间:2017-02-01 10:59:19

标签: oracle sqlplus database-administration

如何检查Oracle数据库实例的兼容和优化程序版本。我想知道是否有任何特定的命令来检查SqlPlus上面的两个版本。对于兼容版本,我知道以下命令可以完成这项工作:

select * from database_compatible_level;

我想要类似的命令,它会告诉我优化器版本。请帮忙。

2 个答案:

答案 0 :(得分:0)

以sysdba身份运行以下命令,以了解为这些参数设置的当前值。

SQL>conn sys as sysdba

SQL>show parameter OPTIMIZER_FEATURES_ENABLE;

SQL>show parameter COMPATIBLE;

答案 1 :(得分:0)

任何数据库用户都可以使用 EXPLAIN PLAN 命令检查 OPTIMIZER_FEATURES_ENABLE 设置:

SQL> explain plan for select * from dual;

Explained.

SQL> select trim(plan_table_output) optimizer_features_enable
  2  from table(dbms_xplan.display(format => 'advanced'))
  3  where plan_table_output like '%OPTIMIZER_FEATURES_ENABLE%';

OPTIMIZER_FEATURES_ENABLE
--------------------------------------------------------------------------------
OPTIMIZER_FEATURES_ENABLE('19.1.0')

SQL>

查看大多数数据库参数需要 SELECT_CATALOG_ROLESELECT ANY DICTIONARY,但幸运的是该参数在解释计划的 Outline 部分中公开。解释计划中的值在技术上仅针对语句,但只要您不更改会话或语句级别的参数,上述查询的值将继承自系统参数。