温馨提示×

Debian下Oracle数据库配置指南

小樊
46
2025-10-08 17:16:59
栏目: 云计算

Debian下Oracle数据库配置指南

1. 安装前准备

1.1 系统要求确认

确保Debian系统满足Oracle数据库的最低要求:建议使用Debian 10及以上版本(如Debian 11/12),系统内存≥1GB(生产环境建议≥4GB),swap空间≥内存的1.5倍(不超过2倍),磁盘空间≥10GB(用于安装软件和数据文件)。

1.2 下载Oracle软件包

从Oracle官方网站下载适用于Linux x86-64架构的Oracle Database安装包(如Oracle 19c/21c的“Basic Package”和“Composite Package”),并上传至Debian服务器。

2. 安装依赖包

Oracle数据库需要多个系统库支持,通过以下命令安装必要依赖:

sudo apt-get update
sudo apt-get install -y gcc make binutils libmotif3 libaio1 libdb3 awk libc6-dev libc6

若安装过程中提示缺少其他包(如libXp.so.6),可通过sudo apt-get install <包名>补充。

3. 创建Oracle用户和组

为Oracle创建专用用户和组,提升安全性:

sudo groupadd oinstall      # 所属组
sudo groupadd dba           # 数据库管理员组
sudo useradd -g oinstall -G dba -m oracle  # 创建oracle用户,归属oinstall和dba组
sudo passwd oracle          # 设置oracle用户密码

4. 创建安装目录并设置权限

指定Oracle软件和数据的存储路径(常用/u01/app/oracle),并配置权限:

sudo mkdir -p /u01/app/oracle
sudo chown -R oracle:oinstall /u01/app/oracle
sudo chmod -R 755 /u01/app/oracle

5. 修改内核参数

编辑/etc/sysctl.conf文件,调整系统内核参数以满足Oracle运行需求:

sudo vi /etc/sysctl.conf

添加或修改以下内容:

kernel.shmall = 2097152       # 共享内存总页数
kernel.shmmax = 536870912     # 单个共享内存段最大值(字节)
kernel.shmmni = 4096          # 共享内存段最大数量
kernel.sem = 250 32000 100 128 # 信号量参数
fs.file-max = 65536           # 系统最大文件句柄数
net.ipv4.ip_local_port_range = 1024 65000 # 本地端口范围
net.core.rmem_default = 262144 # 接收缓冲区默认大小
net.core.rmem_max = 4194304   # 接收缓冲区最大值
net.core.wmem_default = 262144 # 发送缓冲区默认大小
net.core.wmem_max = 1048576   # 发送缓冲区最大值
fs.aio-max-nr = 1048576       # 异步I/O请求数上限

保存后执行sudo sysctl -p使配置生效。

6. 修改资源限制

编辑/etc/security/limits.conf文件,调整Oracle用户的资源限制:

sudo vi /etc/security/limits.conf

添加以下内容:

oracle soft nproc 2047        # 用户最大进程数(软限制)
oracle hard nproc 16384       # 用户最大进程数(硬限制)
oracle soft nofile 1024       # 用户最大文件句柄数(软限制)
oracle hard nofile 65536      # 用户最大文件句柄数(硬限制)
oracle soft memlock 33554432  # 用户最大锁定内存(软限制,单位:字节)
oracle hard memlock 33554432  # 用户最大锁定内存(硬限制)

7. 修改安全限制

编辑/etc/pam.d/login文件,确保会话加载资源限制配置:

sudo vi /etc/pam.d/login

添加以下行(若已存在则无需重复):

session required /lib64/security/pam_limits.so

8. 设置Oracle环境变量

编辑oracle用户的.bashrc文件,配置Oracle相关环境变量:

sudo vi /home/oracle/.bashrc

添加以下内容(根据实际安装路径调整ORACLE_HOMEORACLE_SID):

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.3.0.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  # 字符集设置(根据需求调整)
export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'  # 日期格式

保存后执行source /home/oracle/.bashrc使配置立即生效。

9. 安装Oracle软件

9.1 解压安装包

将下载的Oracle安装包解压至目标目录(如/opt/oracle):

sudo tar -xvf oracle_database_19c_linux_x86-64.tar.gz -C /opt/oracle

9.2 运行安装脚本

切换至oracle用户,进入安装目录并执行安装:

su - oracle
cd /opt/oracle/database
./runInstaller

按照图形化界面提示完成安装(可选择“静默安装”模式,通过响应文件自动配置)。

10. 创建数据库实例

安装完成后,使用dbca(Database Configuration Assistant)工具创建数据库实例:

dbca

按照向导步骤配置数据库名称(如orcl)、字符集(如AL32UTF8)、管理员密码等信息,完成实例创建。

11. 配置监听器

编辑$ORACLE_HOME/network/admin/listener.ora文件,配置监听器地址和端口:

sudo vi $ORACLE_HOME/network/admin/listener.ora

示例内容:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

重启监听器使配置生效:

lsnrctl stop
lsnrctl start

12. 连接数据库

使用sqlplus工具连接数据库,验证配置是否成功:

sqlplus / as sysdba

输入密码后,若显示SQL>提示符,则表示数据库连接成功。

13. 常见问题排查

  • 依赖包缺失:若安装过程中提示缺少库文件(如libXp.so.6),可通过sudo apt-get install <包名>补充。
  • 权限问题:确保/u01/app/oracle目录归属oracle:oinstall,且权限为755
  • 内核参数未生效:执行sudo sysctl -p重新加载/etc/sysctl.conf配置。
  • 环境变量未生效:执行source /home/oracle/.bashrc刷新环境变量。

0