Oracle 默认用户
Oracle 默认用户分为:SYS、SYSTEM、SCOTT(可通过select * from all_users查看所有用户)
SYS:数据库中所有数据字典表和视图都存储在 SYS 模式中。SYS用户主要用来维护系统信息和管理实例。
SYSTEM:SYSTEM 是默认的系统管理员,该用户拥有Oracle管理工具使用的内部表和视图。通常通过SYSTEM用户管理数据库用户、权限和存储等
SCOTT:SCOTT用户是Oracle 数据库的一个示范帐户,在数据库安装时创建
创建新用户
要连接到Oracle数据库,就需要创建一个用户帐户,每个用户都有一个默认表空间和一个临时表空间、CREATE USER命令用于创建新用户。
语法:
CREATE USER username IDENTIFIED BY password
[DEFAULT TABLESPACE tablespace]
[TEMPORARY TABLESPACE tablespace];
示例:
SQL> CREATE USER Jack IDENTIFIED BY Jack
SQL> CREATE USER Elise IDENTIFIED BY Elise
授予权限
权限指的是执行特定命令或访问数据库对象的权利,权限有两种类型,系统权限和对象权限。
系统权限允许用户执行某些数据库操作,如创建表就是一个系统权限
对象权限允许用户对数据库对象(如表、视图、序列等)执行特定操作
角色是一组相关权限的组合,可以将权限授予角色,再把角色授予用户,以简化权限管理
系统权限:
Oracle把权限进行了细分,允许用户执行某些数据库操作,主要的系统权限如:
CREATE PROCEDURE,CREATE ROLE,CREATE SEQUENCE,
CREATE SESSION,CREATE TABLE,CREATE TABLESPACE,
CREATE TRIGGER,CREATE USER,CREATE VIEW,DROP TABLESPACE,
DROP USER……
示例:
SQL> grant create table to Jack;
SQL> grant create procedure to Jack;
对象权限:
表对象权限包括:
Insert ,update, delete, select, index ,alter ,reference
存储过程的有:
exec
示例:
SQL> grant select on emp to Jack;
SQL> grant all on emp to Jack;
注意:只有表的拥有者或者有授权的人,才可以把访问该表的权限给别人
角色授权
Oracle提供了三种标准的角色(role):CONNECT、RESOURCE和DBA, 也可以自定义角色。
1、CONNECT Role(连接角色):是使用Oracle的简单权限,允许用户连接至数据库,并创建数据库对象。
2、RESOURCE Role(资源角色) :允许用户使用数据库中的存储空间,更可靠和正式的数据库用户可以授予RESOURCE 角色。RESOURCE提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。
3、DBA Role(数据库管理员角色)
示例:
SQL>grant resource,connect to Jack; --对Jack授权
SQL>create role STUDENT; --创建角色,然后给其授权
SQL>drop role STUDENT;--删除角色
管理权限
实现权限的传递:with grant option
示例:
SQL> connect scott/tiger;
SQL> grant all on emp to tea with grant option;
SQL> connect tea/tea;
SQL> grant select on scott.emp to system;
SQL> connect system/manager as sysdba;
注释:允许tea用户插入、删除、更新和查询scott 用户emp表中的记录,并允许其将权限赋予其他用户
收回权限
收回部分权限:
Connect scott/tiger;
Revoke select on emp from tea;
收回所有权限:
Connect scott/tiger;
Revoke all on emp from tea
注意:看一下收回权限后,级联授权的能否收回
更改和删除用户
ALTER USER 命令可用于更改
SQL> --修改tea用户密码
SQL> alter user tea identified by pass;
SQL> --给scott用户解锁unlock,上锁lock
SQL>--需要system用户权限,oracle11g scott用户默认锁定
SQL> alter user scott account unlock;
DROP USER 命令用于删除用户
SQL> DROP USER tea CASCADE;//删除用户及用户下的对象
本章小结
掌握Oracle用户的管理方式
掌握Oracle权限的管理
了解角色的管理