一个角色是一组特权,它可以授权给用户或其它角色。
特权有:create table,select on boss ,create session,insert on boss,update on boss
创建(删除 )角色:
CREATE ROLE
hr_clerk
IDENTIFIED BY
bonus;
DROP ROLE
oe_clerk;
创建用户
CREATE
USER user_name// 必填
IDENTIFIED BY password
//必填
[DEFAULT
TABLESPACE tablespace_name]
[TEMPORARY
TABLESPACE tablespace_name]
[QUOTA
quota_number [K | M] | UNLIMITED ON tablespace_name]
[PROFILE
profile_name]
[PASSWORD expire]
[ACCOUNT lock| unlock]
CREATE USER
命令解释
CREATE USER
username ---用户名
IDENTIFIED BY password----
用户口令
[DEFAULT
TABLESPACE tablespace ]--- 缺省的表空间,该用户创建的对象默认存在此。
examples
创建新用户lisi,密码为abcdef,表空间为users,并且在users表空间上可以使用10M的磁盘空间。
CREATE USER lisi IDENTIFIED BY
abcdef
DEFAULT
TABLESPACE users
QUOTA 10M ON users;
创建新用户allen,密码为abcdef,并且设置密码已过期,用户的状态为加锁。
CREATE USER allen IDENTIFIED
BY abcdef
PASSWORD
expire ACCOUNT
lock;
使用新用户连接数据库
为新用户授予和数据库建立会话(登录)的系统权限:
GRANT CREATE
SESSION TO user_name;
为新用户授予创建数据表的系统权限:
GRANT CREATE table TO
user_name;
为新用户授权和数据库建立连接的角色:
GRANT CONNECT TO user_name;
显然是 查看数据库中的被授权者(也即是被赋予权利的人)以及连接数据库的特权
select grantee,privilege
from dba_sys_privs
where grantee=‘CONNECT‘
order by privilege;
相关权利大会和
CONNECT角色:
--是授予最终用户的典型权利,最基本的
ALTER SESSION --修改会话
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK
--建立数据库链接
CREATE
SEQUENCE --建立序列
CREATE SESSION
--建立会话
11g只有这一个
CREATE
SYNONYM --建立同义词
CREATE VIEW --建立视图
RESOURCE 角色: --是授予开发人员的
CREATE CLUSTER
--建立聚簇
CREATE
PROCEDURE --建立过程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER
--建立触发器
CREATE TYPE
--建立类型
examples
为新用户zhangsan授予和数据库建立会话的权限,并用zhangsan连接数据库。
--在授权之前,用zhangsan连接数据库的操作失败
CONNECT
zhangsan/abcdef;
--以system连接数据库,并使用GRANT命令为新用户授权
CONNECT
system/abcdef;
GRANT CREATE SESSION TO
zhangsan;
--授权后,再用zhangsan连接数据库,操作成功
CONNECT
zhangsan/abcdef;
例3.5 为新用户lisi授予CONNECT的角色。
GRANT CONNECT TO
lisi;
CONNECT
lisi/abcdef;
修改用户zhangsan的密码为ora,并设置默认表空间为users表空间,在该表空间中可以使用无限大的磁盘空间。
ALTER USER
zhangsan
IDENTIFIED BY ora
DEFAULT TABLESPACE users
QUOTA
UNLIMITED ON users;
启用与禁用用户
禁用用户账户
ALTER USER user_name ACCOUNT
LOCK;
启用用户账户。
ALTER USER user_name ACCOUNT
UNLOCK;
为数据库中内置的用户账号scott解锁,启用该账号。
ALTER USER scott ACCOUNT UNLOCK; CONNECT
scott/tiger;
删除用户 DROP USER user_name [CASCADE][如果该用户方案中已存在方案对象,则需要带有CASCADE子句。]