首页 > 数据库 >ORACLE 11204 for Linux(RAC) 环境配置及数据库参数最佳实践

ORACLE 11204 for Linux(RAC) 环境配置及数据库参数最佳实践

时间:2023-09-28 11:37:04浏览次数:40  
标签:spfile set RAC sid system 11204 Linux scope alter

ORACLE 11204 for Linux(RAC) 环境配置及数据库参数最佳实践

针对Linux 6.6(+)版本:

1、Linux 内核参数配置

vm.dirty_ratio=20
vm.dirty_background_ratio=3
vm.dirty_writeback_centisecs=100
vm.dirty_expire_centisecs=500
vm.swappiness=10
vm.min_free_kbytes=524288
##需要根据SGA来计算
vm.nr_hugepages = 6118828401 
#rp_filter,这里假设eth2和eth3都是私有网卡
net.ipv4.conf.eth2.rp_filter = 2
net.ipv4.conf.eth3.rp_filter = 2
## fix packet reassembles failure
net.ipv4.ipfrag_high_thresh = 16777216
net.ipv4.ipfrag_low_thresh = 15728640
net.ipv4.ipfrag_time=60

参考文档:

RHEL 6.6: IPC Send timeout/node eviction etc with high packet reassembles failure(Doc ID 2008933.1)

RAC Cluster is Experiencing Node Evictions after Kernel Upgrade to OL6.6(Doc ID 2011957.1)

2、disable listener xml log

建议调整监听参数文件 DIAG_ADR_ENABLED_listener = OFF ,然后reload监听,监听就不会存放为XML文件格式,而是使用10g老的方式。

同时建议在SQLNET.ORA文件中设置参数 DIAG_ADR_ENABLED = OFF 来屏蔽ADR向ALERT写入错误信息(如ORA-609)。

3、调整ASM

  • 调整数据库参数
SQL> alter system set memory_max_target=4096m scope=spfile;
SQL> alter system set memory_target=1536m scope=spfile;
SQL> alter system processes=200 scope=spfile;
  • 调整AU大小

ASM磁盘组使用的是默认的1M AU大小,对于大型数据库,这会造成较多的内存占用,同时对性能略微有些影响,建议对于新增的用于放置数据文件的ASM磁盘组,

适当调大AU大小,比如4M或8M(2的幂值)。

根据电信运营商的实际经验,建议设置AU 为4m。

4、调整CHM日志保留时间

[root@db1 db1]# oclumon manage -get repsize    显示多少秒,当前是61624秒
CHM Repository Size = 61624
[root@db1 db1]# [oclumon](mailto:grid@hxjfdb1:~$oclumon) manage -repos resize  259200   调整为保留三天

5、调整归档目录

对于ADG环境,建议将归档存放在闪回目录中,避免归档被意外删除。

新建快速恢复区专用的磁盘组,修改参数db_recovery_file_dest和 db_recovery_file_dest_size,例如:

SQL> show parameter recovery
NAME                 TYPE     VALUE
------------------------------------ -----------------------
db_recovery_file_dest        string   +FRADG
db_recovery_file_dest_size      big integer 900G

6、调整CRS资源属性(对于网络环境不稳定的情况建议调整)

在Oracle 11.2.0.4版本中,CRS默认每秒检查一次网络健康情况,如果发现网络存在异常比如闪断;那么将会立刻将

SCAN/LISTENER等资源进行failover切换;可能影响业务。不仅如此,VIP资源也会收到影响。

建议将public 网络的检查频率从1秒修改为6秒。

crsctl modify res ora.net1.network -attr "CHECK_INTERVAL=6"

7、 时间窗口设置(基于业务进行调整)

如下结合运营商的实际情况进行调整。如果是其他行业客户,请酌情修改。

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);

8、关闭不必要的job

exec dbms_scheduler.disable('ORACLE_OCM.MGMT_CONFIG_JOB');
exec dbms_scheduler.disable('ORACLE_OCM.MGMT_STATS_CONFIG_JOB');  
BEGIN
DBMS_AUTO_TASK_ADMIN.DISABLE(
client_name => 'auto space advisor',
operation => NULL,
window_name => NULL);
END;
/

BEGIN
DBMS_AUTO_TASK_ADMIN.DISABLE(
client_name => 'sql tuning advisor',
operation => NULL,
window_name => NULL);
END;
/

9、修改AWR信息收集

请根据实际情况酌情调整

EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(RETENTION=>44640,INTERVAL=>30);  --将快照采集频率修改为30分钟
EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(topnsql => 30);     ---修改top SQL 为30

10、修改默认的profile属性

如下设置适用于绝大多数行业客户,个别特殊客户(例如对安全有极高要求),请酌情修改。

alter profile "DEFAULT" limit PASSWORD_GRACE_TIME UNLIMITED;
alter profile "DEFAULT" limit PASSWORD_LIFE_TIME UNLIMITED;
alter profile "DEFAULT" limit PASSWORD_LOCK_TIME UNLIMITED;
alter profile "DEFAULT" limit FAILED_LOGIN_ATTEMPTS UNLIMITED;

11、logminer设置

需要根据实际情况而定,打开附加日志会产生过多的redo

为了防止数据库出现一些误删除等操作时,能够利用logminer分析日志,建议开启数据库附加日志,如下:

alter database force logging;
alter database add supplemental log data;
alter database add supplemental log data (primary key);
alter database add supplemental log data (unique) columns;

12、 直方图收集设置

避免Oracle SQL执行计划频繁变动,设置数据库全局的统计信息收集不采集直方图:

exec dbms_stats.set_global_prefs(pname=>'METHOD_OPT',pvalue=>'for all columns size 1');

说明:针对个别数据倾斜严重的业务表,建议进行定制化统计信息收集(数据是否倾斜,需要跟客户进行沟通确认)。

13、调整数据库实例参数

如下数据库参数以Oracle 11.2.0.4版本为例:

参数名称

建议值

参数解释

resource_manager_plan

FORCE:

关闭资源计划

audit_trail

None

关闭数据库审计功能

undo_retention

10800

session_cached_cursors

200

archive_lag_target

1800

Dg环境设置归档定时产生,避免丢失

db_files

4000

max_shared_servers

0

sec_max_failed_login_attempts

100

deferred_segment_creation

FALSE

关闭延迟段创建

parallel_force_local

TRUE

parallel_max_servers

32

sec_case_sensitive_logon

FALSE

关闭密码大小写敏感

open_cursors

3000

open_link

40

open_links_per_instance

40

enable_ddl_logging

TRUE

sga_target

0

关闭SGA自动调节

db_cache_size

100G

shared_pool_size

20G

shared pool大小控制在SGA的15%-20%

large_pool_size

2G

java_pool_size

2G

db_cache_advice

OFF

cell_offload_processing

FALSE

非exadata环境,建议关闭offload功能

gcs_server_processes

6

防止RAC节点CPU不同出现性能问题,固定gcs server数量

result_cache_max_size

0

关闭result cache功能,避免大量bug

db_securefile

always

启用securefile lob,优化lob性能

_kttext_warning

1

数据文件自动扩展预警,默认为5%;避免文件预扩展出现问题

_ktb_debug_flags

8

11g DataGuard switchover时可能出现Index损坏,这是bug 22241601; 设置该参数,启用Index 自动修复功能。

_optimizer_ads_use_result_cache

FALSE

关闭result cache功能启用情况下优化器自适应功能

_b_tree_bitmap_plans

FALSE

_gc_policy_time

0

关闭DRM

_gc_defer_time

3

_lm_tickets

5000

增加ticket,避免ticket不足导致ORA-481

_optimizer_use_feedback

FALSE

_undo_autotune

FALSE

_bloom_filter_enabled

FALSE

关闭布隆过滤,屏蔽bug

_cleanup_rollback_entries

4000

_px_use_large_pool

TRUE

开启并行操作使用large pool

_optimizer_extended_cursor_sharing_rel

NONE

关闭11gR2自适应游标共享特性,屏蔽大量bug

_optimizer_extended_cursor_sharing

NONE

关闭11gR2自适应游标共享特性,屏蔽大量bug

_optimizer_adaptive_cursor_sharinge

FALSE

关闭11gR2自适应游标共享特性,屏蔽大量bug

_optimizer_cartesian_enabled

NONE

禁止带连接条件时时出现笛卡尔积连接

_sort_elimination_cost_ratio

1

_index_partition_large_extents=FALSE

FALSE

_memory_imm_mode_without_autosga=FALSE

FALSE

关闭sga自动调节(注意shared pool,否则可能出现ORA-4031)

_clusterwide_global_transactions=FALSE

FALSE

_part_access_version_by_number=FALSE

FALSE

_partition_large_extents=FALSE

FALSE

_use_adaptive_log_file_sync=FALSE

FALSE

_lm_sync_timeout=1200

1200

_ksmg_granule_size

134217728

buffer cache超过100G时,调整内存粒度大小,提升性能

_external_scn_logging_threshold_seconds

3600

_high_priority_processes

LMS*|VKTM|LGWR

