Oracle用户管理

Oracle用户管理

--用户名   说明
--sys   
--超级管理员,负责数据库系统的管理。
--该用户必须要以sysdba身份进行登录。

--system    
--普通管理员,负责数据库对象的管理。
--例如:创建用户,授权,创建数据库等等。该用户只需要使用normal身份登录。

--scott 
--测试用户。
--该用户主要用于给我们学习的时候使用。如果要使用该用户就必须解锁,并且修改密码;

--hr    
--测试用户。该用户有一些hr相关的测试数据。如果要使用该用户就必须解锁,并且修改密码;

查询所有用户的信息

--dba_users:保存系统中所有用户的详细信息。
--查询所有用户名字和开启状态
select username,account_status
from dba_users;

创建用户

create user 用户名 
identified by 密码 
[default tablespace 表空间];
--新创建的用户没有任何权限,登陆后会提示
--创建用户
create user test01 
identified by 123456
default tablespace test01;
--登录:也需要有权限
--Oracle 中已存在三个重要的角色:connect 角色,resource 角色,dba 角色。

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 connect,resource to test01;
grant dba to test01;

--撤销授权
-- revoke connect,resource from test01;

设置用户密码

alter user 用户名 
identified by 密码;
alter user test01 
identified by a123456; --该方式不能修改为纯数字密码

解锁用户

alter user 用户名 
account unlock;
--锁定hr测试用户
alter user hr 
account lock;

--解锁hr测试用户
alter user hr 
account unlock;

删除用户

drop user 用户名 [cascade];
drop user test01 [cascade];

--如果删除的用户中已经有数据,那么删除用户的时候,就必须要指定cascade关键字。

用户权限

系统权限

--系统权限就是创建数据库对象的权限。系统权限都是以create开头的权限。
--例如:创建会话、创建表、创建索引、创建序列等等。
--create session、create table、create index、create sequence等等。
--授予用户系统权限。
grant create 权限 
to 用户;
--只有管理员才可以授予用户系统权限。
--授予用户test01创建会话、创建表的系统权限。
grant create session,create table
to test01;

对象权限

--对象权限就是对数据库对象的操作权限。
--例如:添加表数据、查询表、删除表等等操作。
--select、insert、update、delete、all。
--授予用户对象权限。
grant 操作权限 
on 用户1.表名 
to 用户2;
--授予用户test01查询和插入scott用户的emp表的权限。
grant select,insert
on scott.emp 
to test01;

查看用户权限

--dba_sys_privs:保存所有用户的系统权限;
--dba_tab_privs:保存所有用户的对象权限;
select *
from dba_sys_privs
where grantee ='TEST01';

select *
from dba_tab_privs
where grantee ='TEST01';

回收权限

--回收用户的系统权限:
--revoke create 权限 from 用户;

--回收用户的对象权限:
--revoke 操作 on 用户1.表名 from 用户2;
revoke create table
from test01;

revoke insert
on scott.emp 
from test01;

角色

--角色就是一组权限的集合。

--角色的作用:简化授权操作。

--Oracle 中已存在三个重要的角色:connect 角色,resource 角色,dba 角色。

使用角色

第一步:创建角色;
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;

查询用户角色

--dba_role_privs:保存所有用户的角色信息。
select *
from dba_role_privs
where grantee ='TEST01';

回收角色

revoke 角色名 
from 用户;
revoke t_role 
from test01;

删除角色

drop role 角色名;
drop role t_role;
--删除角色之后,那么拥有该角色的用户就会自动地把该角色取消。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值