如何快速配置CentOS上的Oracle
导读:快速配置 CentOS 上的 Oracle 19c 一 环境准备与最小化配置 以 root 执行:更新系统并安装常用工具 sudo yum update -y && sudo yum install -y unzip w...
快速配置 CentOS 上的 Oracle 19c
一 环境准备与最小化配置
- 以 root 执行:更新系统并安装常用工具
- sudo yum update -y & & sudo yum install -y unzip wget which
- 创建 Oracle 用户与组
- sudo groupadd -g 54321 oinstall
- sudo groupadd -g 54322 dba
- sudo useradd -u 54321 -g oinstall -G dba oracle
- sudo passwd oracle
- 创建目录并授权
- sudo mkdir -p /u01/app/oracle
- sudo chown -R oracle:oinstall /u01
- sudo chmod -R 775 /u01
- 内核参数 /etc/sysctl.conf(执行 sysctl -p 使生效)
- fs.aio-max-nr = 1048576
- fs.file-max = 6815744
- kernel.shmall = 2097152
- kernel.shmmax = 4294967295
- 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
- 资源限制 /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
- Oracle 用户环境变量(~oracle/.bash_profile 或 /etc/profile)
- export 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
- 可选加速 使用 Oracle 预安装 RPM(会自动设置内核参数、limits、yum 源等)
- 对于 OL7/兼容 CentOS 7:sudo yum -y --nogpgcheck install oracle-rdbms-server-19c-preinstall
- 对于 OL6/兼容 CentOS 6:sudo yum -y --nogpgcheck install oracle-rdbms-server-12cR1-preinstall
- 注:预安装包会修改内核与 limits,建议优先使用,减少手工失误。
二 安装 Oracle 19c 软件
- 以 oracle 用户上传并解压安装介质(示例为 19c ZIP 包)
- unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
- 图形化安装(推荐)
- 在本地有 X11 或通过 X11 转发执行:cd $ORACLE_HOME & & ./runInstaller
- 按向导选择“仅安装数据库软件”,完成后再用 DBCA 建库(见下一节)。
- 静默安装(无图形界面)
- 生成响应文件模板:./runInstaller -silent -responseFile $ORACLE_HOME/install/response/db_install.rsp -ignorePrereq
- 关键应答项示例(其余保持默认或按需调整):
- oracle.install.option=INSTALL_DB_SWONLY
- UNIX_GROUP_NAME=oinstall
- INVENTORY_LOCATION=/u01/app/oraInventory
- ORACLE_HOME=$ORACLE_HOME
- ORACLE_BASE=$ORACLE_BASE
- 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
- 安装完成后按提示以 root 执行脚本:/u01/app/oraInventory/orainstRoot.sh 与 $ORACLE_HOME/root.sh。
三 建库与网络配置
- 配置监听(图形或静默)
- 图形:netca
- 静默:netca -silent -responseFile $ORACLE_HOME/assistants/netca/netca.rsp
- 建库(DBCA,图形或静默)
- 图形:dbca
- 静默示例(创建名为 orcl 的数据库,字符集 AL32UTF8,快速恢复区在 /u01/app/oracle/fast_recovery_area)
- dbca -silent -createDatabase
-templateName General_Purpose.dbc
-gdbName orcl -sid orcl
-createAsContainerDatabase false
-sysPassword YourSysPassword -systemPassword YourSysPassword
-characterSet AL32UTF8
-storageType FS
-datafileDestination /u01/app/oracle/oradata
-recoveryAreaDestination /u01/app/oracle/fast_recovery_area
-emConfiguration NONE
- dbca -silent -createDatabase
- 远程访问与防火墙
- 监听端口默认 1521;如需远程连接,开放防火墙:
- sudo firewall-cmd --permanent --add-port=1521/tcp & & sudo firewall-cmd --reload
- 客户端可使用 EZConnect:sqlplus sys/口令@//服务器IP/orcl as sysdba。
- 监听端口默认 1521;如需远程连接,开放防火墙:
四 自启动与服务管理
- 允许实例随系统启动
- 编辑 /etc/oratab,将 orcl 行末尾改为 Y:orcl:/u01/app/oracle/product/19.0.0/dbhome_1:Y
- 创建 systemd 服务(推荐)
- 新建 /etc/systemd/system/oracle.service:
- [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
- [Unit]
- 启用与启动:
- sudo systemctl daemon-reload
- sudo systemctl enable oracle
- sudo systemctl start oracle
- 新建 /etc/systemd/system/oracle.service:
- 常用运维
- 查看监听:lsnrctl status
- 登录数据库:sqlplus / as sysdba
- 启动/停止监听:lsnrctl start | stop。
五 常见问题与快速排查
- 依赖缺失:安装 19c 常用依赖(CentOS 7/8)
- sudo yum install -y binutils compat-libcap1 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc+±devel libXi libXtst make sysstat unixODBC unixODBC-devel
- 内核参数/资源限制未生效:确认已执行 sysctl -p,检查 /etc/security/limits.conf 与 /etc/pam.d/login 配置;如使用预安装 RPM,可对比日志 /var/log/oracle-rdbms-server-*/results/orakernel.log 与 orainstRoot.sh 输出。
- 远程连不上:确认监听已启动(lsnrctl status)、监听端口 1521 已放行、客户端使用正确的 SID/服务名 与 EZConnect 格式。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何快速配置CentOS上的Oracle
本文地址: https://pptw.com/jishu/765354.html
