oracle 创建数据库和表空间有什么联系

oracle 创建数据库和表空间有什么联系,第1张

数据库使用表空间来管理数据表,因为我们的表都是存放在数据文件中的,注意数据文件是物理结构,但是表空间是逻辑名词。使用表空间便于管理数据文件,一个数据文件只能属于一个表空间,一个表空间可以包含多个数据文件,可以在表空间的大小不够的时候,像表空间中添加数据文件来扩充表空间的大小。oracle存储结构的层次是

表空间

包含一个或者多个数据文件,数据文件中的分配单位是extent(可扩展段),每个extent都是有block组成的。这里的block的大小不和系统的块的大小一样。我现在能说出来的就只用这些了,你可以到网上去找找相关的资料,很多很多的。

表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表, 所以称作表空间。

Oracle数据库中至少存在一个表空间,即SYSTEM的表空间。

表空间设计注意事项:

第一步:建立表空间。

在设计数据库的时候,首先需要设计表空间。需要考虑,是只建立一个表空间,还是需要建立多个表空间,以及各个表空间的存放位置、磁盘限额等等。

到底设计多少个表空间合理,没有统一的说法,这主要根据企业的实际需求去判断。如企业需要对用户进行磁盘限额控制的,则就需要根据用户的数量来设置表空间。当企业的数据容量比较大,而其又对数据库的性能有比较高的要求时,就需要根据不同类型的数据,设置不同的表空间,以提高其输入输出性能。

第二步:建立用户,并制定用户的默认表空间。

在建立用户的时候,建议数据库管理员要指定用户的默认表空间。因为在利用CREATE语句创建数据库对象,如数据库表的时候,其默认是存储在数据库的当前默认空间。若不指定用户默认表空间的话,则用户每次创建数据库对象的时候,都要指定表空间,这不是很合理。

另外要注意,不同的表空间有不同的权限控制。用户对于表空间A具有完全控制权限,可能对于表空间B就只有查询权限,甚至连连接的权限的都没有。所以,合理为用户配置表空间的访问权限,也是提高数据库安全性的一个方法。

这样SELECT TABLE_NAME,PARTITION_NAME,TABLESPACE_NAME

FROM USER_TAB_PARTITIONS

注:

USER_TAB_PARTITIONS:可查看分区表的名字、归属表空间以及表的详细分区情况。

USER_PART_TABLES:可查看用户所有的分区表,以及分区方式。

扩展资料:

分区表的作用

Oracle的表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护 *** 作的性能大大提高。此外分区还可以极大简化常见的管理任务,分区是构建千兆字节数据系统或超高可用性系统的关键工具。

分区功能能够将表、索引或索引组织表进一步细分为段,这些数据库对象的段叫做分区。每个分区有自己的名称,还可以选择自己的存储特性。从数据库管理员的角度来看,一个分区后的对象具有多个段,这些段既可进行集体管理,也可单独管理,这就使数据库管理员在管理分区后的对象时有相当大的灵活性。

但是,从应用程序的角度来看,分区后的表与非分区表完全相同,使用 SQL DML 命令访问分区后的表时,无需任何修改。

在oracle中,表空间是存储概念上的,建立表空间需要有对应的数据文件,数据文件建立好之后直接会把一定的磁盘空间分配给它,这样可以对数据库的存储空间进行有效的管理。然后在建表的时候指定对应的表空间,该表的数据就会都存在表空间对应的数据文件上,和Mysql那种每个表一个文件的方式比起来,存储的可控性更强。

oracle和mysql不同,不存在mysql中那种数据库的概念,而是实例的概念,当然,也可以在实例里建立不同的user来区分,每个user对应的表都是相对独立的,比如两个user下可以分别建同名的表,但又可以通过授权来交互使用。

建数据库是在安装oracle之后执行dbca建立实例。

建表空间语句是 CREATE TABLESPACE TBS_DEFAULT DATAFILE

'/app/oradata/sys_tbs/tbs_defaultdbf' size 500M

LOGGING

EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO

/

这里主要是需要指定对应的datafile。

建表基本都一样,例如

create table (col_1 number(8),col_2 char(2),col_3 date)

tablespace tbs_default

/

数据库就不要删除了,这方面你看下关于user *** 作的语句就可以了。

drop tablespace tbs_name including contents and datafiles;--删除表空间及数据文件

drop table tab_name purge; -- 删除表。

以上就是关于oracle 创建数据库和表空间有什么联系全部的内容,包括:oracle 创建数据库和表空间有什么联系、什么叫表空间,在oracle里面有着什么作用、oracle数据库如何查看表的表分区的信息(每个表分区的名字和所属表空间)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9788149.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存