如果想查看oracle系统中存在用户可以查看dba_users视图
Oracle 11g R2 用户管理_第1张图片
如果使用sqlplus查询需要提前格式化

SQL> col username for a20

SQL> col account_status for a20

SQL> col default_tablespace fora20

SQL> set linesize 120

SQL> set pagesize 120

SQL> select username,account_status,default_tablespace from dba_users;

USERNAME ACCOUNT_STATUS DEFAULT_TABLESPACE


MGMT_VIEW OPEN SYSTEM

SYS OPEN SYSTEM

SYSTEM OPEN SYSTEM

DBSNMP OPEN SYSAUX

SYSMAN OPEN SYSAUX

SCOTT OPEN USERS

OUTLN EXPIRED & LOCKED SYSTEM

FLOWS_FILES EXPIRED &LOCKED SYSAUX

MDSYS EXPIRED & LOCKED SYSAUX

ORDSYS EXPIRED & LOCKED SYSAUX

EXFSYS EXPIRED & LOCKED SYSAUX

Oracle 用户管理---

要想访问数据库,任何人都必须成为能够通过oracle身份验证的有效数据库用户,我们可以配置应用程序要求每个需要进行访问的个体都具有不同的数据库账户,也可以配置应用程序自身作为公共用户连接数据库并在内部处理应用程序级别的权限。无论选用哪种方法,在数据库内部都需要创建一个或多个允许操作数据的用户。

用户与模式(schema)

创建用户的语法:

Create user用户名identified by 密码 default tablespace表空间 quota 大小 on 表空间;

注意:在创建用户的时候虽然用户名写的时小写的,但是存储到数据字典的时候却是大写的,比如create user tom.如果非要使用小写的话,用户名需要使用双引号括起来 create user “tom”

创建的用户没有任何权限,连登陆数据库的权限都没有。

如果没有设置用户对某个表空间的配额,那么即使这个用户对该表空间有写权限,也是无法写入的。

举例说明:

查看HR用户的状态
Oracle 11g R2 用户管理
修改HR用户的密码为oracle
Oracle 11g R2 用户管理_第2张图片
手工设置过期;
Oracle 11g R2 用户管理_第3张图片
解锁用户
Oracle 11g R2 用户管理_第4张图片
举例说明oracle的授予权限和撤销权限

在创建用户之前,创建一个表空间xxx

创建一个表空间xxx

create tablespace xxx datafile '/u01/xxx.dbf' size100m autoextend on next 10m maxsize unlimited;

创建用户tom

create user tom identified by oracle;

查询创建的用户tom
Oracle 11g R2 用户管理_第5张图片
虽然创建的时是小写tom,但存储到数据字典中的是大写,所以查询时也需要写大写
Oracle 11g R2 用户管理_第6张图片
删除tom用户

Drop user tom;

create user"tom"identified by oracle;
Oracle 11g R2 用户管理_第7张图片
删除tom用户
Oracle 11g R2 用户管理_第8张图片
正确的删除方式应该是:

drop user "tom";

创建用户tom,默认的表空间是”XXX”,并没有指定配额,所以tom用户也无法在xxx表空间上创建对象
Oracle 11g R2 用户管理_第9张图片
使用tom用户连接数据库的结果
Oracle 11g R2 用户管理_第10张图片
SQL>conn sys/oracle as sysdba

Drop user tom; 删除tom用户

创建tom用户的同时指定默认的表空间是xxx,tom用户的磁盘配额是10m

可以使用dba_ts_quotas视图查看每个用户的磁盘配额
Oracle 11g R2 用户管理_第11张图片
Oracle 11g R2 用户管理_第12张图片
刚才我们测试创建的tom用户连创建会话的权限都没
Oracle 11g R2 用户管理_第13张图片
为用户授予权限

为tom用户授予session权限

SQL>conn sys/oracle as sysdba

SQL> grant create session to tom;

授权成功。

测试一下连接
Oracle 11g R2 用户管理
测试tom用户是否能够创建表
Oracle 11g R2 用户管理_第14张图片
为tom用户授予创建表的权限
Oracle 11g R2 用户管理
创建aa表
Oracle 11g R2 用户管理
测试tom用户能否为表插入记录,可以插入记录了。
Oracle 11g R2 用户管理_第15张图片
撤销权限

查看tom用户当前拥有的权限
Oracle 11g R2 用户管理_第16张图片
撤销tom用户的create table 权限
Oracle 11g R2 用户管理_第17张图片
测试tom用户能够查看SCOTT用户下的emp表
Oracle 11g R2 用户管理_第18张图片
使用sys用户连接数据库
Oracle 11g R2 用户管理
为tom用户授权select scott用户下的emp表的权限
Oracle 11g R2 用户管理
使用tom用户连接数据库
Oracle 11g R2 用户管理_第19张图片
如果对此文有什么问题的话,请加下面微信一起探讨
Oracle 11g R2 用户管理_第20张图片