上一篇
Linux如何快速安装Oracle?
- Linux
- 2025-06-02
- 2249
在Linux系统上使用Oracle数据库需先下载安装包,配置内核参数与用户环境,运行安装程序创建数据库实例并启动监听器,随后可通过SQL*Plus、SQL Developer等工具连接数据库进行SQL操作及基本管理。
准备工作
系统要求
- 操作系统:Oracle Linux 7/8、Red Hat Enterprise Linux 7/8(需兼容内核)
- 硬件资源:
- 内存:至少 8GB(推荐 16GB+)
- 磁盘空间:/tmp 至少 1GB,安装目录 15GB+,数据存储按需分配
- 交换空间:内存 ≤ 16GB 时,交换空间=内存大小;>16GB 时,交换空间=16GB
- 依赖包:
# Oracle Linux/RHEL 7示例 yum install -y binutils compat-libcap1 compat-libstdc++ gcc-c++ glibc ksh libaio libstdc++ make sysstat
配置系统环境
- 创建用户和组:
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.shmmax = 4294967295 net.core.rmem_default = 262144 net.core.wmem_default = 262144
执行
sysctl -p
生效。 - 设置用户限制(
/etc/security/limits.conf
):oracle soft nofile 1024 oracle hard nofile 65536 oracle soft nproc 16384 oracle hard nproc 65536
安装Oracle数据库
下载与解压
- 从 Oracle官网 下载 19c 或 21c Linux版安装包。
- 解压至安装目录:
unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.3.0/dbhome_1 chown -R oracle:oinstall /u01
运行安装程序
- 切换到Oracle用户:
su - oracle export DISPLAY=:0.0 # 如需图形界面
- 启动安装:
cd /u01/app/oracle/product/19.3.0/dbhome_1 ./runInstaller
图形界面安装步骤
- 选择 “创建和配置数据库”
- 设置安装类型:“单实例数据库”
- 配置选项:
- 数据库名称:
orcl
- 字符集:
AL32UTF8
(推荐) - 内存分配:按硬件调整(默认占内存60%)
- 数据库名称:
- 指定管理密码(需符合Oracle复杂度规则)
- 完成前生成安装脚本,按提示以root身份执行:
/u01/app/oracle/oraInventory/orainstRoot.sh /u01/app/oracle/product/19.3.0/dbhome_1/root.sh
启动与连接数据库
启动监听器
lsnrctl start # 启动监听 lsnrctl status # 检查状态
启动数据库实例
sqlplus / as sysdba SQL> STARTUP; -- 启动数据库 SQL> EXIT; -- 退出
连接测试
sqlplus system/您的密码@localhost:1521/orcl
SELECT * FROM v$version; -- 验证版本
日常管理操作
自动启停配置
-
创建服务脚本
/etc/systemd/system/oracle.service
:[Unit] Description=Oracle Database After=network.target [Service] User=oracle 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
-
启用服务:
systemctl daemon-reload systemctl enable oracle
备份与恢复
- 物理备份(RMAN):
RMAN> BACKUP DATABASE PLUS ARCHIVELOG; RMAN> RESTORE DATABASE;
- 逻辑备份(expdp/impdp):
expdp system/密码 DIRECTORY=DATA_PUMP_DIR DUMPFILE=full.dmp FULL=Y impdp system/密码 DIRECTORY=DATA_PUMP_DIR DUMPFILE=full.dmp FULL=Y
性能监控
-- 查看Top SQL SELECT sql_id, executions, cpu_time FROM v$sql ORDER BY cpu_time DESC; -- 表空间使用率 SELECT tablespace_name, used_percent FROM dba_tablespace_usage_metrics;
常见问题解决
问题现象 | 解决方案 |
---|---|
安装时提示ins_precomp.mk 错误 |
安装glibc-devel 和libstdc++-devel |
ORA-12154: TNS无法解析 | 检查$ORACLE_HOME/network/admin/tnsnames.ora 配置 |
内存不足导致安装失败 | 调整交换空间或增加物理内存 |
监听器启动失败 | 运行netca 重新配置监听 |
安全最佳实践
- 最小权限原则:
- 用户仅授予必要权限(避免直接使用
SYSDBA
)。
- 用户仅授予必要权限(避免直接使用
- 定期更新补丁:
- 从 Oracle Support 下载季度补丁。
- 启用审计:
AUDIT CREATE SESSION; -- 监控登录行为
- 加密传输:
- 配置 TLS(修改
sqlnet.ora
和listener.ora
)。
- 配置 TLS(修改
Linux环境下部署Oracle需严谨遵循官方规范,本文涵盖从安装到运维的核心流程,建议结合Oracle官方文档进行深度优化,并定期备份确保数据安全,遇到复杂问题时,优先参考My Oracle Support (MOS) 知识库。
引用说明:
- Oracle Database Installation Guide for Linux
- MOS Note 2535704.1 (常见安装问题解决方案)
- Linux man-pages 内核参数文档 基于Oracle 19c+Linux 7环境验证,适用主流生产场景。*