在Ubuntu上运行Oracle数据库前,需先创建专用的用户组和用户,用于隔离权限并提升安全性。
groupadd命令创建oinstall(Oracle安装组,负责软件安装)和dba(数据库管理员组,负责数据库管理)两个核心组:sudo groupadd oinstall
sudo groupadd dba
useradd命令创建oracle用户,将其加入oinstall(主组)和dba(附加组),并设置初始密码:sudo useradd -g oinstall -G dba oracle
sudo passwd oracle # 设置强密码(如包含大小写字母、数字和特殊字符)
Oracle数据库需要特定目录存储软件、数据文件等,需正确配置所有权和权限,避免未授权访问。
/u01/app/oracle/product/19.0.0/dbhome_1)和数据目录(如/u01/app/oracle/oradata):sudo mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
sudo mkdir -p /u01/app/oracle/oradata
oracle:oinstall(Oracle用户+安装组),数据目录的所有权赋予oracle:dba(Oracle用户+管理员组):sudo chown -R oracle:oinstall /u01/app/oracle/product
sudo chown -R oracle:dba /u01/app/oracle/oradata
750(所有者可读/写/执行,组可读/执行,其他用户无权限),数据目录设置为770(所有者与组可读/写/执行,其他用户无权限):sudo chmod -R 750 /u01/app/oracle/product
sudo chmod -R 770 /u01/app/oracle/oradata
通过SQL*Plus以SYSDBA身份登录,完成Oracle数据库用户的创建、权限分配及验证。
oracle用户,使用sqlplus以SYSDBA身份连接:su - oracle
sqlplus / as sysdba
CREATE USER命令创建用户(如hr_user),设置密码及默认表空间(如USERS)、临时表空间(如TEMP),并分配初始存储配额(如10MB):CREATE USER hr_user IDENTIFIED BY HrPass123
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA 10M ON users;
GRANT命令授予用户必要的系统权限(如CREATE SESSION允许登录,CREATE TABLE允许创建表):GRANT CREATE SESSION, CREATE TABLE TO hr_user;
employees表)的操作权限(如SELECT查询、UPDATE更新):GRANT SELECT, UPDATE ON scott.employees TO hr_user;
hr_manager),简化权限分配:CREATE ROLE hr_manager;
GRANT CREATE JOB, DELETE ANY TABLE TO hr_manager;
hr_user):GRANT hr_manager TO hr_user;
REVOKE命令撤销用户或角色的权限(如撤销hr_user的SELECT权限):REVOKE SELECT ON scott.employees FROM hr_user;
为oracle用户配置环境变量,确保Oracle命令(如sqlplus、lsnrctl)能正常运行。
.bash_profile文件:oracle用户,使用文本编辑器(如nano)修改~/.bash_profile:su - oracle
nano ~/.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=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
source命令使环境变量立即生效:source ~/.bash_profile
DROP TABLE权限)。SELECT * FROM USER_SYS_PRIVS;(查看系统权限)、SELECT * FROM USER_TAB_PRIVS;(查看对象权限)定期检查权限分配情况,及时回收冗余权限。oinstall组)、管理(dba组)、应用访问(普通用户组)权限分离,降低安全风险。