一学三思三敲才能懂,才能长期有效的记忆
起初学习Oracle的时候,已经了解Oracle的优点,比如分布式管理,轻松协调;优越的性能;支持大数据的格式;还有一点就是Oracle独创表空间独特,而且有极强的灵活性,多性化,逻辑思路更加透,既然那么强大,不可不学!
下面跟我一起来学习一下Oracle的表空间
什么是表空间:简单来说表空间是数据库中的逻辑表,像我们数据库中的视图,表,索引等等,我们不能直接对物理文件来进行操作对象,我们通过SQL语句来操纵这些逻辑表来实现我们的需求。
那么在系统中如何存在,到底怎样的逻辑关系呢 1、数据库 ----> 2、表空间 -----> 3、数据表 这是包含的关系
优点:
1、避免突然地磁盘耗竭
通熟易懂的讲,因为Oracle本身作为一个存储数据的过程,所以本质呈趋势。那么如果我们不合理的规划数据库那么可能导致因为数据库本身而磁盘空间被占满,表空间的存在,我们就可以灵活控制表空间大小,防止长期使用过程中磁盘被数据耗尽。
2、更灵活的规划
在实际的业务流程工作中,有可能会根据业务的需求规划不同类型数据放在分布存储,这样我们就可以划分多个表空间,根据业务需求把数据存储到不同的表空间中,便于我们高效管理和查询。
4、数据的灵活高效和数据库性能
场景一,当有时候我们对数据频繁的查询,这一类数据我们可以单独放入一个表空间,把表空间存储在性能好的磁盘,同样我们把冷门数据整理分类放入另一个表空间,存储到性能低一些的磁盘,另一种的应用场景,当我们的数据因开发工作需要,频繁的对数据操作修改,那么大量的操作不但会对系统性能产生影响,对磁盘也有较大的压力,实现服务的合理利用,最大性能的提高数据库性能。
有一些数据迭代特别频繁,那我们单独放入表空间,针对不同的表空间,指定对表空间不同的备份周期,最大程度上减少数据本分带来的资源占用。
5、数据更安全
除了被系统被******,那么我们有不同的数据表,放在不同的表空间这样我们当一个磁盘损坏,不会造成所有的数据表损坏
另一种我们可以吧数据文件和日志文件存储到不同的表空间,存储不同磁盘当中,当我们的数据文件损坏的时候,利用日志文件进行恢复,从而有效的降低数据的丢失。
表空间设计的理念:
我们从优点下手去推理理念,为了避免磁盘耗竭,这样来说我们可以认为合理的规划数据库来入手,包括可扩展性,管理层次,逻辑结构都很是明了清晰。
代码重创建一个表空间开始
格式:
Create tablespace user1 datafile D:\path\user1_data.dbf size 20M autoextend on next 5M maxsize 500(unlimited);
解释
创建一个表空间,大小20M,可以扩展,每次扩展容量5M 最大表空间200M unlimited无上限。
格式:
select file_name,tablespace_name from dba_data_files order by file_name;
解释
查询结果表空间结果
格式:
select tablespace_name,status,allocation_type from dba_tablespaces;
解释:
查询表空间信息
格式:
select user_id,username,default_tablespace from dba_user;
解析:
查询每个用户的表空间
格式:
select tablespace table_name rename to table_name2;
解析
重命名表空间
格式
drop tablespace user_table including contents and datafiles;
解析
删除表空间时,将数据文件一并删除(including contents and datafiles).