论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
软件与程序人生
›
云原生
›
Oracle体系架构
Oracle体系架构
北冰洋以北
论坛元老
|
2024-10-6 04:02:15
|
显示全部楼层
|
阅读模式
楼主
主题
1048
|
帖子
1048
|
积分
3144
目录
1.什么是oracle数据库?
2.什么是oracle实例?
3.存储布局
4.进程布局
5.内存布局
6.管理数据库实例
1.什么是oracle数据库?
——存储在硬盘上的文件
-这些文件可以看作是
物理存储布局
目录:/u01/app/oracle/oradata/orcl下,.ctl .dbf .log文件
2.什么是oracle实例?
——把数据库中的文件读入到内存中,把内存中的镜像叫实例(instance)
以是管理数据库,启动、关闭数据库这些说法禁绝确,应该叫管理数据库实例。因为数据库只是些文件,无法启动、关闭。
数据库:实例可以是1:N----->Oracle RAC(集群)
3.存储布局
物理存储布局:存储在硬盘上的文件
1)数据文件:*.dbf
必须存在的:
①system 系统的数据文件
②sysaux 系统的辅助文件(数据字典、AWR的信息,非常重要,主动工作量资料档案库,性能优化)
③undo 还原数据文件(历史数据),闪回(flashback)
举例:update某项数据,但没有commit,此时更新前的历史数据存在undo里面。输入rollback;可回滚。
④temp 临时数据文件(排序order by,排好序的结果、临时表)
可选的数据文件:
用户数据文件,user01.dbf、example01.dbf
2)日志文件:*.log----->记载的客户端的事务操纵的DML
使用日志组的方式来管理日志文件,每组至少两个成员,写日志以日志组为单位
默认有三个日志组
如果日志都没有丢失(没有覆盖),那就可以做到数据库的完全规复!
Oracle默认是非归档模式(会发生日志覆盖),一样平常来说,生产都是归档模式。
用管理员账号,archive log list查看Database log mode,值为No Archive Mode非归档模式
数据文件和日志文件的关系:
①.sqlplus客户端,执行DML,commit;
②.数据在实例(内存)中(检查点队列,脏数据);
③.将事务写入日志文件(如果日志写入乐成,就算客户端的commit操纵乐成);
④.当发生了检查点时,会以最高优先级唤醒数据库的写进程,来写脏数据;(写好了日志就可以清了)
实例规复:
通过日志,规复丢失数据
什么是检查点?checkpoint
①完全检查点
(1)正常关机
(2)切换日志组
(3)alter system checkpoint
②增量检查点(9i以后)
(1)每隔3s
(2)当日志到达1/3满的时候
3)控制文件:*.ctl------>当成是存储参数设置的文件
存储了数据文件和日志文件的位置
RMAN(recovery manager)备份的元信息
oracle保举:采用多路复用的机制(多存几个),包管控制文件的可用
默认:2个(这两个路径位于两块不同的磁盘上)
4)其它文件。
4.进程布局
1)客户端进程
2)服务器进程(1:1客户端进程,专有服务器模式)
3)LGWR写日志进程
4)CKPT检查点进程
5)DBWn写进程(脏数据->数据库文件)
默认:只有一个写进程,DBW0
ora_dbw0_oral写进程,默认只有一个
原则:写进程个数不超过cpu核数。
ora_lgwr_orcl写日志进程(以日志组为单位,每组2个成员)
ora_ckpt_orcl检查点进程(完全、增量)
ora_smon_orcl系统的监督进程(system monitor),Oracle最焦点的进程
关闭Oracle数据库最快的方式?kill -9 监督进程pid
ora_pmon_orcl是Process monitor。当系统出现错误的时候,负责清理现场
其它进程。
5.内存布局
SGA:System global area
大小:sga_target big integer 0
注:0表示大小由Oracle数据库主动分配
buffer cache缓存数据:数据的高速缓存,大小:db_cache_size 0
1.在buffer cache中查询数据
2.如果有数据,直接返回数据 一次掷中,性能优化师考虑掷中率,buffer cache抱负掷中率?100%,性能优化相关
3.如果没有数据,读取数据文件*.dbf
shard pool共享池
:数据字典、SQL(这个用户执行的语句,也有可能被其他用户执行,以是放到共享池)、执行计划;大小:shard_pool_size 0
log buffer日志缓冲区
:logger_buffer 10588160(就这一个有具体值)
java pool、large pool大池、streaming pool流池
因为SGA中只有log buffer的内存有固定大小,其它没有固定大小,因此从AMM又引入了:ASMM:automatic shared memory management
PGA:Progress global area
大小:pga_aggregate_target big integer 0
注:11g以后提供一个新功能:AMM主动内存管理(automatic memory management):白天晚上内存用量不一样,需要管理:只需要设置一个内存的总大小(memory_target=SGA+n*PGA)即可。
(怎么查看数据库内存大小?)
show parameter memory_target
6.管理数据库实例
怎样启动数据实例?
控制文件----->数据文件和日志文件----->打开数据库
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
北冰洋以北
论坛元老
这个人很懒什么都没写!
楼主热帖
一零零七、Docker快速入门
超融合,变了?
Linux基础篇(6)---》常用命令大全(网络 ...
鸿蒙最新功能及承载设备详解:HarmonyO ...
代码审计(Java)——WebGoat_Authentica ...
作为开发人员,您应该熟悉的 7 个 Java ...
Kubernetes-namespace
如何快速而优雅的解决问题(提问的智慧 ...
kubernetes之Ingress发布Dashboard(二) ...
Unity的AssetPostprocessor之Model之动 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
物联网
快速回复
返回顶部
返回列表