主页 > 互联网  > 

自动索引技术实操

自动索引技术实操

数据库中哪些索引需要创建、哪些索引可以删除? 利用19c特性auto index来告诉你答案

--查看当前有哪些advisor任务 set lin 200 col task_name for a32 col DESCRIPTION for a32 col advisor_name for a32 select task_name,DESCRIPTION,advisor_name,status,to_char(EXECUTION_START,'yyyy-mm-dd hh24:mi:ss')EXECUTION_START from dba_advisor_tasks where task_name not like 'ADDM%'; --看看这些任务状态是否激活 col task_name for a32 col last_run for a22 select task_name,status,enabled, to_char(last_schedule_time,'yyyy-mm-dd hh24:mi:ss')last_run from dba_autotask_schedule_control; --非一体机环境需要设置隐含参数,23ai就默认打开 alter system set "_exadata_feature_on"=true scope=spfile; shu immediate startup --查看当前auto index配置项 col PARAMETER_NAME for a35 col PARAMETER_VALUE for a35 col LAST_MODIFIED for a22 col MODIFIED_BY for a12 select PARAMETER_NAME,PARAMETER_VALUE,to_char(LAST_MODIFIED,'yyyy-mm-dd hh24:mi:ss') modified,MODIFIED_BY from dba_auto_index_config; --运行ai功能模式:只提供报表、自动添加删除(慎用)、关闭 EXEC dbms_auto_index.configure('AUTO_INDEX_MODE', 'REPORT ONLY') --EXEC dbms_auto_index.configure('AUTO_INDEX_MODE', 'IMPLEMENT') --exec dbms_auto_index.configure('auto_index_mode','off'); exec dbms_auto_index.configure('auto_index_schema','test',allow=>true); --只有test可用 用户名null就是全部 --exec dbms_auto_index.configure('auto_index_schema','test',allow=>false); --除去test都可用 exec dbms_auto_index.configure('auto_index_default_tablespace','users') --自动创建的索引必须用drop_auto_indexes方法删 exec dbms_auto_index.drop_auto_indexes(owner=>'test', index_name=>'SYS_AI_001', allow_recreate=>false); --运行一段时间后看报告 set lines 300 trims on pages 1000 long 10000000 col report_hist for a120 var rep CLOB exec :rep:=dbms_auto_index.report_activity(activity_start=>sysdate -2, section=>'ALL', level=>'ALL') spo report_hist.txt select :rep report from dual; spo OFF exec :rep:=dbms_auto_index.report_activity(activity_start=>sysdate -2, section=>'ALL', level=>'ALL', type=>'HTML') select dbms_auto_index.report_last_activity() report from dual; select TABLE_NAME,index_name,index_type,status,auto,VISIBILITY,last_analyzed from dba_indexes where owner='TEST'; --哪些索引是自动创建的 COL TABLE_NAME FOR A22 COL INDEX_NAME FOR A22 select TABLE_NAME,index_name,index_type,status,auto,VISIBILITY,last_analyzed from dba_indexes where auto='YES'; --决策结果 col EXEC_NAME for a30 select EXECUTION_NAME exec_name,SQL_ID, ORIGINAL_PLAN_HASH_VALUE ori_plan, AUTO_INDEX_PLAN_HASH_VALUE auto_plan, ORIGINAL_BUFFER_GETS ori_buffget, AUTO_INDEX_BUFFER_GETS auto_buffget, round(ORIGINAL_CPU_TIME) ori_cpu, round(AUTO_INDEX_CPU_TIME) auto_cpu, STATUS from DBA_AUTO_INDEX_VERIFICATIONS; --自动索引处置命令:新建、重建、设置unusable set long 99999 longc 99999 col command for a30 col STATEMENT for a65 COL INDEX_NAME FOR A22 col EXECUTION_NAME for a28 select EXECUTION_NAME ,INDEX_NAME,TABLE_NAME,COMMAND,STATEMENT,error# from DBA_AUTO_INDEX_IND_ACTIONS; --特性相关数据字典 col OBJECT_NAME for a32 select distinct object_name from dba_objects where object_name like 'DBA_AUTO_INDEX%'; select * from DBA_AUTO_INDEX_STATISTICS where rownum<11; col sql_id for a13 select EXECUTION_NAME,ACTION_ID,SQL_ID,PLAN_HASH_VALUE,COMMAND,STATEMENT,START_TIME from DBA_AUTO_INDEX_SQL_ACTIONS; col ERROR_MESSAGE for a20 select * from (select * from DBA_AUTO_INDEX_EXECUTIONS order by EXECUTION_START) where rownum<11;
标签:

自动索引技术实操由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“自动索引技术实操