Oracle 11g R2 用户与模式(schema)

创建用户的语法:

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

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

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

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

举例说明:

查看HR用户的状态
Oracle 11g R2 用户与模式(schema)
修改HR用户的密码为oracle
Oracle 11g R2 用户与模式(schema)
手工设置过期;
Oracle 11g R2 用户与模式(schema)
解锁用户
Oracle 11g R2 用户与模式(schema)
举例说明oracle的授予权限和撤销权限

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

创建一个表空间xxx

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

创建用户tom

create user tom identified by oracle;

查询创建的用户tom
Oracle 11g R2 用户与模式(schema)
虽然创建的时是小写tom,但存储到数据字典中的是大写,所以查询时也需要写大写
Oracle 11g R2 用户与模式(schema)
删除tom用户

Drop user tom;

create user"tom"identified by oracle;
Oracle 11g R2 用户与模式(schema)
删除tom用户
Oracle 11g R2 用户与模式(schema)
正确的删除方式应该是:

drop user "tom";

创建用户tom,默认的表空间是”XXX”,并没有指定配额,所以tom用户也无法在xxx表空间上创建对象
Oracle 11g R2 用户与模式(schema)
使用tom用户连接数据库的结果
Oracle 11g R2 用户与模式(schema)
SQL>connsys/oracle as sysdba

Drop user tom; 删除tom用户

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

可以使用dba_ts_quotas视图查看每个用户的磁盘配额
Oracle 11g R2 用户与模式(schema)
Oracle 11g R2 用户与模式(schema)
刚才我们测试创建的tom用户连创建会话的权限都没
Oracle 11g R2 用户与模式(schema)
为用户授予权限

为tom用户授予session权限

SQL>conn sys/oracle as sysdba

SQL> grant create session to tom;

授权成功。

测试一下连接
Oracle 11g R2 用户与模式(schema)
测试tom用户是否能够创建表
Oracle 11g R2 用户与模式(schema)
为tom用户授予创建表的权限
Oracle 11g R2 用户与模式(schema)
创建aa表
Oracle 11g R2 用户与模式(schema)
测试tom用户能否为表插入记录,可以插入记录了。
Oracle 11g R2 用户与模式(schema)
撤销权限
查看tom用户当前拥有的权限
Oracle 11g R2 用户与模式(schema)
撤销tom用户的create table 权限
Oracle 11g R2 用户与模式(schema)
测试tom用户能够查看SCOTT用户下的emp表
Oracle 11g R2 用户与模式(schema)
使用sys用户连接数据库
Oracle 11g R2 用户与模式(schema)
为tom用户授权selectscott用户下的emp表的权限
Oracle 11g R2 用户与模式(schema)
使用tom用户连接数据库
Oracle 11g R2 用户与模式(schema)
如果对此有兴趣,请扫下面二维码免费获取更多详情
Oracle 11g R2 用户与模式(schema)

猜你喜欢

转载自blog.51cto.com/11233498/2140253