ORACLE DB体系结构
。
实例:一组oracle后台进程、线程以及一个共享内存区.
连接:用户进程和实例之间的通信
会话:用户通过用户进程与实例建立的特定连接
参数文件:包含控制文件的位置和名称
分为pfile和spfile
Pfile vi/vim可编辑 init SID.oracle
Spfile 二进制文件 不可编辑 格式为spfile+SID.ora
Pfile和spfile互相之间可以刷新
SQL>show parameter spfile 查参数文件位置
cd $ORACLE_HOME/dbs/ 参数文件位于此处
Cat init.ora 查看许多重要参数
参数文件记录控制文件信息
create pfile from spfile;创建pfile,从spfile刷新过去
create spfile from pfile;创建spfile,从pfile刷新过去
存放数据库的实际数据:数据文件
控制文件:包含联机重做日志文件和数据文件的位置和名称,
当前的日志序号,
备份集的详细信息,
SCN(系统更改号)(只读不可写)。
控制文件一般存两份,两份里面内容完全一样
控制文件最重要
SQL>show parameter control_files 查控制文件位置
select * from v$controlfile;查控制文件信息
Cd /u01/app/oracle/oradata/vdedu/
联机重做日志文件:存放数据改变的记录,记录了数据库所有的更改
里面记录了指明事物开始时的指示器、
事物名、
正在被更新的数据对象、
事物的前影响(更改之前的数据)、
事物的后影响(更改之后的数据)、
指明事物是否完成和何时完成的提交指示器
SQL>select * from v$logfile 查找日志文件
SQL>select file_name from dba_data_files查找数据文件
口令文件orapw+SID 也在$ORACLE_HOME/dbs下
预警日志和跟踪文件
Show parameter user_dump_dest
Ll -lrt显示最近的
逻辑数据库结构:段、区、块
段存在于表空间中
段是区的集合
区是数据块的集合
数据块会映射到磁盘块
ORACLE数据块是最小单位,不能读磁盘块,只能读oracle数据块
多个段可以组成一个表空间
逻辑和物理数据库结构
如何看oracle数据块大小
Show parameter db_block
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_buffers integer 0
db_block_checking string FALSE
db_block_checksum string TYPICAL
db_block_size integer 8192
表空间和数据文件
表空间由一个或多个数据文件组成
数据文件仅属于一个表空间
所以数据文件和段一个级别的
一个数据文件里允许有多个段
一个表一个段 可以放在多个数据文件里(数据文件和段是多对多的关系)
一个表空间可以有多个表
SGA系统全局区
数据库高速缓冲区是磁盘和内存之间的容器,每个查询都是要先访问共享池再到这个容器。数据库高速缓冲区里包含了保持池,回收池和默认池
重做日志缓冲区通过DML操作对数据库所做的更改的必要信息写入联机重做日志文件
共享池库高速缓存是缓存PLSQL的代码,是共享访问用的,提供查询性能
数据字典高速缓存,保存重要的数据字典信息
分配和重用共享池中的内存:服务器进程检查共享池以查看相同语句是否已存在共享SQL区域,服务器进程分配一个代表会话的专用SQL区域
大型池为以下内容提供大型内存分配:共享服务器的会话内存和ORACLE XA接口
I/O服务器进程
OracleDB备份和还原操作
JAVA池存JAVA代码用的
Oracle streams以独占方式使用流池内存来执行以下操作:
—存储缓冲的队列消息
—为oracle streams进程提供内存
数据库缓冲区高速缓存包括:保持缓冲区池db_keep_cache_size(小的数据库对象 频繁访问的),回收缓冲区池db_recycle_cache_size(大的数据库对象,不频繁访问),默认缓冲区池db_cache_size(包含所有未分配给保持缓冲区和回收缓冲区的所有数据和对象)
cat initVDEDU.ora
VDEDU.__db_cache_size=654311424
VDEDU.__java_pool_size=16777216
VDEDU.__large_pool_size=33554432
VDEDU.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
VDEDU.__pga_aggregate_target=671088640
VDEDU.__sga_target=989855744
VDEDU.__shared_io_pool_size=0
VDEDU.__shared_pool_size=251658240
VDEDU.__streams_pool_size=16777216
这些SGA里面各种内容和PGA的大小都写在了参数文件里
Show SGA
show sga
Total System Global Area 1653518336 bytes
Fixed Size 2253784 bytes
Variable Size 956304424 bytes
Database Buffers 687865856 bytes--数据库缓冲区
Redo Buffers 7094272 bytes--重做日志缓冲区
进程结构
用户进程:-当数据库用户或批处理进程连接到oracle db时启动
数据库进程:-服务器进程(PGA):可以连接到oracle实例,它在用户建立会话时启动。后台进程:在启动Oracle实例时启动
DBWn:数据库写进程,将数据库缓冲区高速缓存中经过修改的缓冲区(灰数据缓冲区)写入磁盘的两种方式
在执行其他处理时异步执行
定期执行
LGWR:日志写进程,将重做日志缓冲区写入磁盘上的重做日志文件中
在以下情况执行写操作:
用户进程提交事务处理时
重做日志缓冲区的三分之一已满时
在DBWn进程将经过修改的缓冲区写入磁盘之前
每隔三秒
CKPT:检查点进程,更新所有数据文件头用以记录检查点详细信息
将检查点信息记录在以下位置
控制文件
每个数据文件头
1. 把重做日志缓冲区的内容刷新到联机重做日志文件
2. 把检查点的记录信息写入重做日志文件
3. 把数据库缓冲区高速缓存的内容刷新到磁盘的数据文件
4. 在检查点完成以后,更新数据文件头和控制文件
PMON:进程监视器进程,清除完成后的进程和失败的进程
SMON:系统监视器进程,在实例启动时执行恢复(执行崩溃恢复)并合并区
ARCn归档进程:归档填满的联机重做日志文件,在发生日志切换之后,将重做日志文件复制到指定的存储设备。可以收集事物处理重做数据,并将该数据传输到备用目标位置
RECO恢复器进程:用于分布式数据库配置,自动连接到其他那些与有问题的分布式事物处理有关的数据库,自动解决所有有问题的事物处理,删除对应于有问题的事物处理的所有行
Emca -config dbcontrol db -repos recreate 重启enterprise
启动和停止database control
Emctl start dbconsole
Emctl stop dbconsole
初始化参数:示例
Control_files 一个或多个控制文件名
Db_files 最大数据库文件数
Processes 可以同时连接的最大操作系统用户进程数
Db_block_size 所有表空间使用的标准数据库块大小
Db_cache_size标准块缓冲区高速缓存大小
SGA_TARGET: 所有SGA组件的总大小
MEMORY_TARGET: ORACLE系统范围内可用的内存
PGA_AGGREGATE_TARGET分配给所有服务器进程的PGA内存量
SHARED_POOL_SIZE 共享池大小(字节)
UNDO_MANAGEMENT 要使用的还原空间管理模式
ORACLE DB体系结构的更多相关文章
- Oracle DB 执行表空间时间点恢复
• 列出在执行表空间时间点恢复(TSPITR) 时会发生的操作 • 阐释TSPITR 使用的术语的定义 • 确定适合将TSPITR 用作解决方案的情况 • 确定时间点恢复的正确目标时间 • 确定不能使 ...
- oracle 11g体系结构
1.数据库体系结构 1.1 数据库和实例的关系database server = instance 实例 + database 数据库instance 实例 =内存 memory + 进程 pr ...
- Oracle DB 移动数据
描述移动数据的方式 • 创建和使用目录对象 • 使用SQL*Loader 加载非Oracle DB(或用户文件)中的数据 • 使用外部表并通过与平台无关的文件移动数据 • 说明Oracle 数据泵的 ...
- Oracle物理体系结构
一.ORACLE 物理体系结构 原理结构图 各部分解释: PGA: 私有内存区,仅供当前发起用户使用. 三个作用 用户登录后的session信息会保存在PGA. 执行排序,如果内存不够,oracle会 ...
- Oracle数据库体系结构、启动过程、关闭过程
一.Oracle数据库体系结构体系结构由下面组件组成:1.Oracle服务器(Server):由数据库实例和数据库文件组成,另外在用户建立与服务器的连接时启动服务器进程并分配PGA(程序全局区) (1 ...
- 在silverlight中通过WCF连接ORACLE DB数据库(转)
转自 http://hi.baidu.com/qianlihanse/item/458aa7c8d93d4e0cac092ff4 这不是我的原创,我也是上网学习的~ How to get data f ...
- Oracle DB 存储增强
• 设置Automatic Storage Management (ASM) 快速镜像 再同步 • 使用ASM 首选镜像读取 • 了解可伸缩性和性能增强 • 设置ASM 磁盘组属性 • 使用SYSA ...
- goldengate 12c对oracle DB的改进
1. 现在可使用Oracle Universal Installer,即安装时有图形化界面,同时会自动安装java runtime environment,不过个人认为,还是ZIP安装包方便,解压即用 ...
- Oracle的体系结构
前言 这个章节主要想说的是Oracle的体系结构,这个也是理论强些.还有一些比较理论的知识点(比如表空间啊),就暂时先不写了,下一章节开始进入Oracle的操作阶段,比如表的查询啊.插入以及重点是和S ...
随机推荐
- ORA-03297: 文件包含在请求的 RESIZE 值以外使用的数据
本文中的45,对应 修改数据文件大小 里面的45 1.移动表前先对表空间做整理 alter tablespace data_cis_test coalesce; 2.在dba_extents找到与ID ...
- Pitch detection algorithm(基音搜索算法)PDA相关链接
第一:维基百科 http://en.wikipedia.org/wiki/Pitch_estimation 简要系统介绍了基音估计算法的分类和一些链接,论文 第二:http://ws2.bingham ...
- Linux 常用命令随笔(二)
Linux 常用命令随笔(二) 1.RPM RPM是RedHat Package Manager(RedHat软件包管理工具) 1.1.安装软件包 rpm -ivh ***.rpm 其中i表示安装,v ...
- android 自定义无限循环播放的viewPager。轮播ViewPager。实现循环播放 广告,主题内容,活动,新闻内容时。
前言 实际项目需要一个 播放广告的控件,可能有多个广告图片.每个一段时间更换该图片.简单来说,就是一个 “循环播放图片”的控件. 间隔时间更换图片 一般来说,图片切换时需要有动画效果 需要支持手势,用 ...
- c++类成员函数后边加const是为什么?
时间是让人猝不及防的东西,晴是有风阴时有雨,争不过朝夕,又念着往昔,偷走了青丝却留住一个你 #include <iostream> #include <string> usin ...
- java-信息安全(十三)-数字签名,代码签名【Java证书体系实现】
概述 信息安全基本概念 前置 java-信息安全(十二)-数字签名[Java证书体系实现] 过程 通过工具JarSigner可以完成代码签名. 这里我们对tools.jar做代码签名,命令如下: 进 ...
- Scala学习笔记(四):apply方法说明
当scala中类或者对象有一个主要用途的时候,apply方法就是一个很好地语法糖.请看下面一个简单的例子: class Foo(foo: String) {} object Foo { def app ...
- [1]朝花夕拾-JAVA类的执行顺序
最近在温习java的基础,刷题刷到java的执行顺序,很汗颜,答案回答错了! 题目类似如下: package com.phpdragon.study.base; public class ExecOr ...
- CentOS 6.7 下 Squid 代理服务器 的 安装与配置
GFW 封锁了 HTTP/Socks5 代理,HTTP 代理是关键词过滤,Socks5 代理则是封锁协议.不过某些特殊的低端口并没有这么处理,已知的有 21,25. 20端口已经被封杀,21端口目前会 ...
- 【netcore基础】wwwroot下静态资源文件访问权限控制
本文参考如下博问 https://q.cnblogs.com/q/107836 业务要求 上传的资源文件(.mp3 .mp4等)只有购买了之后才能有权限访问,所以对上传的资源文件目录进行访问权限控制 ...