二、Oracle数据库体系架构之:存储结构
Oracle的存储结构分为:物理存储结构和逻辑存储结构
物理i/o和逻辑i/o---------1:1000
物理i/o:从数据缓冲区找不到所需要的数据,就要从硬盘里面读取。
逻辑i/o:从数据缓冲区能找到所需要的数据,
理论上讲一个数据库性能是否良好,这个逻辑i/o应该占95%以上
1、物理存储结构
注:指硬盘上存在的文件
到你安装oracle目录下,进行查看文件
分为:*.dbf 数据文件
*.log 日志文件
*.ctl 控制文件
文件相当于数据库DB,比如说你表中的数据最终会存储到这样的文件当中,你要操作这些表执行sql语句的时候不能直接操作这些文件,需要把这些文件读入存储到内存当中,数据库文件在内存中的镜像就是实例。
(1)*.dbf 数据文件
数据分为必须存在和可选两项
(*)必须存在 的
system 系统的数据文件
Sysaux 系统的辅助数据文件(数据字典、AWR的信息-非常重要性能优化的时候用)
Undo 还原数据文件(历史数据) 非常重要,功能:—闪回
什么是闪回?
update(更新)语句之后没有conmmit(提交) rollback(回滚)之前的数据
Temp 临时数据文件(排序、临时表) order by
(*)可选的数据文件:用户数据文件、
Users01.dbf
Example01.dbf
(2).log 日志文件
记录的客户端的事务才做的DML
(*)推荐: 使用日志组的方式来管理日志文件
每组当中至少由两个成员
写日志以日志组为单位
默认有三个日志组
(*)默认: Oracle是非归档模式(会发生日志覆盖)
一般来说,生产数据库都是归档模式
非归档模式
同时写一号日志组中的两个成员,一号写完写二号日志组中的两个成员,接下写三号,假如三号写完了,就会倒回来写一号,产生日志的覆盖(可能就不能做到数据库的完全恢复)
执行命令:archive log list
看下是否满足日志文件的要求
SQL> DESC v$log
是不不满足要求的,要求两个成员,他只有一个成员
什么是归档模式?
归档模式:先把1号拷贝一份,再来覆盖。
数据文件和日志文件的关系
(3).ctl控制文件
注:当成是存储参数设置的文件
(*)存储了数据文件和日志文件的位置
(*)RMAN(recovery manager)备份的元信息
(*)Oracle推荐:采用多路复用(多存几分)机制,保证控制文件的可用。默认是2个。
SQL> desc v$controfile
SQL> rman target /
SQL> backup database;
SQL> desc v$controfile
SQL> select name from v$controfile
2、逻辑存储结构
注:通过逻辑存储结构,管理物理结构存储
分为
1、数据库
2、表空间
3、段
4、区
5、数据块;默认8k
从逻辑上来看,
数据库是由一个或者多个表空间组成。
一个表空间(tablespace)由一组段组成
一个段(segment)由一个组区组成
一个区(extent)由一批数据库块组成
一个数据库块(block)对应一个或多个物理块
SQL> show parameter writer
SQL> show parameter db_block_size
SQL> show parameter writer