欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle11gR2用户管理的使用实例讲解

程序员文章站 2023-08-19 16:14:35
如果想查看oracle中存在用户可以查看dba_users视图 如果使用sqlplus查询需要提前格式化 sql> col username for a20 sql> col acco...

如果想查看oracle中存在用户可以查看dba_users视图

Oracle11gR2用户管理的使用实例讲解

如果使用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> selectusername,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用户的状态

Oracle11gR2用户管理的使用实例讲解

修改hr用户的密码为oracle

Oracle11gR2用户管理的使用实例讲解

手工设置过期;

Oracle11gR2用户管理的使用实例讲解

解锁用户

Oracle11gR2用户管理的使用实例讲解

举例说明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

Oracle11gR2用户管理的使用实例讲解

虽然创建的时是小写tom,但存储到数据字典中的是大写,所以查询时也需要写大写

Oracle11gR2用户管理的使用实例讲解

删除tom用户

drop user tom;

create user"tom"identified by oracle;

Oracle11gR2用户管理的使用实例讲解

删除tom用户

Oracle11gR2用户管理的使用实例讲解

正确的删除方式应该是:

drop user"tom";

创建用户tom,默认的表空间是”xxx”,并没有指定配额,所以tom用户也无法在xxx表空间上创建对象

Oracle11gR2用户管理的使用实例讲解

使用tom用户连接数据库的结果

Oracle11gR2用户管理的使用实例讲解

sql>connsys/oracle as sysdba

drop user tom; 删除tom用户

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

可以使用dba_ts_quotas视图查看每个用户的磁盘配额

Oracle11gR2用户管理的使用实例讲解

Oracle11gR2用户管理的使用实例讲解

刚才我们测试创建的tom用户连创建会话的权限都没

Oracle11gR2用户管理的使用实例讲解

为用户授予权限

为tom用户授予session权限

sql>conn sys/oracle as sysdba

sql> grant create session to tom;

授权成功。

测试一下连接

Oracle11gR2用户管理的使用实例讲解

测试tom用户是否能够创建表

Oracle11gR2用户管理的使用实例讲解

为tom用户授予创建表的权限

Oracle11gR2用户管理的使用实例讲解

创建aa表

Oracle11gR2用户管理的使用实例讲解

测试tom用户能否为表插入记录,可以插入记录了。

Oracle11gR2用户管理的使用实例讲解

撤销权限

查看tom用户当前拥有的权限

Oracle11gR2用户管理的使用实例讲解

撤销tom用户的create table 权限

Oracle11gR2用户管理的使用实例讲解

测试tom用户能够查看scott用户下的emp表

Oracle11gR2用户管理的使用实例讲解

使用sys用户连接数据库

Oracle11gR2用户管理的使用实例讲解

为tom用户授权select scott用户下的emp表的权限

Oracle11gR2用户管理的使用实例讲解

使用tom用户连接数据库

Oracle11gR2用户管理的使用实例讲解