Spark 大数据分析:权限管理

权限回收

  • 使用 REVOKE 语句撤销用户对数据库对象的权限:
REVOKE <;权限>; ON <;模式>;.<;表>; FROM <;用户>;;

-- 示例:
REVOKE select ON scott.emp FROM test; 

查看权限

  • 查询 user_sys_privs 视图查看当前用户的权限:
SELECT * FROM user_sys_privs;

权限传递

  • 使用 WITH ADMIN OPTION 子句将权限授予其他用户,并允许其进一步传递该权限:
GRANT create session TO test WITH ADMIN OPTION;

问题: 如果权限链为 sys -> test1,当撤销 test 的权限时,test1 是否还会保留权限?

答案: 在 Oracle 9i 及更高版本中,test1 将失去继承自 test 的权限。

角色

  • 角色是一组权限的集合,用于简化权限管理:
-- 创建角色
CREATE ROLE myrole;

-- 将权限授予角色
GRANT create table TO myrole;

-- 删除角色
DROP ROLE myrole;

真实项目案例:Bao121 (Linux 环境)

1. 创建并配置数据目录:

# 创建目录
mkdir /opt/oracle/oradata/baodata

# 更改目录所有者为 oracle
chown oracle /opt/oracle/oradata/baodata/

# 更改目录所属组为 oinstall
chgrp oinstall /opt/oracle/oradata/baodata/

2. 创建表空间:

-- 切换到 oracle 用户
su - oracle

-- 创建表空间 (具体语法请参考 Oracle 文档)
CREATE TABLESPACE ... 

注意: 以上步骤仅供参考,实际操作请根据具体环境和需求进行调整。