- 首页 >
- 问答 >
-
云计算 >
- oracle数据库centos环境搭建指南
oracle数据库centos环境搭建指南
小樊
45
2025-11-21 20:31:22
CentOS 环境搭建 Oracle 数据库指南
一 环境准备与系统要求
- 操作系统与版本:建议使用 CentOS 7/8(示例以 CentOS 7 为主,内核与软件源以 7 为准)。
- 硬件与存储:至少 2 GB RAM(建议 4 GB+),安装目录预留 10 GB+(建议 20 GB+)。
- 交换分区 Swap(建议值):
- 内存 1–2 GB:Swap = 内存的 1.5 倍
- 内存 2–16 GB:Swap = 内存大小
- 内存 >16 GB:Swap = 16 GB
- 基础准备:更新系统、安装常用工具(如 unzip)、确保磁盘与网络可用。
- 说明:在部分环境中,为通过 Oracle 安装器检查,可能需要将系统标识临时伪装为 Red Hat Enterprise Linux 7.x(不建议在生产环境长期修改,仅作兼容性处理)。
二 安装前系统配置
- 创建 Oracle 用户与组
- 命令:
- sudo groupadd oinstall
- sudo groupadd dba
- sudo useradd -g oinstall -G dba oracle
- sudo passwd oracle
- 安装依赖包(最小化常用集合)
- 命令:
- sudo yum install -y binutils compat-libcap1 compat-libstdc+±33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc+±devel libXi libXtst make sysstat unixODBC unixODBC-devel
- 内核参数(/etc/sysctl.conf)
- 建议值:
- fs.aio-max-nr = 1048576
- fs.file-max = 6815744
- kernel.shmall = 2097152
- kernel.shmmax = 4294967295(或按物理内存设置,至少 2 GB)
- 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
- PAM 与登录限制(/etc/pam.d/login)
- session required pam_limits.so
- 创建 Oracle 目录与权限
- sudo mkdir -p /u01/app/oracle
- sudo chown -R oracle:oinstall /u01
- sudo chmod -R 775 /u01
- 可选:SELinux 与防火墙(测试环境常用做法)
- 临时:sudo setenforce 0
- 永久:编辑 /etc/selinux/config,将 SELINUX=enforcing 改为 SELINUX=permissive/disabled
- 防火墙:sudo systemctl stop firewalld && sudo systemctl disable firewalld(生产环境请改为放行端口)
三 Oracle 19c 安装与建库
- 准备安装介质
- 方式 A(推荐,预安装 RPM):安装 Oracle 提供的预安装包(oracle-database-preinstall-19c)以自动配置依赖与内核参数,然后解压 19c 安装包到 $ORACLE_HOME。
- 方式 B(图形/静默):从 Oracle 官网下载 Linux x86_64 的 19c 安装包,上传至 /u01/app/oracle 并解压。
- 图形化安装(需 GUI 与 VNC/远程桌面)
- 切换用户:su - oracle
- 进入解压目录:cd /u01/app/oracle/LINUX.X64_193000_db_home
- 启动安装器:./runInstaller(按向导完成配置)
- 静默安装(示例)
- 准备响应文件或使用最小化模板,执行:
- ./runInstaller -silent -responseFile /path/to/response.rsp
- 建库方式
- 使用 DBCA 图形化:dbca(按向导创建数据库,建议字符集 AL32UTF8)
- 使用 DBCA 静默建库(示例):
- $ORACLE_HOME/bin/dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbname orcl -sid orcl \
-characterSet AL32UTF8 \
-responseFile NO_VALUE
- 安装后执行 root 脚本
- 按安装器提示,以 root 执行 $ORACLE_HOME/root.sh(通常位于 oraInventory 目录下的脚本)。
四 网络监听与远程访问
- 配置监听器(listener.ora)
- 文件路径:$ORACLE_HOME/network/admin/listener.ora
- 示例:
- LISTENER =
- (DESCRIPTION_LIST =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name_or_ip)(PORT = 1521))
- )
- )
- 启动/检查监听
- 客户端与服务端网络文件
- 服务端/客户端可配置 $ORACLE_HOME/network/admin/tnsnames.ora 与 sqlnet.ora,确保解析与服务名一致。
- 防火墙与连通性
- 放行 1521/TCP(生产环境不建议直接关闭防火墙):
- sudo firewall-cmd --add-port=1521/tcp --permanent && sudo firewall-cmd --reload
- 远程测试:sqlplus sys/YourPassword@//your_host:1521/orcl as sysdba。
五 服务自启与日常运维
- 开机自启数据库与监听
- 修改 /etc/oratab:将实例行末尾的 N 改为 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
- 启用与启动:
- sudo systemctl daemon-reload
- sudo systemctl enable oracle
- sudo systemctl start oracle
- 常用运维命令
- 登录数据库:sqlplus / as sysdba
- 启动/关闭:startup | shutdown immediate
- 监听管理:lsnrctl start/stop/status
- 日志与排错
- 安装与建库日志:$ORACLE_HOME/cfgtoollogs
- 数据库告警日志与跟踪:位于 $ORACLE_BASE/diag/rdbms///trace(Alert.log 为首要排查对象)。