温馨提示×

ubuntu oracle如何设权限

小樊
37
2026-10-07 17:14:13
栏目: 云计算

在 Ubuntu + Oracle 数据库 环境中,“设权限”通常涉及 操作系统层(Linux 用户/组) 和 数据库层(Oracle 用户/角色/对象权限) 两部分。下面按常见场景说明。


一、操作系统层面权限(Linux)

1. Oracle 用户和组

Oracle 一般使用:

  • 用户:oracle
  • 组:oinstall、dba

查看:

id oracle

将用户加入组:

sudo usermod -aG dba username

2. Oracle 软件目录权限

常见目录:

/u01/app/oracle

设置属主和权限:

sudo chown -R oracle:oinstall /u01
sudo chmod -R 775 /u01/app/oracle

3. 限制普通用户访问 Oracle

  • 不把普通用户加入 dba
  • 限制 $ORACLE_HOME/bin 执行权限

二、Oracle 数据库层面权限

1. 登录数据库

sqlplus / as sysdba

或

sqlplus system/password

2. 用户管理

创建用户

CREATE USER testuser IDENTIFIED BY password;

修改密码

ALTER USER testuser IDENTIFIED BY newpassword;

锁定 / 解锁

ALTER USER testuser ACCOUNT LOCK;
ALTER USER testuser ACCOUNT UNLOCK;

3. 系统权限(System Privileges)

授权

GRANT CREATE SESSION TO testuser;
GRANT CREATE TABLE TO testuser;
GRANT CREATE VIEW TO testuser;

收回权限

REVOKE CREATE TABLE FROM testuser;

4. 对象权限(表/视图等)

假设有表 scott.emp

GRANT SELECT ON scott.emp TO testuser;
GRANT INSERT, UPDATE ON scott.emp TO testuser;

收回:

REVOKE SELECT ON scott.emp FROM testuser;

5. 角色管理(推荐方式)

创建角色

CREATE ROLE app_role;

给角色授权

GRANT CREATE SESSION, SELECT ANY TABLE TO app_role;

用户绑定角色

GRANT app_role TO testuser;

三、表空间与配额权限

ALTER USER testuser QUOTA 100M ON users;

四、查看权限

查看用户权限

SELECT * FROM dba_sys_privs WHERE grantee='TESTUSER';

查看对象权限

SELECT * FROM dba_tab_privs WHERE grantee='TESTUSER';

查看角色

SELECT * FROM dba_role_privs WHERE grantee='TESTUSER';

五、常见推荐做法

✅ 不用 SYS / SYSTEM 做业务用户
✅ 用 角色 管理权限
✅ 最小权限原则
✅ 操作系统用户 ≠ 数据库用户


如果你能具体说明:

  • 是 Ubuntu 系统权限 还是 Oracle 数据库权限
  • 是 安装权限问题 还是 业务用户授权

我可以给你更精确的操作步骤。

0 踩