提高LGWR优先级,避免log file sync(11.2.0.4仍然需要调整)

_external_scn_rejection_threshold_hours

24

_datafile_write_errors_crash_instance

FALSE

避免文件写IO错误终止实例

28401 TRACE NAME CONTEXT FOREVER, LEVEL 1’, ‘60025 trace name context forever’, ‘10943 trace name context level 2097152’, ‘10949 trace name context forever,level 1’

Exadata环境不能关闭直接路径读。

命令供参考:

Alter system set resource_manager_planz=’FORCE:’  scope=spfile sid='*';
Alter system set audit_trail=none         scope=spfile sid='*';
alter system set undo_retention=10800       scope=spfile sid='*';
alter system set session_cached_cursors=200    scope=spfile sid='*';
alter system set db_files=4000           scope=spfile sid='*';
alter system set max_shared_servers=0       scope=spfile sid='*';
alter system set sec_max_failed_login_attempts=100 scope=spfile sid='*';
alter system set deferred_segment_creation=false  scope=spfile sid='*';
alter system set parallel_force_local=true     scope=spfile sid='*';
alter system set parallel_max_servers=32      scope=spfile sid='*';
alter system set sec_case_sensitive_logon=false  scope=spfile sid='*';
alter system set open_cursors=3000         scope=spfile sid='*';
alter system set open_link =40           scope=spfile sid='*';
alter system set open_links_per_instance =40    scope=spfile sid='*';
alter system set sga_target=0           scope=spfile sid='*';
alter system set db_cache_size=120g        scope=spfile sid='*';
alter system set shared_pool_size=25g       scope=spfile sid='*';
alter system set large_pool_size=512m       scope=spfile sid='*';
alter system set java_pool_size=512m        scope=spfile sid='*';
alter system set db_cache_advice=off        scope=spfile sid='*';
alter system set gcs_server_processes=6      scope=spfile sid='*';
alter system set result_cache_max_size=0      scope=spfile sid='*';
alter system set enable_ddl_logging=true scope=spfile sid='*';
alter system set archive_lag_target=1800 scope=spfile sid='*';
alter system set db_securefile=always scope=spfile sid='*';
alter system set "_ktb_debug_flags"=8 scope=both sid='*';
alter system set cell_offload_processing=false scope=spfile sid='*';
alter system set "_kttext_warning"=1 scope=spfile sid='*';
alter system set "_optimizer_ads_use_result_cache" = FALSE scope=spfile sid='*';
alter system set "_b_tree_bitmap_plans"=false      scope=spfile sid='*';
alter system set "_gc_policy_time"=0          scope=spfile sid='*';
alter system set "_gc_defer_time"=3           scope=spfile sid='*'; 
alter system set "_lm_tickets"=5000           scope=spfile sid='*';
alter system set "_optimizer_use_feedback"=false    scope=spfile sid='*';;
alter system set "_high_priority_processes"='LMS*|VKTM|LGWR' scope=spfile sid='*';
alter system set "_undo_autotune"=false         scope=both  sid='*';
alter system set "_bloom_filter_enabled"=FALSE     scope=spfile sid='*';
alter system set "_cleanup_rollback_entries"=4000   scope=spfile sid='*';
alter system set "_px_use_large_pool"=true        scope=spfile sid='*';
alter system set "_optimizer_extended_cursor_sharing_rel"=NONE scope=spfile sid='*';
alter system set "_optimizer_extended_cursor_sharing"=NONE   scope=spfile sid='*';
alter system set "_optimizer_adaptive_cursor_sharing"=false   scope=spfile sid='*';
alter system set "_optimizer_cartesian_enabled"=FALSE         scope=spfile sid='*';
alter system set "_sort_elimination_cost_ratio"=1        scope=spfile sid='*';
alter system set "_partition_large_extents"=FALSE        scope=spfile sid='*';
alter system set "_index_partition_large_extents"=FALSE     scope=spfile sid='*';
alter system set "_memory_imm_mode_without_autosga"=FALSE    scope=spfile sid='*';
alter system set "_clusterwide_global_transactions"=FALSE    scope=spfile sid='*';
alter system set "_part_access_version_by_number"=FALSE     scope=spfile sid='*';
alter system set "_partition_large_extents"=FALSE        scope=spfile sid='*';
alter system set "_sort_elimination_cost_ratio"=1        scope=spfile sid='*';
alter system set "_use_adaptive_log_file_sync"=FALSE      scope=spfile sid='*'; 
alter system set "_lm_sync_timeout"=1200            scope=spfile sid='*';
alter system set "_ksmg_granule_size"=134217728         scope=spfile sid='*';
alter system set "_external_scn_logging_threshold_seconds"=3600 scope=spfile sid='*';
alter system set "_external_scn_rejection_thresh"=24 scope=spfile sid='*';
alter system set "_datafile_write_errors_crash_instance"=false scope=spfile sid='*';
alter system set event='28401 trace name context forever,level 1','60025 trace name context forever','10943 trace name context forever,level 2097152','10949 trace name context forever,level 1','10262 trace name context forever, level 90000' scope=spfile;

