CentOS 环境下安装 Oracle 的标准流程
一 环境准备与系统配置
sudo hostnamectl set-hostname db/etc/hosts 增加条目:<服务器IP> db,确保本机解析正常。sudo yum install -y libnsl libnsl2-devel libaio-devel libcap-devel xorg-x11-utils xauth gcc make libstdc++-devel sysstat smartmontools glibc-compat-2.17binutils compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-develsudo setenforce 0/etc/selinux/config,将 SELINUX=enforcing 改为 SELINUX=disabledsudo systemctl stop firewalld && sudo systemctl disable firewalldsudo firewall-cmd --permanent --add-port=1521/tcp && sudo firewall-cmd --reloadsudo groupadd oinstall、sudo groupadd dbasudo useradd -g oinstall -G dba oracle && sudo passwd oraclesudo mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1sudo chown -R oracle:oinstall /u01 && sudo chmod -R 775 /u01/etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
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
sudo sysctl -p/etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
/etc/pam.d/login 增加:session required pam_limits.so/etc/profile 为 oracle 用户追加: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 软件
/u01/software)。cd /u01/software/database && ./runInstallerorainstRoot.sh、root.sh)。cd /u01/app/oracle/product/19.0.0/dbhome_1 && ./runInstaller -silent -responseFile /path/to/response_custom.rsp三 配置监听与创建数据库
netca$ORACLE_HOME/network/admin/listener.ora:LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = db)(PORT = 1521))
)
)
lsnrctl startdbca$ORACLE_HOME/bin/dbca -silent \
-createDatabase \
-templateName General_Purpose.dbc \
-gdbname orcl -sid orcl \
-responseFile NO_VALUE \
-characterSet AL32UTF8
.bashrc 或 .bash_profile)
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export LANG=en_US.UTF-8
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
source ~/.bashrc四 启动与验证
lsnrctl startsqlplus / as sysdbastartup(如需开机自启,可将监听与数据库纳入系统服务或使用 dbstart/dbshut 脚本配合开机执行)select status from v$instance;、lsnrctl statusselect name from v$database;、select * from v$version;$ORACLE_BASE/diag/rdbms/<sid>/<sid>/trace/alert_<sid>.log)、监听日志与 dbca/runInstaller 日志,定位安装与启动问题。五 常见问题与注意事项
compat-libstdc++-33、libaio-devel、unixODBC、unixODBC-devel、ksh 等;19c 可按需补充 libnsl2-devel、glibc-compat-2.17 等。fs.file-max、kernel.sem、oracle 用户的 nofile/nproc/stack 未正确设置,安装或启动会报错。/etc/hosts 未正确配置或主机名不一致,可能导致监听与客户端连接异常。NLS_LANG 与之匹配,避免乱码。