一、系统要求确认
在Ubuntu上配置Oracle数据库前,需确保系统满足以下基础要求:
二、依赖包安装
Oracle数据库运行需要依赖Ubuntu系统中的特定库文件,需提前通过以下命令安装:
sudo apt update && sudo apt install -y alien libaio1 unixodbc build-essential unzip vim
三、Oracle用户与组配置
为保障数据库安全,需创建专用用户组及用户来管理Oracle服务:
# 创建用户组(oinstall用于安装归属,dba用于数据库管理员权限)
sudo groupadd -g 503 oinstall
sudo groupadd -g 504 dba
# 创建oracle用户(归属oinstall组,附加dba权限,主目录设为/home/oracle)
sudo useradd -u 501 -g oinstall -G dba -d /home/oracle -s /bin/bash oracle
# 设置oracle用户密码(需符合复杂度要求)
sudo passwd oracle
上述命令中,-g指定主组,-G指定附加组,-u和-g的UID/GID可根据系统实际情况调整(避免冲突)。
四、安装目录准备
Oracle数据库需固定安装目录及数据存储路径,需提前创建并设置权限:
# 创建Oracle基目录(用于存放所有Oracle相关文件)
sudo mkdir -p /u01/app/oracle
# 创建Oracle产品目录(用于存放数据库安装包)
sudo mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1 # 版本号根据实际安装包调整
# 设置目录归属(oracle用户拥有所有权,oinstall组拥有组权限)
sudo chown -R oracle:oinstall /u01/app/oracle
# 设置目录权限(755允许组内用户读取/执行,775允许组内用户写入)
sudo chmod -R 775 /u01/app/oracle
上述路径中,/u01为Oracle推荐的安装挂载点(需确保磁盘空间充足),版本号需与后续下载的安装包一致。
五、内核参数调整
Oracle对系统内核参数有特定要求,需修改/etc/sysctl.conf文件优化系统性能:
# 编辑sysctl.conf文件
sudo vim /etc/sysctl.conf
# 添加或修改以下参数(根据系统内存调整数值)
kernel.shmmax = 3147483648 # 最大共享内存段大小(建议为物理内存的80%,单位字节)
kernel.shmmni = 4096 # 共享内存段最大数量
kernel.shmall = 2097152 # 共享内存总页数(shmmax/页大小,页大小通常为4KB)
kernel.sem = 250 32000 100 128 # 信号量参数(SEMMSL、SEMMNS、SEMOPM、SEMMNI)
fs.file-max = 65536 # 系统最大文件句柄数
net.ipv4.ip_local_port_range = 1024 65000 # 本地端口范围(允许更多并发连接)
# 使参数生效
sudo sysctl -p
调整后需通过sysctl -p命令重新加载配置,确保参数生效。
六、用户资源限制配置
为防止oracle用户过度占用系统资源,需修改/etc/security/limits.conf文件设置资源上限:
# 编辑limits.conf文件
sudo vim /etc/security/limits.conf
# 添加以下内容(限制oracle用户的进程、文件句柄等资源)
oracle soft nofile 65536 # 软限制:最多打开65536个文件
oracle hard nofile 65536 # 硬限制:最多打开65536个文件
oracle soft nproc 16384 # 软限制:最多创建16384个进程
oracle hard nproc 16384 # 硬限制:最多创建16384个进程
上述参数需与sysctl.conf中的设置匹配,避免资源冲突。
七、Oracle安装包获取
Oracle官方未直接提供Ubuntu版本的安装包,需从官网下载Linux通用版(RPM格式),再转换为DEB格式:
oracle-database-xe-21c-1.0-1.ol7.x86_64.rpm);alien工具转换为DEB格式:sudo alien -d oracle-database-xe-21c-1.0-1.ol7.x86_64.rpm
转换后会生成.deb文件(如oracle-database-xe-21c_1.0-2_amd64.deb),用于后续安装。
八、环境变量配置
为方便使用Oracle命令(如sqlplus),需配置用户环境变量:
# 编辑oracle用户的bash配置文件
vim /home/oracle/.bashrc
# 添加以下内容(根据实际安装路径调整)
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1 # 版本号需与安装包一致
export ORACLE_SID=orcl # 数据库实例名(默认orcl,可根据需求修改)
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
# 使配置生效
source /home/oracle/.bashrc
上述变量中,ORACLE_SID为数据库实例标识,需与后续创建的数据库实例名一致。