证明oracle多用户共用一个表空间,表,数据是互不影响的。

时间:2021-07-26
本文章向大家介绍证明oracle多用户共用一个表空间,表,数据是互不影响的。,主要包括证明oracle多用户共用一个表空间,表,数据是互不影响的。使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

我用到是最新版Oracle19c 测试过程如下

1、创建临时表空间
create temporary tablespace ekp15temp tempfile 'D:\oracledbms\ekp15temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;

2、创建表空间
create tablespace ekp15tablespace logging datafile 'D:\oracledbms\ekp15.dbf' size 50m autoextend on next 50m maxsize 20480m

3、创建用户,并给默认表空间
create user ekp15 identified by password default tablespace ekp15tablespace temporary tablespace ekp15temp;

4、给用户授权
grant connect,resource,dba to ekp15;

5、用ekp15账户登录,并创建表,新增数据,查询数据

create table t1
(
id varchar2(50) primary key ,
name char(200) not null
);

insert into t1 values ('11','张三');

select * from t1;

能查询到一条数据,如下图

 6、创建ekp152用户,使用同一个表空间

create user ekp152 identified by password default tablespace ekp15tablespace temporary tablespace ekp15temp;
7、授权152
grant connect,resource,dba to ekp152;

8、使用ekp152登录,查询表t1 发现表t1并不存在

 9、查询表空间下面所有的表,发现t1存在,只是在ekp15这个用户下面,证明表是在用户下面,即使同一个表空间也互相看不到。

select * from all_tables where TABLESPACE_NAME = 'EKP15TABLESPACE'

 10、用ekp152用户,创建t1表,并新增数据,再分别用ekp15和ekp152查询t1表,发现数据不一致,证明他们就不是同一张表(其实上面已经证明了,这里是再次验证下)

create table t1
(
id varchar2(50) primary key ,
name char(200) not null
);

insert into t1 values ('11','李四');

执行下面3条sql,也可以验证

select * from all_tables where TABLESPACE_NAME = 'EKP15TABLESPACE';
select * from ekp152.t1;
select * from ekp15.t1;

11、总结Oracle  不同用户,即使共用一个表空间,数据也是互不影响,相互独立

原文地址:https://www.cnblogs.com/wangxianzheng/p/15060691.html