Oracle用户管理

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权限的管理

了解角色的管理

你可能感兴趣的:(Oracle用户管理)