ORACLE一个实例多个用户实现数据隔离

在数据库只有一个实例的情况下,如果要实现数据的隔离,最简单的方法就是创建多个表空间,添加多个用户,一个用户对应一个表空间,这样就实现了数据的隔离(多个开发团队共用一个oracle实例)。

1.ssh shell 工具登录到oracle服务器(Linux)

切换到oracle   

输入命令:su - oracle

进入sqlplus

输入命令:sqlplus

输入用户名和密码(有dba权限的用户)

2.查看表空间文件的位置

select name from v$datafile;

假如我的实例名称为orcl,oracle安装在了/u01/app目录下,查询结果是这样

/u01/app/oracle/oradata/orcl/system.dbf

/u01/app/oracle/oradata/orcl/users01.dbf

......

3.创建表空间

这里就创建在/u01/app/oracle/oradata/orcl/目录下,

db_test01 是表空间名称,data_test01.dbf是表空间文件

create tablespace db_test01 datafile '/u01/app/oracle/oradata/orcl/data_test01.dbf' size 256M autoextend on next 100M maxsize unlimited;

这步执行完用 select name from v$datafile; 查看下是否创建成功。

也可以再给这个表空间再增加表空间文件(一个表空间文件不够的情况下)。

alter tablespace db_test01add datafile '/u01/app/oracle/oradata/orcl/data_test02.dbf' size 256M autoextend on next 100M maxsize unlimited;

4.创建用户并指定用户所使用的表空间

创建用户名为test_user,密码为123456,所使用表空间为db_test01的用户

create user test_user identified by 123456 default tablespace db_test01;

5.用户授权

将dba权限授给test_user

grant dba to test_user

ok,搞定了,可以用plsql或其他工具登录测试一下。

若要实现数据的隔离(如:另一个开发小组也用这个数据库实例),重复3,4,5步,指定不同的表空间名称、不同的表空间文件、不同的用户即可。


 

 

 

 

你可能感兴趣的:(数据库)