我在init.ora文件中加了一句
optimizer_mode = rule
想把数据库的优化模式改成rule,
重启数据库后发现优化模式还是all rows,
请问一下应该怎样修改优化模式,我没有经验,先谢过啦~

解决方案 »

  1.   

    ALTER SESSION SET OPTIMIZER_MODE=??;来设定。 
      

  2.   


    这个执行了后要重启数据库吗,怎么还是没有改过来?
    而且是个是session级的吧?
      

  3.   


    设置隐藏参数
    alter system set "_optim_peek_user_binds" = false;
    alter system set "_b_tree_bitmap_plans" = false; FALSE

    设置AWR为10分钟一个快照,保存30天
    exec dbms_workload_repository.modify_snapshot_settings(43200,10);

    修改帐号限制
    alter profile "default" limit password_life_time unlimited failed_login_attempts unlimited;

    初始化系统统计信息
    "exec dbms_stats.delete_system_stats();
    exec dbms_stats.set_system_stats('CPUSPEEDNW',1840);"


    关闭自动维护任务
    "exec dbms_auto_task_admin.disable('auto optimizer stats collection', null, null);
    exec dbms_auto_task_admin.disable('sql tuning advisor);
    select client_name, status from dba_autotask_operation;"