CentOS 上 Oracle 配置方法概览
在 CentOS 环境中,Oracle 的配置通常涵盖:系统前置配置、监听与服务名网络配置、实例创建与启停、开机自启与远程访问。下面按场景给出常用做法与关键要点,便于快速落地与排错。
一、系统前置配置
groupadd oinstall、groupadd dba、useradd -g oinstall -G dba oracle。sysctl -p 使生效。session required pam_limits.so;必要时在 /etc/profile 中对 oracle 用户设置 ulimit。chown -R oracle:oinstall /u01、chmod -R 775 /u01。setenforce 0),生产环境建议保持 enforcing 并采用最小权限策略;防火墙按需放行 1521/TCP 等端口或临时停用 firewalld 以便联调。二、监听与网络服务配置
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = your_host)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = your_sid)
(ORACLE_HOME = your_oracle_home)
)
)
lsnrctl start|stop|status|reload;修改后执行 reload 或重启以生效。YOUR_DB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = your_host)(PORT = 1521))
(CONNECT_DATA =
(SID = your_sid)
)
)
sqlplus username/password@YOUR_DB。三、创建数据库实例与启停管理
dbca(图形界面按向导完成)。dbca -silent \
-createDatabase \
-templateName General_Purpose.dbc \
-gdbname orcl -sid orcl \
-characterSet AL32UTF8
sqlplus / as sysdbastartup / shutdown immediateexport ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
四、开机自启与远程访问
[Unit]
Description=Oracle Database Service
After=network.target
[Service]
Type=forking
User=oracle
Environment="ORACLE_HOME=/u01/app/oracle/product/19.0.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
systemctl daemon-reload && systemctl enable --now oracledbstart/dbshut 管理;结合系统启动脚本(如 rc.local 或自定义脚本)调用 lsnrctl start 与 dbstart。sqlplus user/pass@host:1521/service)或 TNS 名称连接;必要时在 sqlnet.ora 中配置命名方法(如 NAMES.DIRECTORY_PATH=(TNSNAMES, EZCONNECT))。五、常见问题与快速排查
lsnrctl status 查看监听端口与服务映射;修改 listener.ora 后用 lsnrctl reload 或重启;确认 HOST 填写为服务器可解析的主机名或 IP,端口为 1521。tnsping YOUR_DB 验证解析与连通性。