网站首页 > 技术文章 正文
摘要:一般情况下,Oracle数据库的体系结构包括物理结构、逻辑结构、内存结构和实例进程结构四部分,这里主要介绍的是物理结构和逻辑结构两部分知识。Oracl数据库的物理结构由存储在磁盘中的操作系统文件所组成,主要包括数据文件(*.dbf)、控制文件(*.ctl)和重做日志文件(*.log)三种文件。而Oracle数据库的逻辑结构则包括表空间(Tablespace)、段(Segment)、区(Extent)和数据块(Block)四个名字。一般是多个数据块组成一个区;多区组成一个段;多个段组成一个表空间,而多个表空间组成一个Oracle数据库。
本文主要介绍Linux系统中的Oracle数据库的物理结构和逻辑结构,详细内容请参考下文。
一、访问Linux系统
1.登录Linux系统
2.切换到数据库帐户
执行指令# su - oracle
3.登录DBA帐号
执行指令# sqlplus / as sysdba
4.查看当前数据库实例
执行指令> select * from global_name;
二、Oracle数据库的物理结构
1. 数据文件(Date File)
说明:数据文件是指存储数据库数据的文件,就是用于保存用户应用程序数据和Oracle系统内部数据的文件。
(1)查看数据库中的数据文件
执行指令> select tablespace_name,file_name,autoextensible from dba_data_files;
(2)查看数据文件的信息结构
执行指令> desc dba_data_files;
2. 控制文件(Control File)
说明:控制文件是一个二进制文件,记录了数据库的物理结构,其中主要包含数据库名、数据文件与日志文件的名字和位置、数据库建立日期等数据库信息。
执行指令> select name from v$controfile;
3.日志文件(Log File)
说明:日志文件的主要功能是记录对数据所作的修改,对数据库所作的修改几乎都记录在日志文件中。在出现问题时,可以通过日志文件得到原始数据,从而保障不丢失已有操作成果。
执行指令> select group#,members,status from v$log;
备注:通过上述指令可以看到status状态字段为cunrrent表示是系统当前使用的日志文件组,当1日志文件组的空间被占用完后,数据库会自动转换到另一个日志文件组。
也可以使用alter system命令进行手工日志切换,命令如下:
> alter system switch logfile;
三、Oracle数据库的逻辑结构
说明:逻辑存储结构是从逻辑的角度分析数据库的构成,是对数据库存储结构在逻辑概念上的划分,并非物理上实际存在的数据文件。
1.表空间
说明:数据库表空间实际上是一个逻辑的概念,物理上是并不存在,目的是将一组data files组合在一起组成一个tablespace管理。创建数据库时,系统会自动创建一些表空间,这些表空间说明如下:
执行指令> select * from dba_tablespaces;
2. 段(Segment)
说明:一个段存储了一个数据库对象,比如一张表,一个索引都属于一个数据库对象。段是指占用数据文件空间的通称,或数据库对象使用的空间的集合;段可以有表段、索引段、回滚段、临时段和高速缓存段等。
执行指令> select distinct(segment_type) from dba_segments;
3. 区(Extent)
说明:在Oracle中,区(Extent)是磁盘空间分配的最小单位,区由一个或者多个数据块组成,而一个或多个区又组成一个段。
执行指令> select min_extents,max_extents,tablespace_name from dba_tablespaces;
4. 块(Block)
说明:块(Block)是用来管理存储空间的基本单位,也是最小的逻辑存储单位。数据库是以块为单位进行逻辑读写(I/O)操作的。
执行指令> show parameter db_block_size查看块的大小
备注:一个数据库主要由:块头部、表目录、行目录、空闲空间和行空间五部分组成。
猜你喜欢
- 2024-10-24 彻底理解MySQL数据结构和存储原理
- 2024-10-24 Oracle10g数据库存储结构的组成 oracle数据库存储种类
- 2024-10-24 数据库笔试面试111——在Oracle中,逻辑结构正确的是?
- 2024-10-24 Oracle索引物理结构 oracle的索引有几种,各有何用途
- 2024-10-24 关于Oracle数据库几种常见的应用结构,你知道哪些?
- 2024-10-24 Tech Talk · 云技术有话聊 带你了解Oracle数据库基础架构及原理
- 2024-10-24 详解Oracle RDBMS存储结构--物理结构和逻辑结构
- 2024-10-24 Oracle 实例架构由多个组件组成 oracle 实例架构由多个组件组成一个
- 2024-10-24 几张图梳理Oracle架构发展历程 几张图梳理oracle架构发展历程
- 2024-10-24 Oracle的体系结构图万花筒 oracle数据库体系结构图
你 发表评论:
欢迎- 615℃几个Oracle空值处理函数 oracle处理null值的函数
- 608℃Oracle分析函数之Lag和Lead()使用
- 595℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 592℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 587℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 580℃【数据统计分析】详解Oracle分组函数之CUBE
- 569℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 560℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- PageHelper - 最方便的 MyBatis 分页插件
- 面试二:pagehelper是怎么实现分页的,
- MyBatis如何实现分页查询?(mybatis-plus分页查询)
- SpringBoot 各种分页查询方式详解(全网最全)
- 如何在Linux上运行exe文件,怎么用linux运行windows软件
- 快速了解hive(快速了解美国50个州)
- Python 中的 pyodbc 库(pydbclib)
- Linux搭建Weblogic集群(linux weblogic部署项目步骤)
- 「DM专栏」DMDSC共享集群之部署(一)——共享存储配置
- 故障分析 | MySQL 派生表优化(mysql pipe)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)