oracle创建用户、表以及授予其他用户查看表的权限
•
数据库
创建用户
创建用户如果要指定默认表空间和临时表空间,则需要事先创建好
创建表空间testtab
create tablespace 表空间名 datafile '表空间地址/表空间名.dbf' size xxm;

创建临时表空间testtemp
create temporary tablespace 临时表空间名 tempfile '临时表空间存放地址/临时表空间名.dbf' size xxm autoextend on next xxm maxsize unlimited;

接下来就可以创建用户并制定默认表空间和临时表空间了
示例创建用户test并指定默认表空间testtab,临时表空间testtemp,密码为123456
create user 用户名 default tablespace 默认表空间名 temporary tablespace 临时表空间名 identified by 密码;

授予用户一些权限,注意要在有dba权限的用户下执行该命令
grant create session,create table,unlimited tablespace to test;

至此用户test的创建成功
创建表
创建表部分比较简略,详解去看其他的博客
首先先登录用户test
conn test/123456;
![]()
然后创建表test1,由于是测试所以随便给了两个键值
create table test1( id number(2) primary key, name varchar2(20) not null );

向表内插入一条数据
insert into test1 values(11,'李华');
查看
select * from test1;

这里可能是由于表的编码方式导致中文无法正常显示
创建新用户并授予该用户查看指定用户指定表的权限
创建新用户test2
create user test2 identified by 123456;

授予用户test2权限
grant resource,connect to test2;

登录一个有dba权限的用户

将test用户下的表test1的查看权限授予用户test2
grant select on test1 to test2;

如果test1不属于当前连接的用户需将指令改为
grant select on 用户名.test1 to test2;
登录用户test2
![]()
在用户test2下查看用户test的表test1
select * from test.test1;

这里我们新创建一个test3,不授予其查看test1表的权限,来看看有什么不同,过程和上述相同,代码不再赘述

test3表示test1表不存在,说明test3在未授予权限的情况下无法查看用户test的表test1
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/098432ce82.html
