网站首页 > 技术文章 正文
表空间基本概念
数据库的运行需要依赖于操作系统,而数据库本身也保存在操作系统的磁盘上,所以当用户向数据表中保存数据时,最终数据是被保存在了磁盘上,只是这些数据是按照固定的格式进行保存,就像这样:
通过上图可发现,在数据库数据和磁盘数据之间存在下面两种结构:
逻辑结构:Oracle中所引入的结构,开发人员所操作的都只针对Oracle的逻辑
物理结构:操作系统所拥有的存储结构,逻辑结构到物理结构的转换由Oracle数据库管理系统来完成;
Oracle引入两个操作结构的目的:
系统数据库具有很强的可移植性,即只要数据文件按照规定的标准进行数据的存储,那不同的厂商就可以定义属于自己的逻辑结构,实现逻辑结构的关键就是表空间;
表空间是Oracle最大的逻辑结构,每一个Oracle数据库都会由若干表空间组成,每个表空间由多个数据文件组成。
用户创建的表也统一被表空间管理;
表空间与磁盘上的数据文件对应,所以直接与物理存储结构关联;
用户在数据库中创建的数据表,索引,视图,子程序等,都被表空间保存到了不同的区域内;
数据库,表空间,表的理解:可见整个数据库理解为图书馆,每一个表空间相当于书架,每张表相当于书架上的书。为了方便用户查阅,图书的分类依靠书架上的标签(表受表空间管理),而书架必须放在图书馆(表空间受到数据库管理)里;
表空间分类
系统表空间:是在数据库创建时与数据库一起建立起来的,例如用户用于撤销的事务处理,或者使用的数据字典就保存在系统表空间中,例如system或sysaux表空间;
非系统表空间:由具备指定管理员权限的数据库用户创建,主要用于保存用户数据,索引等数据库对象,例如USERS,TEMP,UNDOTBSI等表空间;
实际上,一般用户使用的都是非系统表空间;
创建表空间
定义非系统表空间的基本语法:
create [TEMPORARY] tablespace 表空间名称 [DATAFILE | TEMPFILE 表空间文件保存路径 ....] [SIZE 数字[K|M]] [AUTOEXTEND ON|OFF] [NEXT 数字 [K|M]] [LOGGING | NOLOGGING];
本语法各个创建子句的相关说明:
datafile:保存表空间的磁盘路径,可以设置多个保存路径; tempfile:保存临时表空间的磁盘路径; size:开辟的空间大小,其单位有K(字节)和M(兆); autoextend:是否为自动扩展表空间,如果为ON表示可以自动扩展表空间大小,反之为OFF; next:可以定义表空间的增长量; logging|nologging:是否需要对DML进行日志记录,记录下的日志可以用于数据恢复;
永久性表空间是为了保存用户的对象数据,例如,当使用create语句创建对象,或者使用insert语句进行数据保存,实际上这些信息都保存在了永存表空间中。
临时表空间的是用于排序操作使用,如果用户在sql中order by或group by子句时,Oracle需要对所选的数据进行排序,如果排序量较大,就需要把一些中间的排序结果保存在磁盘上,即保存在临时表空间中;
示例:创建一个mldn_data的数据表空间:此实例可使用sys账号来做,使用其它账号可能会出现权限不足的问题;
CREATE TABLESPACE mldn_data DATAFILE 'd:\mldnds\mldn_data01.dbf' SIZE 50M , 'e:\mldnds\mldn_data02.dbf' SIZE 50M AUTOEXTEND on NEXT 2M LOGGING ;
此sql会创建一个mldndata的数据表空间,而此表空间对应两个数据文件,data01,data02。同时这两个数据文件的初始化大小均为50m。当空间不足时,可以自动进行容量的扩容,每次扩充2M大小;
注意:此sql不会自动创建跟目录,要人工手动创建;
总结:
以上就是关于oracle12c中关于表空间方面的内容,基本和之前的差别不大。
后面会分享更多12c方面的内容,感兴趣的朋友可以关注下!!
猜你喜欢
- 2024-10-22 查询表修改记录 excel查询修改记录
- 2024-10-22 一文看懂oracle数据库正规的表碎片整理流程
- 2024-10-22 oracle表分区的概念及操作 oracle表分区要注意什么
- 2024-10-22 两个执行计划看Oracle回表(49秒VS1秒)
- 2024-10-22 oracle 对比两份或两个表 无唯一键的数据
- 2024-10-22 初识 Oracle 表空间设置与管理 oraclesystem表空间
- 2024-10-22 数据分析师,SQL基础操作,Oracle11G,多表查询,连接查询实例
- 2024-10-22 oracle驱动表以及如何确定驱动表 oracle数据库驱动
- 2024-10-22 oracle查看物理IO前十的表 oracle查询表空间物理位置
- 2024-10-22 Oracle 查找带有CLOB字段的所有表
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)