ITPub博客

首页 > 数据库 > Oracle > [20250214]不要乱设置隐含参数.txt

[20250214]不要乱设置隐含参数.txt

原创 Oracle 作者:lfree 时间:2025-02-18 20:43:26 0 删除 编辑

[20250214]不要乱设置隐含参数.txt

--//今天看了一篇文章"永远不要轻易设置Oracle的隐藏参数,哪怕是DRM"
--//链接:https://www.cnblogs.com/jyzhao/p/18668366/yong-yuan-bu-yao-qing-yi-she-zhioracle-de-yin-cang

--//转抄其中内容:

因为关于Oracle的隐藏参数,江湖上一直都有两派对立的观点:

1.不要设置任何隐藏参数,只有当遇到特殊问题时在售后指导下临时使用,在问题解决后还要及时去掉
2.这一系列隐藏参数是众多客户踩出来的最佳实践,上线前必须要设置,才能避免重复踩坑,确保系统运行稳定

两派观点各有各的依据,不针对具体客户场景其实也很难讲谁对谁错。

原厂通常是偏向前者,第三方服务厂商则更多是后者,而且这个最佳实践的参数设置通常还被视作宝贵的技术财产。

但是最难的实际上是客户,客户往往会感到困惑。有时甚至被洗脑,认为某些隐藏参数的设置就是金科玉律。

--//作为用户,我讲一些自己的看法,实际上作为最末端的使用者,我个人很少改动这些参数,除非生产系统遇到不可绕开的bug或者问
--//题。前一段时间正好遇到一个问题,我将一个小表设置result_cache=force,当我查询时发现我的设置无效.

--//仔细检查发现result_cache_max_size=0,真心不知道安装者为什么这样操作。你可以设置小一点,没有必要关闭,除非就是对方在
--//实施一些项目,遇到怎么问题。当你提出疑问的时候,许多实施者视乎像公司机密一样不给用户做更详细的解析。
--//而且你可以感觉到实际上对方仅仅是机械的进行这样的操作,非常的刻板。

--//列出生产系统设置修改的隐含参数.
R:\>grep "^*._" aa.ora
*._ash_size=262144000
*._cleanup_rollback_entries=400
*._clusterwide_global_transactions=FALSE
*._cursor_obsolete_threshold=1024
*._datafile_write_errors_crash_instance=FALSE
*._disable_last_successful_login_time=TRUE
*._enable_spacebg=FALSE
~~~~~~~~~~~~~~~~~~~~~~~~
*._gc_policy_time=0
*._gc_undo_affinity=FALSE
*._log_segment_dump_parameter=FALSE
*._log_segment_dump_patch=FALSE
*._optimizer_adaptive_cursor_sharing=FALSE
*._optimizer_ads_use_result_cache=FALSE
*._optimizer_aggr_groupby_elim=FALSE
*._optimizer_cartesian_enabled=FALSE
*._optimizer_extended_cursor_sharing_rel='NONE'
*._optimizer_extended_cursor_sharing='NONE'
*._optimizer_gather_feedback=FALSE
*._optimizer_gather_stats_on_load=FALSE
*._optimizer_use_feedback=FALSE
*._partition_large_extents='FALSE'
*._PX_use_large_pool=TRUE
*._rollback_segment_count=500
*._serial_direct_read='NEVER'
*._undo_autotune=FALSE
*._use_adaptive_log_file_sync='FALSE'
*._use_single_log_writer='TRUE'

--//比如:
*._use_adaptive_log_file_sync='FALSE'
--//以前网上遇到许多该参数导致的问题,我想现在不设置基本不会出现问题,而且我们生产系统负载也不大。
--//如果有问题,oracle不会这样设计。

--//看看上面的设置,实际上我个人认为许多完全没有必要设置。比如
*._use_single_log_writer='TRUE'

--//在前2年我遇到类似问题,实际上我们当时的虚拟机器性能太差,我上网查一下看到许多人遇到类似问题,实际上现在的版本根本没
--//有这样必要设置。

--//再比如:
*._optimizer_use_feedback=FALSE
--//这个参数是喜忧参半的设置,我遇到设置为true带来的好处,也遇到奇怪的问题,运行正常,缓慢交错出现,然后形成一大堆子光标
--//的情况,我还遇到设置_optim_peek_user_binds=false的情况,完全没有必要。

--//检查正好发现文章提到的问题
*._gc_policy_time=0
*._gc_undo_affinity=FALSE

--//我大致浏览一下*._enable_spacebg=FALSE我设置的,还有_disable_last_successful_login_time设置有用外.其它我个人都不确定.

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-3072923/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4017
  • 访问量
    7994001