Oracle的体系结构
岁月如梦 Lv4

oracle 体系结构

1
2
3
4
5
参数文件 spfile
控制文件 control file
数据文件 data file
日志文件 redo log
归档文件 archive log

oracle启动的时候会先读取spfile信息,根据spfile参数文件生成实例=申请内存 + 启动一堆进程,且记录了控制文件control file的路径
control file控制文件中记录了datafile文件路径
data file 存储了相关的表的数据信息
redo log记录了datafile数据的变化过程

关于参数文件 spfile

sql命令中输入以下命令,可查看到spfile的文件路径

1
show parameter spfile;

image

关于控制文件 control file

sql命令中输入以下命令,可查看到control file的文件路径

1
select * from v$controlfile;

linux命令中也可以看到,有两个控制文件control01.ctl和control02.ctl

strings control01.ctl

image

关于数据文件 data file,

sql命令中输入以下命令,可查看到data file的文件路径

1
select * from dba_data_files;

关于日志文件 redo

sql命令中输入以下命令,可查看到redo的文件路径和状态

1
select * from v$logfile;

关于实例名称

1
2
show parameter instance
show parameter instance_name

image

数据库启动后,查看ipcs -m可以看到给oracle分配的共享内存

image

查看oracle的进程

ps -ef | grep ora_

数据文件

  • 数据文件会格式化为一个一个数据块 block (2k,4k,8k,16k,32k)

block 默认8k

内存的组成
shared pool 减少硬解析
buffer cache 减少物理读
redo log buffer 缓存DML对数据块所做的操作

  • large pool
    stream pool
    java pool

关于shared pool

1
select * from v$sga_dynamic_components;

image

shared pool是干啥的?

作用是划分sql
比如v$sql视图中可以看到所有执行的sql语句

查看sql的执行计划

1
2
3
select * from table(
dbms_xplan.display_cursor('这个是v视图中的sql_id',0)
);
创建和查看索引
1
2
create index 索引名称 on 表名(列名);
select * from all_indexes where table_name='表名';

体系结构-进程结构

server process

 请作者喝咖啡
 评论
评论插件加载失败
正在加载评论插件