ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

03-Linux环境准备依赖包内核参数与用户组

03-Linux环境准备依赖包内核参数与用户组 文章目录一、场景切入二、用户与用户组2.1 创建组与用户2.2 验证三、目录规划四、内核参数4.1 /etc/sysctl.conf4.2 RHEL 系参数验证五、资源限制:/etc/security/limits.conf六、依赖包6.1 yum 安装6.2 验证七、SELinux 与防火墙八、主机名与 /etc/hosts九、oracle 用户环境变量十、解压安装介质十一、装前自检清单十二、要点总结一、场景切入在 Linux 上装 Oracle,报错最多的环节往往不是安装本身,而是安装前的环境准备:依赖包缺一个、内核参数不够、用户组没建对,都会在 OUI 先决检查或安装中后期爆出来。把环境准备做扎实,安装基本就是下一步的事。这篇以 RHEL/CentOS 7 Oracle 19c 为例,把准备工作完整过一遍。二、用户与用户组Oracle 不允许用 root 安装和运行,需要专用的操作系统用户与组。2.1 创建组与用户# 以 root 执行groupadd-g1000oinstallgroupadd-g1200dbagroupadd-g1201operuseradd-u1100-goinstall-Gdba,oper oraclepasswdoracleoinstall:inventory 组,管理 Central Inventory(/etc/oraInst.loc 里的 inst_group)dba:SYSDBA 系统权限对应的 OS 组,oracle 用户靠它实现sqlplus / as sysdba免密登录oper:可选,对应 SYSOPER 权限2.2 验证idoracleuid1100(oracle) gid1000(oinstall) groups1000(oinstall),1200(dba),1201(oper)三、目录规划约定俗成的 OFA(Optimal Flexible Architecture)布局,根目录放在 /u01:mkdir-p/u01/app/oracle/product/19.3.0/dbhome_1mkdir-p/u01/app/oraInventorychown-Roracle:oinstall /u01chmod-R775/u01目录含义:/u01/app/oracle:ORACLE_BASE,日志、诊断数据、数据文件默认都在它的子目录下/u01/app/oracle/product/19.3.0/dbhome_1:ORACLE_HOME,软件本体,升级时新建 dbhome_2 并存,回退方便/u01/app/oraInventory:Central Inventory,记录本机所有 Oracle 产品的安装信息单独一块盘挂 /u01 是常见做法,便于空间管理与备份隔离。四、内核参数4.1 /etc/sysctl.conf以 8GB 物理内存、4096 字节页大小为例:cat/etc/sysctl.confEOF fs.aio-max-nr 1048576 fs.file-max 6815744 kernel.shmmni 4096 kernel.shmall 4294967296 kernel.shmmax 1073741824 kernel.sem 250 32000 100 128 net.ipv4.ip_local_port_range 9000 65535 net.core.rmem_default 262144 net.core.rmem_max 4194304 net.core.wmem_default 262144 net.core.wmem_max 4194304 vm.swappiness 1 EOFsysctl-p参数说明:kernel.shmmax:单个共享内存段最大字节数。8G 内存的机器,SGA 计划 2G 时,给 2147483648(2G)即可;常见做法是给到物理内存的一半,这里给 1G 是保守示例,按实际调整kernel.shmall:共享内存总页数。总量(字节)除以页大小,1073741824/4096 262144;上面示例按 4G 共享内存总量折算为 4294967296/4096?注意 shmall 单位是页,直接写 4294967296 表示页,远大于需要,一般写 2097152(8G 字节/4096)也够,保守可按物理内存字节/2/4096计算kernel.sem:四个值依次是 SEMMSL(每集合信号量数)、SEMMNS(系统总量)、SEMOPM(每次操作数)、SEMMNI(集合数)fs.aio-max-nr:异步 IO 请求数上限net.core.*:网络缓冲,影响大数据量传输如果不确定页大小,先查:getconf PAGE_SIZE4.2 RHEL 系参数验证sysctlkernel.shmmax kernel.shmall kernel.sem输出与配置一致即可。五、资源限制:/etc/security/limits.confcat/etc/security/limits.confEOF oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768 EOFnproc:进程数上限,数据库进程多,必须放宽nofile:文件句柄上限,数据文件、连接都吃句柄stack:栈大小,过小会导致安装或运行异常oracle 用户重新登录后验证:su- oracleulimit-uulimit-n六、依赖包6.1 yum 安装yuminstall-ybcbinutils compat-libcap1 elfutils-libelf\elfutils-libelf-devel fontconfig-devel glibc glibc-devel\ksh libaio libaio-devel libX11 libXau libXi libXtst\libgcc libstdc libstdc-devel libxcbmake\net-tools smartmontools sysstat nfs-utils\unixODBC unixODBC-develRHEL 7 上compat-libstdc-33在常规源里没有,需要从安装镜像的 rpm 目录补:rpm-ivhcompat-libstdc-33-3.2.3-72.el7.x86_64.rpmOracle Linux 用户更省事,官方提供了预配置包,一步完成用户、内核参数、依赖:yuminstall-yoracle-database-preinstall-19c6.2 验证rpm-qbcbinutils compat-libcap1 ksh libaio libaio-devel\libstdc libstdc-devel sysstat unixODBC unixODBC-devel全部显示版本号、无 “is not installed” 即通过。七、SELinux 与防火墙安装和日常使用阶段先关闭,减少干扰;生产环境再按安全要求收紧端口策略。# 关闭 SELinuxsed-is/^SELINUXenforcing/SELINUXdisabled//etc/selinux/config setenforce0getenforceDisabled# 关闭防火墙systemctl stop firewalld systemctl disable firewalld八、主机名与 /etc/hostsOUI 会做主机名解析检查,解析失败直接卡在先决条件。hostname假设输出 oradb、IP 是 192.168.56.50,写入 hosts:echo192.168.56.50 oradb/etc/hosts验证,返回真实 IP 而不是 127 开头:ping-c2oradbhostname-i九、oracle 用户环境变量切到 oracle 用户,编辑 ~/.bash_profile:su- oraclevi~/.bash_profile追加以下内容:exportORACLE_BASE/u01/app/oracleexportORACLE_HOME$ORACLE_BASE/product/19.3.0/dbhome_1exportORACLE_SIDorclexportPATH$ORACLE_HOME/bin:$PATHexportLD_LIBRARY_PATH$ORACLE_HOME/libexportNLS_LANGAMERICAN_AMERICA.AL32UTF8umask022生效并验证:source~/.bash_profileecho$ORACLE_HOME/u01/app/oracle/product/19.3.0/dbhome_1十、解压安装介质19c 的介质是单个 zip,直接解压到 ORACLE_HOME(19c 要求家目录提前建好、介质解压进去):cd$ORACLE_HOMEunzip-q/tmp/LINUX.X64_193000_db_home.ziplsrunInstaller确保解压用的是 oracle 用户,否则要用 chown 改回属主。十一、装前自检清单idoracle# 用户与组正确df-h/u01 /tmp# 空间充足(/tmp 至少 1G 可用)sysctlkernel.shmmax kernel.sem# 内核参数已生效su- oracle-culimit -n# 句柄限制已放宽getenforce# Disabledcat/etc/hosts|greporadb# 主机名可解析全部通过后,就可以进入安装环节(图形或静默),后面的文章分别展开。十二、要点总结专用用户与组:oinstall 管 inventory,dba 决定as sysdba免密目录按 OFA 规划到 /u01/app,ORACLE_HOME 带版本号,升级可并存内核参数重点:shmmax/shmall 管共享内存,sem 管信号量,aio-max-nr 管异步 IO,改完sysctl -p生效limits.conf 放宽 nproc/nofile/stack,重登录后用 ulimit 验证依赖包用 yum 一次装齐,Oracle Linux 有 preinstall 一键包SELinux、防火墙装前先关;hosts 里必须有真实 IP 主机名的映射环境变量五件套:ORACLE_BASE、ORACLE_HOME、ORACLE_SID、PATH、LD_LIBRARY_PATH
返回列表