Carlos 2020-02-03
oracle表空间在逻辑上处于数据库之下。利用表空间可以更灵活的规划数据库结构。 一个数据库可以包含多个表空间,每一个表空间可以包含多个数据表。 表空间会有独立的物理文件,这使得用户可以自行决定表的空间的大小和位置等。 ===================================================================================== 1、创建oracle表空间 在创建表空间时,应指定位置和大小 实例: create tablespace test00001 datafile ‘C:\test_date.dbf‘ size 20M; test00001为表空间的名字; datafile ‘C:\test_date.dbf‘为指定表空间的物理文件; size 20M为指定物理文件的初始大小; select tablespace_name,file_name from dba_data_files order by file_name; /*在数据字典中获取相关信息*/ —————————————————————————————————————————————— 无论刚开始表空间有多大,将来都有数据了超出的风险。因此,在表空间创立的开始,还可以指定数据文件的自动扩展机制: create tablespace test datafile ‘C:\test_date.dbf‘ size 20M autoextend on next 5M; autoextend 指定当数据量超出物理文件的存储空间时,自动增加文件的大小; on next 5M 则指定每次增长的尺寸为5M; ------------------------------------------------------------------------------------------ 当然允许物理文件增长也是存在一定风险的,在创建的时候,可以设定表空间的最大大小: create tablespace test datafile ‘C:\test_date.dbf‘ size 20M autoextend on next 5M maxsize 500M; -------------------------------------------------------------------------------------------------------- 表空间很重要的作用就是规划数据表。每个数据表都是某个表空间的子对象;数据表的真实数据,也存在于表空间的物理文件中。 每一个用户登录数据库时所作的建表动作,如果未显示指定将表创建于哪个表空间中,都会自动创建于该用户的默认表空间。 默认表空间相当于用户的工作空间。 获取数据库中,所有用户的默认表空间: select user_id,username,default_tablespace from dba_users order by user_id; --------------------------------------------------------------------------------- 举例:将当前数据库的默认表空间修改为users alter database default tablespace users; ------------------------------------------------------------------------------------------ 1、表空间的重新命名(重新取名): alter tablespace 表空间名 rename to 新表空间名; 2、删除表空间(不能删除使用中的表空间) 删除这个表空间,并删除数据和文件 drop tablespace 表空间名 including contents and datafiles; ======================================================================================================================== oracle数据表 oracle表空间的下一层逻辑结构为数据表。创建和修改数据表都使用标准的SQL语句