Oracle用户管理
查询所有用户的信息
select username,account_status
from dba_users;
创建用户
create user 用户名
identified by 密码
[default tablespace 表空间];
create user test01
identified by 123456
default tablespace test01;
CONNECT 角色:
ALTER SESSION --修改会话
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立数据库链接
CREATE SEQUENCE --建立序列
CREATE SESSION --建立会话
CREATE SYNONYM --建立同义词
CREATE VIEW --建立视图
RESOURCE 角色: --是授予开发人员的
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立过程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立触发器
CREATE TYPE --建立类型
DBA 角色:拥有全部特权,是系统最高权限,只有 DBA 才可以创建数据库结构,
并且系统权限也需要 DBA 授出,且 DBA 用户可以操作全体用户的任意基表,包括删除
grant dba to user_test;
进入 system 用户下给用户赋予 dba 权限,否则无法正常登陆
grant dba to test01;
设置用户密码
alter user 用户名
identified by 密码;
alter user test01
identified by a123456;
解锁用户
alter user 用户名
account unlock;
alter user hr
account lock ;
alter user hr
account unlock;
删除用户
drop user 用户名 [cascade ];
drop user test01 [cascade ];
用户权限
系统权限
grant create 权限
to 用户;
grant create session ,create table
to test01;
对象权限
grant 操作权限
on 用户1. 表名
to 用户2 ;
grant select ,insert
on scott.emp
to test01;
查看用户权限
select *
from dba_sys_privs
where grantee ='TEST01' ;
select *
from dba_tab_privs
where grantee ='TEST01' ;
回收权限
revoke create table
from test01;
revoke insert
on scott.emp
from test01;
角色
使用角色
第一步:创建角色;
create role 角色名;
第二步:给角色授权;
grant create 权限to 角色;
grant 操作 on 用户.表名 to 角色;
第三步:把角色赋给用户;
grant 角色 to 用户;
create role t_role;
grant create table
to t_role;
grant select
on scott.emp
to t_role;
grant t_role
to test01;
查询用户角色
select *
from dba_role_privs
where grantee ='TEST01' ;
回收角色
revoke 角色名
from 用户;
revoke t_role
from test01;
删除角色
drop role 角色名;
drop role t_role;