温馨提示×

如何在Linux配置Oracle

小樊
33
2026-10-19 02:11:28
栏目: 云计算

下面给你一份**在 Linux 上配置 Oracle 数据库(以 Oracle 19c 为例,适用于 RHEL / CentOS / Oracle Linux)**的系统性步骤。如果你用的是 11g / 12c,流程类似,只是部分参数和版本不同。


一、安装前准备

1. 系统要求

  • 内存:≥ 2GB(生产建议 4GB+)
  • Swap:内存 ≤ 2GB 时 swap = 2×内存
  • 磁盘:≥ 10GB(数据 + 软件)
  • 系统:Oracle Linux / RHEL / CentOS 7+

2. 创建用户和组

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle

3. 创建目录

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

二、系统参数配置

1. 修改内核参数

编辑 /etc/sysctl.conf:

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

执行:

sysctl -p

2. 用户资源限制

编辑 /etc/security/limits.conf:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

三、安装依赖包

yum install -y binutils compat-libcap1 compat-libstdc++-33 \
gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel \
libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

四、Oracle 用户环境变量

切换到 oracle 用户:

su - oracle

编辑 ~/.bash_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
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

使配置生效:

source ~/.bash_profile

五、安装 Oracle 软件

  1. 上传 Oracle 安装包(如 LINUX.X64_193000_db_home.zip)
  2. 解压到 $ORACLE_HOME
unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
  1. 启动安装程序
cd $ORACLE_HOME
./runInstaller

安装过程:

  • 选择 仅安装软件
  • 单实例数据库
  • 执行 root 脚本(系统会提示)

六、创建数据库(DBCA)

dbca

或静默方式:

dbca -silent -createDatabase \
 -templateName General_Purpose.dbc \
 -gdbname orcl -sid orcl \
 -responseFile NO_VALUE \
 -characterSet AL32UTF8 \
 -sysPassword Oracle123 \
 -systemPassword Oracle123

七、启动与关闭数据库

sqlplus / as sysdba
startup;
exit;

监听:

lsnrctl start
lsnrctl status

八、设置开机自启(可选)

编辑 /etc/oratab:

orcl:/u01/app/oracle/product/19.0.0/dbhome_1:Y

使用 dbstart / dbshut 或 systemd 管理。


九、常见问题

  • 监听无法启动:检查 hostname 和 /etc/hosts
  • 内存不足:调小 SGA
  • 中文乱码:使用 AL32UTF8

如果你愿意,可以告诉我:

  • Oracle 版本(11g / 12c / 19c)
  • Linux 发行版
  • 是否图形界面 / 纯命令行

我可以给你更精确的一步到位方案。

0 踩