电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

优化Oracle数据库的参数设置

来源:金蝶云社区作者:金蝶2024-09-162

优化Oracle数据库的参数设置

数据库参数修改存在风险,仅供参考 ## 1.登录数据库,创建参数文件备份 `sqlplus / as sysdba` 用SYSDBA登录数据库 ```sql show parameter spfile; --显示spfile文件存储位置 host cp /home/oracle/app/oracle/product/11.2.0/db_1/dbs/spfileorcl.ora /home/oracle/app/oracle/product/11.2.0/db_1/dbs/spfileorcl.ora.bak create pfile='/tmp/init_eas.ora' from spfile; ``` ## 2.修改参数 ### 1.内存参数(以64G物理内存为例) ```sql alter system reset memory_target scope=spfile sid='*'; --出错表明该参数没有设置,请忽略 alter system reset memory_max_target scope=spfile sid='*'; --出错表明该参数没有设置,请忽略 alter system set sga_max_size=44G scope=spfile sid='*'; alter system set sga_target=44G scope=spfile sid='*'; alter system set db_cache_size=30G scope=spfile sid='*'; alter system set shared_pool_size=12G scope=spfile sid='*'; alter system set pga_aggregate_target=4G scope=spfile sid='*'; ``` ### 2.进程及会话数(默认150) ```sql show parameter process; show parameter sessions; --查看进程及会话数 alter system set processes=1200 scope=spfile; alter system set sessions=1325 scope=spfile; --修改进程及会话数 ``` ### 3.游标数 ```sql show parameter open_cursors; --查看游标数 select count(*) from v$open_cursor; --查看当前打开的游标数目 alter system set open_cursors=1000 scope=both; --修改最大游标数 ``` ### 4.关于审计 ```sql --考虑关闭审计(oracle 11g 默认打开审计) alter system set audit_trail=none sid='*' scope=spfile; --说明:11g 默认打开数据库审计,为了避免审计带来的 SYSTEM 表空间的过多占用,可以关闭审计。 --最近一年审计记录 select * from aud$ where substr(sysdate-NTIMESTAMP#,2,9)<360; --清理数据库审计 truncate table sys.aud$ reuse storage; alter table sys.aud$ deallocate unused keep 25000m; alter table sys.aud$ deallocate unused keep 20000m; alter table sys.aud$ deallocate unused keep 15000m; alter table sys.aud$ deallocate unused keep 10000m; alter table sys.aud$ deallocate unused keep 5000m; alter table sys.aud$ deallocate unused keep 2000m; alter table sys.aud$ deallocate unused keep 500m; alter table sys.aud$ deallocate unused keep 250m; alter table sys.aud$ deallocate unused keep 10m; ``` ### 5.关于维护任务 ```sql exec dbms_scheduler.disable( 'ORACLE_OCM.MGMT_CONFIG_JOB' ); exec dbms_scheduler.disable( 'ORACLE_OCM.MGMT_STATS_CONFIG_JOB' ); --说明:关闭一些不需要的维护任务,这两个属于 ORACLE_OCM 的任务不关闭,可能会在 alert日志中报错。 ``` ### 6.考虑是否关闭自动收集直方图 ```sql exec DBMS_STATS.SET_GLOBAL_PREFS( 'method_opt','FOR ALL COLUMNS SIZE 1' ); --或者 exec DBMS_STATS.SET_PARAM( 'method_opt','FOR ALL COLUMNS SIZE 1' ); --说明:为减少统计信息收集时间,同时为避免直方图引起的 SQL 执行计划不稳定,可以在数据库全局级关闭自方图的收集,对于部分需要收集直方图的表列,可以使用 DBMS_STATS.SET_TABLE_PREFS 过程来设置 ``` ### 7.关闭 auto space advisor ```sql BEGIN DBMS_AUTO_TASK_ADMIN.DISABLE( client_name => 'auto space advisor', operation => NULL, window_name => NULL); END; / --说明:关闭数据库的空间 Advisor,避免消耗过多的 IO,还有避免出现这个任务引起的 library cache lock。 ``` ### 8.关闭 auto spl tuning ```sql BEGIN DBMS_AUTO_TASK_ADMIN.DISABLE( client_name => 'sql tuning advisor', operation => NULL, window_name => NULL); END; / --说明:关闭数据库的 SQL 自动调整 Advisor,避免消耗过多的资源。 ``` ### 9.调整时间窗口 ```sql --查询窗口定义详情--10g select window_name,repeat_interval,duration,enabled from dba_scheduler_windows; --查询窗口定义详情--11g和12c(周一到周五每晚10点开始收集统计信息,duration是4h;周六周日早上6点开始收集统计信息,duration是20h) select window_name,repeat_interval,duration,enabled from dba_scheduler_windows; --根据具体业务情况调整 EXECUTE DBMS_SCHEDULER.SET_ATTRIBUTE('SATURDAY_WINDOW','repeat_interval','freq=daily;byday=SAT;byhour=22;byminute=0;bysecond=0'); EXECUTE DBMS_SCHEDULER.SET_ATTRIBUTE('SUNDAY_WINDOW','repeat_interval','freq=daily;byday=SUN;byhour=22;byminute=0;bysecond=0'); EXEC DBMS_SCHEDULER.SET_ATTRIBUTE('SATURDAY_WINDOW', 'duration', '+000 08:00:00'); EXEC DBMS_SCHEDULER.SET_ATTRIBUTE('SUNDAY_WINDOW', 'duration', '+000 08:00:00'); exec dbms_scheduler.disable('WEEKNIGHT_WINDOW', TRUE); exec dbms_scheduler.disable('WEEKEND_WINDOW', TRUE); --说明:一些业务系统即使在周末,也同样处于正常的业务工作状态,比如面向公众的业务系统,在月底(虽然是周末)有批处理操作的系统,以及节假日调整的周末等,建议调整周六和周日窗口的起止时间和窗口时间长度,避免有时候周六或周日影响业务性能。 ``` ### 10.修改隐藏参数 ```sql alter system set "_optimizer_adaptive_cursor_sharing"=false sid='*' scope=spfile; alter system set "_optimizer_extended_cursor_sharing"=none sid='*' scope=spfile; alte

优化Oracle数据库的参数设置

数据库参数修改存在风险,仅供参考## 1.登录数据库,创建参数文件备份 `sqlplus / as sysdba` 用SYSDBA登录数据库 ```sqlshow p...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信