重要说明:

当设置sga_target=0,同时设置_memory_imm_mode_without_autosga 为false之后,将彻底禁用SGA自动调节;

务必确保shared pool 大小足够,否则可能引发性能问题(通常来讲,保持shared pool大小为SGA 的15%-20%是比较好的)。

标签:spfile,set,RAC,sid,system,11204,Linux,scope,alter
From: https://blog.51cto.com/u_13482808/7637307

相关文章

  • Packet Tracer V5.2-5.3官方正式版下载
    《思科路由器交换机模拟软件》(Ciscopackettracer)官方5.2-5.3版+[压缩包]下载地址:http://www.verycd.com/topics/2823603/1、模拟器实际设备的硬件!这个对于网络技术学习者而言可是跟玩真机一样,设备模块、面板显示跟真机一样!安装模块还需要Poweroff!我想这个功能对于那些还没有见......
  • Linux TLB 刷新的懒惰模式【转】
    转自:https://blog.csdn.net/Henzox/article/details/41963271我们都知道,在切换页表时会刷新TLB,这样就可以使用新的地址空间,那什么是TLB刷新的懒惰模式呢?TLB是什么这里不作多的解释,可以简单理解为,为了加快MMU对虚拟地址的转换而增加的缓存,它记录了一个虚拟地址......
  • 深入Linux内核(进程篇)—进程切换之ARM体系架构【转】
    转自:https://blog.csdn.net/liyuewuwunaile/article/details/106773630进程切换一、context_switch二、switch_mm2.1刷新I-CACHE2.2ASID和TLB2.3页表转换基址切换三、switch_to进程切换由两部分组成:切换页全局目录安装一个新的地址空间;切换内核态堆栈及硬件上下文。一、conte......
  • “国产双系统”出炉,RK3568J非对称AMP:Linux+RTOS/裸机
    “非对称AMP”双系统是什么AMP(AsymmetricMulti-Processing),即非对称多处理架构。“非对称AMP”双系统是指多个核心相对独立运行不同的操作系统或裸机应用程序,如Linux+RTOS/裸机,但需一个主核心来控制整个系统以及其它从核心。每个处理器核心相互隔离,拥有属于自己的内存,既可各......
  • linux命令之系统操作历史
    history显示代时间戳的记录exportHISTTIMEFORMAT='%F%T'history|more更多参考 https://blog.51cto.com/leonkuo/950208who查看当前在线who查看历史登录who/var/log/wtmp......
  • Linux centos7内核升级 简单快速的方法
     Linux是支持多版本内核共存的,无非是系统启动的时候应用哪个版本内核而已。关于内核:Linux内核分两种:官方内核(通常是内核开发人员用)和各大Linux发行版内核(一般用户常用)。 关于Linux内核版本号:例如:[root@centos7~]#uname-r3.10.0-1127.19.1.el7.x86_64查询得到的版本号......
  • Linux 操作另一台服务器
    服务器信任在运维场景中,如果需要在一台服务器操作另一台服务器,就需要目标服务器(下面称为B服务器)信任当前服务器(下面称为A服务器)。在A服务器生成证书。ssh-keygen-trsa一直回车结束。会在/root/.ssh目录下生成id_rsa和id_rs.pub两个文件:id_rsa为私钥。id......
  • 6-Linux操作系统 用户与用户组
    一、介绍说明  Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。  用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组......
  • Linux中C程序的编译与运行
    C程序编译的完整过程如下图所示1、编译C文件,生成可执行文件gccmine.c-omine2、运行程序./mine3、编译并运行gccmine.c-omine&&./mine4、编译C程序,生成目标文件gcc-cmine.c-omine.o5、链接目标文件,生成可执行文件,同编译C文件一样。gccmine.o-omine......
  • linux 中批量输出指定目录的磁盘占用和文件数目
     001、磁盘占用(base)[root@pc1test1]#lstest1test2test3(base)[root@pc1test1]#find$PWD-typed##查出所有目录/home/test1/home/test1/test1/home/test1/test1/test/home/test1/test2/home/test1/test3(base)[root@pc1test1]#find$PWD......