数据库名是一个具体的数据库的名称,比如mysql中的test,oracle中的orcl,sql server中的pubs
这是两个不同的概念,数据库用户名决定了数据库服务器的使用权限归谁所有,而数据库名决定的是数据存放的位置。
表空间,其实是 默认表空间。也就是这个用户 CREATE TABLE ... () 语句, 不指定表空间的话。 就默认把表,建立在那个 默认表空间 上面。
没有给他指定其它表空间的管理权限.但用户A能 *** 作其它表空间,在其它表空间中创建表,是怎么回事哪。
这个要看你到底给了多少权限给这个用户A
你要是
SQL>GRANT CONNECT TO A
Grant succeeded.
SQL>GRANT DBA TO A
Grant succeeded.
那么这个 用户A, 确实是可以干很多你不希望他干的事情。
所以,除了A的权限, 还要看看A的角色。
还有一个问题就是一个表空间中有几个数据文件,那用户A在创建一个表后,这个表被放到那个数据文件了?
这个表放那个数据文件,由数据库自己管理的。
原因也很简单。
比如你现在表空间 100M 只有1个文件。
数据库就只有一个很大的表
当运行一段时间后,表空间不足了。
你对这个表空间,增加一个 100M的文件。
使得这个表空间有 200M了。
那么,实际上,这个表,最后会在2个数据文件上,都有数据。
问题:我是数据库的初学者,望大家不吝赐教!! 在Oracle中数据库、数据文件、表、表空间、用户之间是什么关系啊?比如我知道表和数据文件隶属于表空间;表空间与用户是多对多的关系。 希望大家能写的通俗具体一点,呵呵呵 我在逻辑上有点混乱了!答案:呵呵,问的好,这涉及到数据库的物理结构和逻辑结构。首先,你需要明白的一点是:数据库的物理结构是由数据库的 *** 作系统文件所决定,每一个Oracle数据库是由三种类型的文件组成:数据文件、日志文件和控制文件。数据库的文件为数据库信息提供真正的物理存储。 每一个Oracle数据库有一个或多个物理的数据文件(data file)。一个数据库的数据文件包含全部数据库数据。逻辑数据库结构(如表、索引等)的数据物理地存储在数据库的数据文件中。数据文件通常为*.dbf格式,例如:userCIMS.dbf。数据文件有下列特征:①、一个数据文件仅与一个数据库联系;②、一旦建立,数据文件只增不减;③、一个表空间(数据库存储的逻辑单位)由一个或多个数据文件组成。 其次,我们再来叙述一下Oracle的逻辑结构:Oracle的逻辑结构包括表空间(tablespace),段(segment),数据块(data block)以及模式对象(schema object)。 Oracle数据库在逻辑上是由多个表空间组成的,表空间在物理上包含一个或多个数据文件。而数据文件大小是块大小的整数倍;表空间中存储的对象叫段,比如数据段,索引段和回退段。段由区组成,区是磁盘分配的最小单位。段的增大是通过增加区的个数来实现的。每个区的大小是数据块大小的整数倍,区的大小可以不相同;数据块是数据库中的最小的I/O单位,同时也是内存数据缓冲区的单位,及数据文件存储空间单位。块的大小由参数DB_BLOCK_SIZE设置,其值应设置为 *** 作系统块大小的整数倍。 ⑴、表空间(tablespace) 表空间是数据库中最大的逻辑单位,每一个表空间由一个或多个数据文件组成,一个数据文件只能与一个表空间相联系。每一个数据库都有一个SYSTEM表空间,该表空间是在数据库创建或数据库安装时自动创建的,用于存储系统的数据字典表,程序系统单元,过程函数,包和触发器等,也可用于存储用户数据表,索引对象。表空间具有在线(online)和离线(offline)属性,可以将除SYSTME以外的其他任何表空间置为离线。 ⑵、段(segment) 数据库的段可以分为四类:数据段、索引段、回退段和临时段。 ⑶、区 区是磁盘空间分配的最小单位。磁盘按区划分,每次至少分配一个区。区存储与段中,它由连续的数据块组成。 ⑷、数据块 数据块是数据库中最小的数据组织单位与管理单位,是数据文件磁盘存储空间单位,也是数据库I/O的最小单位,数据块大小由DB_BLOCK_SIZE参数决定,不同的Oracle版本DB_BLOCK_SIZE的默认值是不同的。 ⑸、模式对象 模式对象是一种应用,包括:表、聚簇、视图、索引序列生成器、同义词、哈希、程序单元、数据库链等。 最后,在来说一下Oracle的用户、表空间和数据文件的关系: 一个用户可以使用一个或多个表空间,一个表空间也可以供多个用户使用。用户和表空间没有隶属关系,表空间是一个用来管理数据存储的逻辑概念,表空间只是和数据文件发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。总结一下:解释数据库、表空间、数据文件、表、数据的最好办法就是想象一个装满东西的柜子。数据库其实就是柜子,柜中的抽屉是表空间,抽屉中的文件夹是数据文件,文件夹中的纸是表,写在纸上的信息就是数据。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)