Ubuntu Oracle权限设置主要涉及用户管理、目录权限、系统权限配置等,以下是关键步骤:
-
创建用户和用户组
- 创建
oinstall(软件安装组)和dba(数据库管理员组):sudo groupadd oinstall sudo groupadd dba - 创建Oracle用户并加入对应组(主组
oinstall,辅组dba):sudo useradd -m -g oinstall -G dba oracle sudo passwd oracle
- 创建
-
设置目录权限
- 创建Oracle安装目录并赋权:
sudo mkdir -p /home/app/oracle sudo chown -R oracle:oinstall /home/app/oracle sudo chmod -R 755 /home/app/oracle - 若需共享目录(如
oraInventory),设置组权限:sudo mkdir -p /home/app/oraInventory sudo chown -R oracle:oinstall /home/app/oraInventory sudo chmod -R 775 /home/app/oraInventory
- 创建Oracle安装目录并赋权:
-
配置环境变量
- 编辑用户
.bash_profile,添加Oracle路径:export ORACLE_BASE=/home/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/版本号/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH - 使配置生效:
source ~/.bash_profile
- 编辑用户
-
系统权限配置
- 内核参数优化:修改
/etc/sysctl.conf,增加文件描述符等限制(如fs.file-max=6815744),执行sudo sysctl -p生效。 - 防火墙设置:使用UFW开放Oracle必要端口(如默认1521):
sudo ufw allow 1521/tcp sudo ufw reload
- 内核参数优化:修改
-
数据库权限管理
- 系统权限:通过
GRANT命令授予用户操作权限(如创建会话、表等):GRANT CREATE SESSION, CREATE TABLE TO username; - 对象权限:针对特定表或视图授权(如查询、更新):
GRANT SELECT, UPDATE ON table_name TO username; - 角色管理:创建角色并批量授权,简化权限分配:
CREATE ROLE role_name; GRANT role_name TO username;
- 系统权限:通过
-
安全增强
- 定期审计用户权限,删除冗余权限:
REVOKE unused_permission FROM username; - 启用密码策略(如复杂度、有效期),可通过
ALTER PROFILE配置。
- 定期审计用户权限,删除冗余权限:
注意:操作前需确保具备SYSDBA或SYSOPER权限,建议在测试环境验证配置,生产环境需严格遵循最小权限原则。