OCA

2019-06-17  本文已影响0人  why_not_

单实例体系结构
实例由内存结构和进程组成 构成实例的进程称为后台进程
系统全局区 SGA 实例启动时分配
用户会话由在用户计算机本地的用户进程组成
用户进程与服务器进程的连接一般经由局域网实现
用户进程-服务器进程分离实现了 客户端-服务器的体系结构 用户进程生成SQL,服务器进程执行SQL
服务器进程有时被称为前台进程
与每个服务器进程相关的是一个非共享内存区 PGA 此区是会话专用的
构成数据库的物理结构是数据文件、联机重做日志和控制文件
oracle通过重做日志实现了对变更的捕获。重做日志是对应用于数据的所有变更向量的记录
变更向量是DML数据操作语言 INSERT、UPDATE、DELECT、MERGE 语句所作的更改
用户与用户进程交互 客户
用户进程与服务器进程交互 网络
服务器进程与实例交互 监听
实例与数据库交互

分布式系统体系结构
实时应用集群RAC 多个实例打开一个数据库
流或data guard 多个oracle服务器相互之间传播事务
数据保护 主数据库更新备用数据库
1、确定是否为rac集群的一部分
SQL> select parallel from vinstance; 2、确认数据库是否启用data guard备用数据库 SQL> select protection_level from vdatabase;
3、是否配置了流
SQL> select * from dba_streams_administrator;
4、识别数据库的物理结构
5、识别内存和进程结构
ipcs -m ps -ef|grep ora

内存结构
数据库缓冲区缓存
是用来执行SQL的工作区域
在更新数据时,用户的会话不直接更新磁盘上的数据
包含相关数据的数据块首先复制到数据库缓冲区缓存
数据文件的格式被设置为固定大小的块 表 行和其他数据对象存储在这些块中
如果缓冲区的缓存中存储的块的映像与磁盘上的映像不同,这样的缓冲区称为脏缓冲区
当块第一次复制到其中时,缓冲区是干净缓冲区,当其中的块更新时,缓冲区将变脏。最终脏缓冲区必须写回到数据文件
此时缓冲区变得干净了。
日志缓冲区
小型的临时区域,用于短期存储将写入到磁盘上的重做日志的变更向量
执行DML语句会生成应用于数据的变更向量。有了重做日志数据库可以确保数据永不丢失
会话服务器不将重做记录直接写入重做日志文件,会先写入到内存中的日志缓冲区,后一次写入来自多个事务的一批变更向量
即使日志缓冲区的变更向量也是接近实时的写入磁盘
当会话发出commit语句时,会实时执行日志缓冲区写操作 写操作由日志写入器后台进程LGWR完成
共享池
库缓存
数据字典缓存
SQL查询和pl/sql函数结果缓存
共享池的所有结构是自动管理的
库缓存 按其已分析的格式存储最近执行的代码
分析就是将编程人员编写的代码转换为可执行的代码
通过将代码缓存在共享池,可以在不重新分析的情况下重用,极大提高性能
数据字典缓存
存储最近使用的对象定义:表、索引、用户和其他元数据定义的描述
将其放在SGA的内存中,以便所有会话直接使用,不用在磁盘上重复读取
SQL查询结果缓存
同一个查询将由同一个会话或多个不同会话执行多次。通过创建结果缓存,oracle将此类查询的结果存储在内存中
在下一次发出查询时,服务器可以检索缓存的结果,而不是运行该查询
共享池大小
因该足够大,以便缓存所有频繁执行的代码和频繁访问的对象定义
如果过小,服务器会反复的抢夺其中的空间来分析语句
共享池中的内存按照LRU最近最少使用算法来分配
大池
如果创建了大池,则那些在不创建大池的情况下使用共享池内存池的不同进程将自动使用大池
主要用途是供共享的服务器进程使用
在缺少大池的情况下,这些进程将使用共享池的内存,会导致对共享池的恶性争用

后台进程
在启动实例时启动,在终止实例时终止
在linux上所有oracle进程都是独立的操作系统进程 Windows上整个实例只有一个操作系统进程

逻辑和物理存储结构的关系
物理数据库结构
控制文件
包含指向数据库其余部分的指针 联机重做日志文件和数据文件位置、归档日志文件
联机重做日志文件
按时间顺序存储应用于数据库的一连串的变更向量
数据文件
在数据库创建阶段,至少必须创建两个数据文件
一个SYSTEM表空间 存储数据字典
一个SYSAUX表空间 存储数据字典的辅助数据
一个用于UNDO表空间
数据文件是数据的存储仓库,数据文件大小上不受限制
其他数据库文件
实例参数文件
后台进程据此启动
口令文件
根据存储在数据字典的用户名和口令进行验证
归档重做日志文件
当联机重做日志文件变满时,ARCn进程将日志文件从数据库中复制到归档日志文件中
警报日志和跟踪文件
记录认为重要的事件,例如 启动和关闭
逻辑数据库结构
oracle通过表空间,将逻辑存储从物理存储中抽象出来
表空间在逻辑上是一个或多个段的集合
数据字典
从逻辑上和物理上描述数据库及其内容的元数据
创建数据字典是创建数据库的过程的一部分

实例管理
数据库管理工具
SQL*plus
使用sysdba登陆数据库,身份验证工作委托给操作系统 用户为sysdba组的成员,就允许以sys用户的身份sysdba的权限登陆
$ lsnrctl status

初始化参数文件
查询和设置初始化参数

数据字典和控制文件
数据字典主要是由oracle服务器使用的 通过访问基表来获得诸如用户、用户对象和存储结构
当数据管理员或用户发出DDL或DCL语句时,oracle服务器都要将相关信息记录到数据字典中
数据字典视图
USER_* 有关用户所拥有的对象信息,即用户自己创建的对象的信息
ALL_* 有关用户可以访问的对象的信息,即用户自己创建的对象的信息再加上其他用户创建的对象但该用户有权访问的信息
DBA_* 有关整个数据库中对象的信息

上一篇下一篇

猜你喜欢

热点阅读