oracle中的schema和表空间
发布日期:2021-06-30 17:19:05 浏览次数:3 分类:技术文章

本文共 823 字,大约阅读时间需要 2 分钟。

我一直搞不清oracle里面的schema和表空间。尤其是不知道这个schema是个啥。一般,我们创建表空间,将数据表建在其中,然后导出导入,好像指定的也是这个同名的schema:

--创建一个表空间workcreate tablespace work datafile 'D:\YbjzCheck\db\work.ora' size 500m autoextend on;--创建数据库用户workCREATE USER work identified by work DEFAULT TABLESPACE work;grant connect, resource to work;
--导出schema=work的数据expdp 'sys/password@PDBYbjzCheck as sysdba' directory=dbbak dumpfile=PDBYbjzCheck.expdp logfile=PDBYbjzCheck.log schemas=work

难道 schema 就是 表空间?

现在看起来应该不是。我还没有找到确切的答案,只能按照个人的理解来回答:

表空间是一个存储概念,而schema是一个数据结构定义的概念。表空间负责存储,schema定义的是表的字段、字段类型,等等。

如果我没有理解错,则一个schema可以对应多个表空间。而表空间也可以存放来自多个schema的表、视图等数据库对象。

注意到,使用表空间work的数据库用户也名叫work,由于我们在创建表空间过程中,并没有一个语句创建所谓的schema,难道数据库用户就是schema?

也不是。但是,schema的确跟用户是一对一的关系,系统应当是在创建用户的时候,自动创建的schema。

用户是用来连接数据库对象。而模式是用来创建管理对象的。模式跟用户在oracle 是一对一的关系。

至于为啥是这样的设计,不晓得。

不用猜,看看下面材料就清楚:

转载地址:https://leftfist.blog.csdn.net/article/details/114081624 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:某大型企业在全国各城市共有40个左右的分支机构
下一篇:云原生

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月21日 10时14分51秒