若是想查看oracle系统中存在用户能够查看dba_users视图
若是使用sqlplus查询须要提早格式化sql
SQL> col username for a20数据库
SQL> col account_status for a20微信
SQL> col default_tablespace fora20session
SQL> set linesize 120oracle
SQL> set pagesize 120ide
SQL> select username,account_status,default_tablespace from dba_users;测试
USERNAME ACCOUNT_STATUS DEFAULT_TABLESPACEspa
MGMT_VIEW OPEN SYSTEM3d
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用户的状态
修改HR用户的密码为oracle
手工设置过时;
解锁用户
举例说明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
虽然建立的时是小写tom,但存储到数据字典中的是大写,因此查询时也须要写大写
删除tom用户
Drop user tom;
create user"tom"identified by oracle;
删除tom用户
正确的删除方式应该是:
drop user "tom";
建立用户tom,默认的表空间是”XXX”,并无指定配额,因此tom用户也没法在xxx表空间上建立对象
使用tom用户链接数据库的结果
SQL>conn sys/oracle as sysdba
Drop user tom; 删除tom用户
建立tom用户的同时指定默认的表空间是xxx,tom用户的磁盘配额是10m
可使用dba_ts_quotas视图查看每一个用户的磁盘配额
刚才咱们测试建立的tom用户连建立会话的权限都没
为用户授予权限
为tom用户授予session权限
SQL>conn sys/oracle as sysdba
SQL> grant create session to tom;
受权成功。
测试一下链接
测试tom用户是否可以建立表
为tom用户授予建立表的权限
建立aa表
测试tom用户可否为表插入记录,能够插入记录了。
撤销权限
查看tom用户当前拥有的权限
撤销tom用户的create table 权限
测试tom用户可以查看SCOTT用户下的emp表
使用sys用户链接数据库
为tom用户受权select scott用户下的emp表的权限
使用tom用户链接数据库
若是对此文有什么问题的话,请加下面微信一块儿探讨