大哥,打扰一下,oracle 表空间是什么?
oracle 表空间是什么?最近几天开始接触oracle,但我完全无法下手啊。oracle与我之前所学的 microsoft SQl server几乎完全不同。
感觉microsoft SQl server的界面比较好操作。
oracle我都不知道怎么去操作。因为是速成,我很多基本的概念都不会,求大神指导。
推荐一本比较通俗的oracle教材给我,好让我自学。
谢谢!!!
大哥,打扰一下,oracle 表空间是什么?
oracle 表空间是什么?最近几天开始接触oracle,但我完全无法下手啊。2024-06-25 00:24:05
嗯,我还是不太理解。能不能和microsoft SQl server比较起来讲?microsoft SQl server里面是以数据库划分的,数据库下面有表,存储过程等等。
那么表空间下面的数据文件是什么?我工具用的是pl/sql developer,它的对象栏里直接就是表,存储过程什么的。是不是oracle是以表空间划分的?
用户的话指定到哪个表空间,就有哪个表空间的权限是吗?
oracle也有类似的痛惜,不过oracle分的是用户,同样的dbo.table.oracle的解释是:dbo用户下的table表。
表空间仅仅是一个逻辑概念物理上不存在,物理上你能看到的是一个一个的数据文件。每个数据文件是物理上真实存在的。还是那句话,为了方便你理解。比如表A在表空间B上。表空间B有三个数据文件B1,B2,B3(数据文件是操作系统上能看到的),这时你不用管表A到底在哪个数据文件上,也就是你用管物理上该表到底存在哪,只要知道该表在表空间B上就行了。
而table,存储过程什么的都是属于某一个用户的。比如上面的表A,表A属于数据库用户C,那么如果你没有用用户C登录,数据库,假如你用用户D登录,如果C用户或者DBA用户授权D用户,可以访问C用户下的A表,那么也就是说select * from C.A(说明D用户查询的是C用户的A表。),如果不写C.那么是select * from A(那么你用用户D登录查询的就是用户D的A表,如果用户D没有A表,那么这个查询就会报错。说找不到该表)
比如,某镇有四个区,ABCD,你是新搬来的。镇里把你分配到A区,给了你A区里的1亩地大小的面积,让你盖房子。这里ABCD四个就相当于4个表空间,镇里那个分配宅基地的就是DBA,你就是那个用户。那1亩地就是DBA分给你的可使用的存储空间。
过段时间镇里又在B区给你分了1亩地,那么这一亩地也是属于你的,你也可以往这里放东西。
又过了一段时间,因为人口减少,C区没人了,镇里吧整个C区都分给你了,你可以自由建设,那也就是说整个表空间都是你的。
但是,后来因为又有人来投资了,土地资源紧张,于是镇里说:"C区你们两个人都干着,谁东西多就多占点。"(先别管合不合理),于是C区整个属于你们俩,具体怎么盖房子,或者是干什么用不管,只要还有空地方你们俩随便。也就是说一个表空间不一定只给一个用户。
比如你家运来了一套沙发,那么如果你没告诉说,运到C区,那么一般会直接给你送家去(A区),这个也就是默认表空间。