在Ubuntu中管理Oracle用户,主要涉及操作系统用户和数据库用户两方面,具体操作如下:
创建用户并添加到指定组
sudo useradd -m -g oinstall -G dba oracle_user # 主组oinstall,附加组dba
sudo passwd oracle_user # 设置密码
oinstall:Oracle软件安装组,dba:数据库管理员组。设置用户权限与资源限制
sudo visudo # 编辑sudoers文件,赋予用户执行特定命令的权限(如启动监听器)
sudo chown -R oracle_user:oinstall /u01/app/oracle # 设置Oracle目录所属权
创建数据库用户
以sysdba身份登录数据库(需先切换到Oracle用户):
su - oracle
sqlplus / as sysdba
CREATE USER new_user IDENTIFIED BY password DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
分配权限
GRANT CREATE SESSION, CREATE TABLE TO new_user;
GRANT SELECT, UPDATE ON schema.table TO new_user;
CREATE ROLE hr_role;
GRANT SELECT ON employees TO hr_role;
GRANT hr_role TO new_user;
撤销权限与删除用户
REVOKE SELECT ON schema.table FROM new_user; -- 撤销对象权限
DROP USER new_user CASCADE; -- 删除用户(级联删除其对象)
查看用户权限
SELECT * FROM user_sys_privs; -- 系统权限
SELECT * FROM user_tab_privs; -- 对象权限
SELECT * FROM user_role_privs; -- 角色权限
/etc/oratab配置,允许操作系统用户直接登录数据库。oracle用户下执行,或通过sudo获取权限。参考来源: