ubuntu

Oracle在Ubuntu上的资源限制如何设置

小樊
54
2025-10-06 06:15:48
栏目: 云计算

Oracle在Ubuntu上的资源限制设置步骤

1. 修改系统内核参数(/etc/sysctl.conf)

内核参数决定了系统对内存、进程、网络等资源的管理策略,需根据Oracle数据库的需求调整。使用sudo vim /etc/sysctl.conf编辑文件,添加或修改以下关键参数:

修改完成后,执行sudo sysctl -p使参数立即生效。

2. 设置Oracle用户资源限制(/etc/security/limits.conf)

该文件用于限制Oracle用户的进程、文件描述符等资源使用,避免单个用户过度消耗系统资源。使用sudo vim /etc/security/limits.conf编辑文件,添加以下针对oracle用户的限制:

这些限制需与/etc/sysctl.conf中的fs.file-max参数配合,确保系统整体资源充足。

3. 配置Oracle用户环境变量(/etc/profile.d/oracle.sh)

通过用户环境变量进一步规范Oracle运行时的资源分配,使用sudo vim /etc/profile.d/oracle.sh创建或编辑脚本,添加以下内容:

export ORACLE_BASE=/u01/app/oracle  # Oracle基目录(需根据实际安装路径调整)
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1  # Oracle Home目录(根据版本调整)
export ORACLE_SID=orcl  # 数据库实例名(默认orcl,可根据需求修改)
export DB_MEMORY=2G  # 数据库SGA/PGA总内存(根据服务器内存调整,如4GB内存设为3G)
export DB_CPU_TARGET=2  # 数据库CPU目标(单位:CPU核心数,根据服务器核心数调整)

保存后,执行source /etc/profile.d/oracle.sh使环境变量立即生效,或让用户重新登录自动加载。

4. 验证资源限制是否生效

5. 可选:Docker环境下的资源限制(–shm-size参数)

若通过Docker安装Oracle(如zerda/oracle-database镜像),可通过--shm-size参数设置共享内存大小(如--shm-size 1g),避免容器内共享内存不足导致数据库启动失败。示例命令:

docker run -d --name exeed-db -p 1521:1521 -p 8080:8080 --shm-size 1g --restart always -e ORACLE_PWD=yourpassword -v exeed-db:/u01/app/oracle/oradata zerda/oracle-database:11.2.0.2-xe

该参数需根据容器内Oracle实例的内存需求调整,确保共享内存足够支持数据库运行。

以上步骤覆盖了Oracle在Ubuntu上的主要资源限制设置,需根据实际服务器配置(内存、CPU核心数)和Oracle版本(如10g、11g、19c)调整参数值,确保数据库稳定运行。

0
看了该问题的人还看了