Oracle用户管理
1.什么叫用户?
使用一个系统,必须要先登录。
- oracle的用户管理
2.1 oracle的内置用户
2.2 创建用户
2.2.1 基本语法
--创建用户语法:create user 用户名 identified by 密码;
create user xiaoming identified by psfd123;
--修改密码
--alter user 用户名 identified by 新密码;
alter user xiaoming identified by class21;
--删除用户
--drop user 用户名;
--drop user 用户名 cascade;
--cascade级联,删除该用户,并且级联删除该用户下的所有对象信息。
drop user xiaoming;
--锁定用户
alter user xiaoming account lock;
--解锁用户
alter user xiaoming account unlock;
2.2.2 查看系统所的用户信息(需要DBA权限)
select * from dba_users;
Oracle的权限管理
Oracle中提供了160多种权限。总体上分为:
系统权限
对整个数据库系统的操作权限。比如:登录,关闭,注销...
对象权限
对数据库系统中的对象的操作权限。比如:表的CRUD权限,创建视图的权限,创建存储过程的权限。。。
1.1 系统权限
对整个数据库系统的操作权限。比如:登录,关闭,注销...
1.1.1 系统权限的语法
--授权
grant create session to xiaoming;
--回收权限
revoke create session from xiaoming;
1.1.2 常见的系统权限:
CREATE SESSION:创建会话,若账户没有改权限,则无法连接数据库并创建会话;
CREATE TABLE :创建表,并拥有该表的一系列操作,更改表,删除表及DML命令等;
CREATE TABLESPACE:创建表空间,允许用户自行管理表空间,包括创建和删除表空间;
ALTER DATABASE:更改数据库,允许执行一些修改数据库物理结构的命令
ALTER SYSTEM : 更改系统,允许用户调整实例参数和内存结构,
CREATE ANY TABLE : 创建其他表,允许为其他用户建表(create table 只能为自己建表,而create any table可为其他用户建表)
1.2 对象权限
对数据库系统中的对象的操作权限。比如:表的CRUD权限,创建视图的权限,创建存储过程的权限。。。
1.2.1 Oracle中用户和对象之间的关系
在Oralce中,数据库对象是隶属于用户的。每一个对象都由一个“OWNER”(所属者),其他用户如果想访问这个对象,必须要得到OWNER的授权。
1.2.2 对象权限的基本语法
--授权
--语法:grant 权限1,权限2.... on 对象名 to 用户名 【with grant option】;
--with grant option 级联的意思。scott用户将权限授予给了xm,xm可以将这些权限授予其他用户。
grant select,delete on emp to xm;
--回收权限
--语法:revoke 权限1,权限2.... on 对象名 from 用户名;
revoke select on emp from xm;
1.2.3常见的对象权限
对象权限 表 视图 序列 过程
修改(alter) √ √
删除(delete) √ √
执行(execute) √
索引(index) √
插入(insert) √ √
关联(references) √ √
选择(select) √ √ √
更新(update) √ √
Oralce的角色管理
常见的内置角色:
resource
更可靠和正式的数据库用户可以授予RESOURCE role。RESOURCE提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。
connect
临时用户,特别是那些不需要建表的用户,通常只赋予他们CONNECTrole。CONNECT是使用Oracle的简单权限,这种权限只有在对其他用户 的表有访问权时,包括select、insert、update和delete等,才会变得有意义。拥有CONNECT role的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym )、会话(session)和与其他数据库的链(link)。
dba
管理员角色;
DBA role拥有所有的系统权限—-包括无限制的空间限额和给其他用户授予各种权限的能力。
SYSTEM由DBA用户拥有。下面介绍一些DBA经常使用的典型权限。