首页主机资讯Linux Oracle资源限制如何设置

Linux Oracle资源限制如何设置

时间2025-12-12 23:34:04发布访客分类主机资讯浏览913
导读:Linux 与 Oracle 资源限制设置指南 一 操作系统层设置 系统级文件句柄上限 查看与调整内核全局上限:cat /proc/sys/fs/file-max;临时生效 sysctl -w fs.file-max=100000;永久...

Linux 与 Oracle 资源限制设置指南

一 操作系统层设置

  • 系统级文件句柄上限
    • 查看与调整内核全局上限:cat /proc/sys/fs/file-max;临时生效 sysctl -w fs.file-max=100000;永久写入 /etc/sysctl.conf:fs.file-max=100000,执行 sysctl -p 使配置生效。该值决定系统可分配的文件描述符总量。
  • Oracle 用户会话级限制
    • 编辑 /etc/security/limits.conf,为 oracle 用户设置软/硬限制(soft 为告警阈值,hard 为强制上限):
      • oracle soft nproc 2047
      • oracle hard nproc 16384
      • oracle soft nofile 1024
      • oracle hard nofile 65536
    • 确保 PAM 启用 limits 模块:编辑 /etc/pam.d/login,加入 session required pam_limits.so(64 位系统可用 /lib64/security/pam_limits.so)。
    • 为登录会话显式设置(可选,双重保障):在 /etc/profile 或 oracle 用户的 ~/.bash_profile 中加入
      • if [ “$USER” = “oracle” ]; then if [ “$SHELL” = “/bin/ksh” ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
    • 使环境变更生效:source /etc/profile 或重新登录 oracle 用户。
  • 生效验证
    • 切换到 oracle:su - oracle
    • 查看:ulimit -n -S/-H(打开文件软/硬限制)、ulimit -u -S/-H(进程数软/硬限制)应与 limits.conf 一致。

二 Oracle 数据库层设置

  • 启用资源限制
    • 检查并开启:show parameter resource_limit; 若为 FALSE,执行 alter system set resource_limit=true; 使资源限制生效(密码类限制始终生效,不受该参数影响)。
  • 使用 Profile 限制会话与密码
    • 常用资源参数:SESSIONS_PER_USER、CPU_PER_SESSION、CPU_PER_CALL、CONNECT_TIME、IDLE_TIME、LOGICAL_READS_PER_SESSION、LOGICAL_READS_PER_CALL、PRIVATE_SGA、COMPOSITE_LIMIT。
    • 常用密码参数:FAILED_LOGIN_ATTEMPTS、PASSWORD_LIFE_TIME、PASSWORD_REUSE_TIME、PASSWORD_REUSE_MAX、PASSWORD_LOCK_TIME、PASSWORD_GRACE_TIME、PASSWORD_VERIFY_FUNCTION。
    • 示例(创建并应用自定义 profile):
      • create profile app_profile limit
        • SESSIONS_PER_USER 50
        • CPU_PER_SESSION 180000 – 单位为百分之一秒(约 30 分钟)
        • IDLE_TIME 30 – 单位分钟
        • FAILED_LOGIN_ATTEMPTS 6
        • PASSWORD_LIFE_TIME 90
        • PASSWORD_REUSE_TIME 180
        • PASSWORD_REUSE_MAX 5
        • PASSWORD_LOCK_TIME 1/48 – 30 分钟
        • PASSWORD_VERIFY_FUNCTION verify_function_11G;
      • alter user scott profile app_profile;
    • 查询与调整:
      • 查看用户当前 profile:select username,profile from dba_users where username=‘SCOTT’;
      • 查看 profile 明细:select * from dba_profiles where profile=‘APP_PROFILE’;
      • 调整示例:alter profile app_profile limit FAILED_LOGIN_ATTEMPTS 10;
    • 密码复杂度函数:执行 @$ORACLE_HOME/rdbms/admin/utlpwdmg.sql 创建 verify_function_11G 等函数,再在 profile 中引用。

三 关键参数建议与核对

  • 常见建议值(需结合业务与压测微调)
    • 打开文件数:oracle hard nofile 65536(limits.conf)
    • 进程数:oracle hard nproc 16384(limits.conf)
    • 系统级句柄:fs.file-max 至少 6815744(/etc/sysctl.conf,视内存与负载而定)
    • Profile 会话:SESSIONS_PER_USER 50–200、IDLE_TIME 15–30 分钟、FAILED_LOGIN_ATTEMPTS 5–10、PASSWORD_LIFE_TIME 90
  • 快速核对清单
    • 系统:cat /proc/sys/fs/file-max;ulimit -a(oracle 会话)
    • PAM:grep -n pam_limits.so /etc/pam.d/login
    • Oracle:show parameter resource_limit;select * from dba_profiles where profile=‘DEFAULT’;

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux Oracle资源限制如何设置
本文地址: https://pptw.com/jishu/771063.html
Linux Oracle日常维护工作有哪些 Python在Ubuntu上的部署与运维策略

游客 回复需填写必要信息