环境:在linux使用docker安装oracle11g,本文也是基于这个环境来写的
- 进入容器
docker exec -it oracle11g /bin/bash - 切换root用户
su root
密码:helowin 【这密码是固定的,详情请见docker安装oracle11g】 - 回到oracle(要有步骤2 不然会进不去oracle)
su - oracle - 登陆sqlplus
sqlplus /nolog - 管理员用户登录
conn /as sysdba - 创建新的用户
create USER 用户名identified by 密码; - 给用户改密码(扩展)
ALTER USER 需要改密码的用户名 IDENTIFIED BY 新密码; - 赋权
GRANT create session,create table,create view,create sequence TO 用户名;
dba:系统最高权限,只有dba才可以创建数据库结构。
resource:拥该权限的用户只可以创建实体,不可以创建数据库结构。
允许用户登录: create session
允许创建表: create table
允许创建视图:create view
允许创建序列:create sequence
允许创建过程:create procedur
此时用户就完成创建和授权了,就可以去连接了
- 撤销权限(扩展)
revoke 需要撤销的权限1,权限2 from 用户名; - 删除用户(扩展)
drop user 用户名;
使用角色授权
好处:
可以直接将角色赋予用户,而不用在将每个用户逐个分配每个权限,提升效率
- 创建角色
create role 角色名; - 给角色赋予权限
grant create table ,create view,create sequence to 角色名; - 将角色权限给用户
grant 角色名 to 用户名; - 删除角色
drop role 角色名;