硬件要求
系统配置
# 查看系统参数 grep MemTotal /proc/meminfo df -h /tmp uname -m
依赖包安装
yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc-c++ glibc libaio libstdc++ libXext libXtst libX11 libXau libxcb libXi make sysstat
内核参数调优
cat > /etc/sysctl.d/97-oracle.conf <<EOF fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 EOF sysctl -p
Oracle专用账户配置
groupadd -g 54321 oinstall groupadd -g 54322 dba useradd -u 54321 -g oinstall -G dba oracle echo "oracle_password" | passwd oracle --stdin
安装目录预配置
mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1 chown -R oracle:oinstall /u01 chmod -R 775 /u01
响应文件生成
创建db_install.rsp
文件:
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0 oracle.install.option=INSTALL_DB_SWONLY UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oraInventory ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1 ORACLE_BASE=/u01/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.OSDBA_GROUP=dba oracle.install.db.OSOPER_GROUP=dba oracle.install.db.OSBACKUPDBA_GROUP=dba oracle.install.db.OSDGDBA_GROUP=dba oracle.install.db.OSKMDBA_GROUP=dba oracle.install.db.OSRACDBA_GROUP=dba
执行静默安装
su - oracle export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1 ./runInstaller -silent -responseFile /path/to/db_install.rsp
监听服务部署
netca -silent -responseFile $ORACLE_HOME/assistants/netca/netca.rsp
数据库实例创建
使用dbca
静默模式:
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname ORCL -sid ORCL -responseFile NO_VALUE -characterSet AL32UTF8 -memoryPercentage 40 -emConfiguration NONE -datafileDestination /u01/oradata -redoLogFileSize 200 -recoveryAreaDestination /u01/fast_recovery_area
自动化启停服务
创建服务脚本/etc/systemd/system/oracle.service
:
[Unit] Description=Oracle Database Service After=syslog.target network.target [Service] Type=forking User=oracle Group=oinstall Environment="ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1" ExecStart=$ORACLE_HOME/bin/dbstart $ORACLE_HOME ExecStop=$ORACLE_HOME/bin/dbshut $ORACLE_HOME Restart=on-abort [Install] WantedBy=multi-user.target
安全加固建议
listener.ora
调整1521端口-- 创建审计用户 CREATE USER audit_admin IDENTIFIED BY "StrongPass123!"; GRANT AUDIT_ADMIN TO audit_admin;
存储优化方案
网络配置规范
# 安全组设置 iptables -A INPUT -p tcp --dport 1521 -s 10.0.0.0/24 -j ACCEPT
现象 | 解决方案 |
---|---|
ORA-12541: TNS无监听程序 | 检查lsnrctl status 状态,确认监听IP是否为0.0.0.0 |
安装时提示swap空间不足 | 使用dd if=/dev/zero of=/swapfile bs=1M count=8192 创建swap文件 |
dbca报错内存不足 | 调整-memoryPercentage 参数至30%以下 |
可信来源参考
(本文所述方案已在阿里云、AWS等主流云平台验证通过,建议生产环境部署前进行压力测试)