当前位置:首页 > Linux > 正文

Linux安装Oracle详细步骤?

在Linux上安装Oracle需先准备环境:创建用户/组,配置内核参数,下载安装包,运行Oracle Universal Installer按提示安装,最后执行root脚本验证数据库。

在Linux系统上安装Oracle数据库的完整指南

Oracle数据库作为企业级关系型数据库的标杆,在Linux环境下的安装需要严谨的步骤,本文以Oracle 19c(长期支持版本)和CentOS/RHEL 7为例,提供经官方文档验证的安装流程。


安装前的关键准备工作

系统要求检查

  • 硬件:至少4GB RAM(推荐8GB+),/u01目录50GB+磁盘空间,2核CPU
  • 操作系统:CentOS/RHEL 7.x(64位)
  • 依赖包: yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libxcb libXtst libX11 libXau libXi make sysstat

创建Oracle用户与组

groupadd oinstall # 软件安装组 groupadd dba # 数据库管理员组 useradd -g oinstall -G dba oracle passwd oracle # 设置密码(需包含大小写字母+数字)

内核参数优化

编辑/etc/sysctl.conf,添加:

fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 net.core.rmem_default = 262144 net.core.wmem_default = 262144 net.ipv4.ip_local_port_range = 9000 65500

生效配置:sysctl -p

资源限制配置

编辑/etc/security/limits.conf:

oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768

创建安装目录并授权

mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1 chown -R oracle:oinstall /u01 chmod -R 775 /u01


安装Oracle 19c数据库软件

下载安装包

Oracle官网下载:

  • LINUX.X64_193000_db_home.zip

    解压至/u01/app/oracle/product/19.3.0/dbhome_1

配置Oracle用户环境变量

编辑~oracle/.bash_profile,添加:

export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATH export ORACLE_SID=orcl

启动图形化安装(需桌面环境)

su - oracle cd $ORACLE_HOME ./runInstaller

注意:若无图形界面,可添加-ignorePrereq -silent参数进行静默安装。

安装过程关键选择

Linux安装Oracle详细步骤? 第1张

Linux安装Oracle详细步骤? 第2张

  • 配置选项:仅安装数据库软件
  • 数据库版本:Enterprise Edition
  • 路径保持默认(/u01/app/oracle)
  • 忽略root脚本执行提示(后续手动操作)

执行root脚本

安装完成后按提示运行:

/u01/app/oraInventory/orainstRoot.sh /u01/app/oracle/product/19.3.0/dbhome_1/root.sh


创建数据库实例

使用DBCA创建数据库

oracle用户执行: dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname orcl -sid orcl -createAsContainerDatabase true -numberOfPDBs 1 -pdbName pdb1 -responseFile NO_VALUE -characterSet AL32UTF8 -memoryPercentage 40 -emConfiguration NONE -ignorePreReqs

验证数据库状态

sqlplus / as sysdba SQL> SELECT name, open_mode FROM v$database; -- 输出示例:ORCL READ WRITE


基础配置与测试

设置开机自启

创建服务文件/etc/systemd/system/oracle.service:

[Unit] Description=Oracle Database Service After=network.target [Service] User=oracle Group=oinstall Type=forking 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 [Install] WantedBy=multi-user.target

启用服务:

Linux安装Oracle详细步骤? 第3张

systemctl daemon-reload systemctl enable oracle

防火墙放行端口

firewall-cmd --permanent --add-port=1521/tcp # 监听端口 firewall-cmd --reload


常见问题解决

  • 图形安装闪退

    确保以oracle用户执行xhost +,并检查DISPLAY变量(如export DISPLAY=:0)

  • ORA-01078: 无法加载参数文件

    检查$ORACLE_HOME/dbs/initorcl.ora是否存在,或从$ORACLE_BASE/admin/orcl/pfile复制

  • 内存不足错误

    调整/etc/sysctl.conf中的kernel.shmmax值,或减少DBCA中的memoryPercentage


安全加固建议

  1. 修改默认密码: ALTER USER sys IDENTIFIED BY "新密码"; ALTER USER system IDENTIFIED BY "新密码";
  2. 启用审计: ALTER SYSTEM SET audit_trail=db SCOPE=spfile;
  3. 限制IP访问:

    编辑$ORACLE_HOME/network/admin/sqlnet.ora,添加: tcp.validnode_checking = yes tcp.invited_nodes = (192.168.1.0/24, localhost)


引用说明

通过遵循此指南,您将获得一个生产可用的Oracle数据库环境,建议定期备份$ORACLE_BASE目录并使用rman工具进行数据库备份。

0