oracle学习篇:第2章 oracle数据库的体系结构

2.1 物理结构

数据文件、控制文件、重做日志文件

2.1.1 数据文件

dbf文件

desc dba_data_files

2.2.2 控制文件

二进制文件

select * from v$controlfile;

2.1.3 重做日志文件

select *from v$log;

2.1.4 其他文件

参数文件——备份文件——归档日志文件——警告、跟踪日志文件

2.2 逻辑存储结构

数据库——表空间——段——区——数据块

2.2.1 表空间tablespace

select * from dba_tablespaces;

系统自动创建6个表空间:

system:系统表空间,用于存储系统的数据字典、系统的管理信息和用户数据表等。

sysaux:辅助系统表空间,用于减少系统表空间的负荷,提高系统的作业效率。

undotbs1:撤销表空间,用于在自动撤销管理方式下存储撤销信息。

temp:临时表空间,用于存储临时数据,如存储排序时产生的临时数据。

users:用户表空间,用于存放永久性用户对象和私有信息。

example:实例表空间,用于存放实例数据库的模式对象信息等。

2.2.2 段segment

一个段只属于一个特定的数据库对象。

数据段:用于存储表中的数据。

索引段:用于存储表中的所有索引信息。

临时段:用于存储临时数据。

LOB段:用于存储表中的大型数据对象,CLOB和BLOB。

回退段:用于存储用户数据被修改之前的值。

2.2.3 区extent

磁盘空间分配的最小单位,由一个或多个数据块组成。

2.2.4 块block

管理存储空间的最基本单位,最小的逻辑存储单位。

结构:块头部——表目录——行目录——空闲空间——行空间

块头部:包含数据块中一般的属性信息,如数据块的物理地址、所属段的类型等。

表目录:表的信息

行目录:用来存储数据块中有效的行信息

空闲空间:还未使用的存储空间

行空间:数据存储在行空间中,已使用的存储空间

2.3 oracle数据库的实例结构

oracle进程结构——oracle内存结构

2.3.1 oracle进程结构

DBWn进程——LGWR进程——SMON进程——PMON进程——ARCn进程——RECO进程

LCKn进程——Dnnn进程——SNPn进程

2.3.2 oracle内存结构

SGA——PGA——排序区——大型池——java池

2.4 数据字典

oracle数据字典主要由user视图、all视图、dba视图、v$视图和GV$视图组成。

2.4.1 基本数据字典

select * from dba_tables;

select *from dba_tab_columns;

select *from dba_views;

select *from dba_synonyms;

select *from dba_sequences;

select *from dba_constraints;

select *from dba_indexes;

select  *from dba_ind_columns;

select *from dba_triggers;

select *from dba_sources;

select *from dba_segments;

select *from dba_extents;

select *from dba_objects;

select *from cat;

select *from tab;

select * from dict;

2.4.2 与数据库组件相关的数据字典

数据库:

select * from v$datafile;

表空间:

select * from dba_tablespaces;

select * from dba_free_space;

控制文件:

select * from v$controlfile;

select * from v$controlfile_record_section;

select * from v$parameter;

数据文件:

select * from dba_data_files;

select * from v$filestat;

select  * from v$datafile_header;

段:

select * from dba_segments;

区:

select * from dba_extents;

归档:

select * from v$archived_log;

select *from v$archive_dest;

实例:

select * from v$instance;

select *from v$system_paramter;

内存结构:

select * from v$sga;

select * from v$sgastat;

select * from db_object_cache;

select * from v$sql;

select * from v$sqltext;

select * from v$sqlarea;

后台进程:

select * from v$bgprocess;

select * form v$session;

2.4.3 常用动态性能视图

select * from v$fixed_table;--显示当前发行的固定对象的说明

select * from v$instance;

select * from v$latch;

select * from v$librarycache;--显示有关库缓存性能的统计信息

select * from v$rollstat;--显示联机的回滚段的名字

select * from v$rowcache;--显示活动数据字典的统计

select * from v$sga;

select * from v$sgastat;

select * from v$sort_usage;--显示临时段的大小及会话

select * from v$sqlarea;--显示sql区的sql信息

select *from v$sqltext;--显示在sga中属于共享游标的sql语句内容

select * from v$stsstat;--显示基本的实例统计信息

select * from v$system_event;

select * from v$waitstat;--显示块竞争统计数据

2.5 实践案例:查询表中字段的信息

2.6 动手练一练

原文地址:https://www.cnblogs.com/myheart-new/p/11813227.html