网站首页 > 技术文章 正文
Oracle表空间
Oracle表空间是Oracle数据对象和数据存储的容器,Oracle表空间经常和数据文件成对出现,一个表空间可以对应多个数据文件,而一个数据文件只能在一个表空间当中。我们在创建表空间时,就会默认创建一个数据文件,同理,我们创建数据文件时,必须指定一个表空间。
Oracle数据库存储数据是有一个个表空间组成的,一个表空间当中存储着多个数据文件,Oracle的数据(表、索引等数据)存储在数据文件当中,在表空间当中的逻辑单位是段(segment),例如:
我们创建一个索引时,会在指定表空间的创建一个以索引名字命名的索引段,然后在索引段当中创建一个或者多个区(extent),用来存储索引数据,一个区段只能存在于一个数据文件当中。再细分,一个区段当中,可以分为多个区块(block)。区块是Oracle数据库当中最小的空间分配单位。
一个文件在磁盘空间当中存储一般都不是连续的,因此,表空间当中的段是由不同数据文件当中的区段组成的。
默认表空间
Oracle安装完后(笔者采用的是Oracle11g),会有五个个默认的表空间,分别是:
SYSAUX:安装Oracle11g示例的数据库表空间。
SYSTEM:存储sys/system用户表、存储过程、视图等数据库对象。
UNDOTBS1:用于存储撤销(用于回滚)的信息。
TEMP:临时表空间,用于存储SQL语句处理的表和索引信息。
USERS:存储数据库用户创建的数据库对象信息。
查看表空间
想查看数据库所有默认表空间,可以通过数据字典dba_tablespaces进行查询,如下图所示:
查看指定用户的默认表空间
如果想查看指定用户的默认表空间可以通过数据字典DBA_USERS进行查询,下面我利用查询语句,分别查询出SYS、SYSTEM、STUDENT(笔者创建的)用户分别对应的表空间是什么,查询代码如下:
select T.username,--用户名 T.account_status,--用户状态 T.default_tablespace,--默认表空间 T.temporary_tablespace,--临时表空间 T.created--创建时间 from dba_users t where t.username in ('SYS', 'SYSTEM', 'STUDENT')
?
通过结果可以看出,SYS、SYSTEM的默认表空间都是SYSTEM,临时表空间为TEMP,而STUDENT的表空间是笔者指定的USERS表空间。
猜你喜欢
- 2024-10-24 学Oracle,这里有7本必看的书 oracle相关书籍推荐
- 2024-10-24 MySql转Oracle遇到的问题:表名长度/大小写问题
- 2024-10-24 如何创建oracle数据表自增ID oracle创建自增表空间
- 2024-10-24 OFA:oracle灵活体系结构 简要描述oracle的体系结构
- 2024-10-24 oracle取前10名的写法 oracle 取前10
- 2024-10-24 详解oracle数据库分区表--概念、作用、优缺点及五大分类
- 2024-10-24 详解Oracle数据库表空间重命名 oracle重置表空间大小
- 2024-10-24 「oracle」一劳永逸 修改主机名 oracle更改用户名密码命令
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)