oracle逻辑框架

一 、oracle由实例和数据库组成
1、实例分为内存和进程
1.1 内存分为SGA和PGA
SGA(系统全局区) 共享
Database buffer cache
数据库高速缓冲区,把磁盘内容放到内存来读取
从磁盘读叫物理读,从内存读叫逻辑读
LRU算法——最近最少使用原则
在sqlplus中输入
show parameter cache 查看大小
redo log buffer 日志缓冲区 提升日志写入性能
show parameter log_bu 查看大小
shared pool 共享池 储存sql语句为了提高sql执行速度
共享池里有库缓存区(sql)和数据字典缓存区(字典)
PGA(程序全局区) 独享
1.2进程分为数据库进程和客户端进程
数据库进程包括后台进程和服务器进程
(后台进程DBWR…和服务器进程SERVER)
DBWR 数据文件写进程把高速缓冲区的数据块写到数据文件中
内存数据被改但是没写到磁盘上叫脏块
客户端进程user process
ps -ef|grep ora_ 查看后台进程
查看通过网络的服务器进程
ps -ef|grep LOCAL=NO|grep -v grep
查看通过本地连接的服务器进程
ps -ef|grep LOCAL=YES|grep -v grep
2、数据库有物理结构有逻辑结构
2.1物理结构
有控制文件、日志文件、数据文件
cd /u01/app/oracle/oradata/VDEDU 查看物理结构
ls
.ctl结尾 是控制文件 保存数据库结构信息一般在不同磁盘进行备份,多路复用机制
.log结尾 是日志文件 记录发生的一切信息,日志提前写机制。
日志文件特征:多组多成员,写满切换,循环复写,顺序写入。防止单点故障
复写之前要先归档,生成archive log
.dbf结尾 是数据文件
2.2逻辑结构
最小单元是块block 数据块 2,4,8,16,32k默认是8k
输入 show parameter db_block查看块的大小
多个连续的块构成一个区(extent)
多个区构成一个段(segment)
多个段构成表空间(tablespace)
多个表空间构成数据库(DB)
数据库包含很多用户(schema)
desc dba_extents;查看区的内容
desc dba_segments;查看段的内容
desc dba_tablespaces;查看表空间内容

查看一个表的物理位置
第一步:desc dba_objects
从中找到OBJECT_NAME,OBJECT_TYPE
第二步:select OBJECT_NAME,OBJECT_TYPE from dba_objects where owner=‘HR’
从中找到HR用户的regions这张表
第三步:desc dba_extents
从中找到segment_name,tablespace_name,extent_id,block_id,blocks
第四步:
select segment_name,tablespace_name,extent_id,
block_id,blocks from dba_extents where segment_name=‘REGIONS’;
select owner,segment_name,tablespace_name from dba_segments where owner=‘HR’

猜你喜欢

转载自blog.csdn.net/bigdata_zx/article/details/83547302