01_Oracle Architectural

自己是一个Oracle新手, 刚通过OCP的认证, 现在跟着播布客的小布老师视频准备重新过一遍Oracle这里分享看视频时候的笔记, 以后好温习用, 是新手所以难免会有大把大把的错误, 请大家不要见怪 注:一些概念性的是直接引用的联机文档

Oracle的体系架构可以分成两个部分: instance & database
instance: SGA + PROCESS 通俗点说就是instance是由一个SGA 和 一些进程组成的 甚至可以理解成访问database的中介(通过各种process来调用里面的文件)

database: control file + redo log + data file(最主要就是这三类) 这里需要注意的是parameter file. password file 和 archive log file是不在database中的.
         parameter file 包括了开启数据库实例需要的大多数参数, 这个是独立于数据库之外的, 也就是是这个是先决条件
           password file   The user is granted the SYSDBA or SYSOPER system privileges and the database uses  password files to authenticate database administrators over the network.
                   也就是说password file是用来存储sysdba 或者是 sysoper用户的密码的, 只要你的os用户不属于dba用户组的话这时候就需要通过这个进行认证从而登陆sysdba或者是sysoper
         archive log files:  要能独立在数据库进行保存以防止数据库发生数据丢失等问题的时候及时的进行恢复

connection & session
拿打电话举例(user process 打电话给background process, server process 相当于中转站):
connection: user process server process A拨通号码, connection是A到中转站的电话线, 一旦拨通不知道中转站是否转给B, 后者没转(由于部分原因), 可以一直挂着, 但是时间到了强行关断
session: server process background process 这个相当于开始通话了, 知道一个人挂断为止要不然一直保持通信状态
process在后文中介绍

SGA & PGA
SGA(系统全局区): 整个instance只有一个, Oracle主要消耗内存的地方
特点: 动态, 连续分配的内存空间    重要参数: sga_max_size    基本单位: granule
share pool: 大部分的SQL, 数据定义
        library cache: 经过编译解析的SQL, pl/sql 加快处理速度 影响性能重要指标          补:处理SQL的过程: 连接->安全检查->parse(解析)->bind(绑定变量)->执行 
        data dictionary cache: 经常被查询, 包含各种information
database buffer cache: 数据可以放在这里,提高提取数据的速度 查询首先在这里查询,没有才去数据库拿
redo log buffer: 记录一些对数据的一些改变
(large pool: i/o rman...., java pool:解析Java)

SQL> select component, granule_size from v$sga_dynamic_components; --可以通过这个来查询一些需要的参数

SQL> desc v$sga_dynamic_components;
 Name   Null?    Type
 ----------------------------------------- -------- ----------------------------
 COMPONENT    VARCHAR2(64)
 CURRENT_SIZE    NUMBER
 MIN_SIZE    NUMBER
 MAX_SIZE    NUMBER
 USER_SPECIFIED_SIZE    NUMBER
 OPER_COUNT    NUMBER
 LAST_OPER_TYPE    VARCHAR2(13)
 LAST_OPER_MODE    VARCHAR2(9)
 LAST_OPER_TIME    DATE
 GRANULE_SIZE    NUMBER

SQL> show sga   --或者是通过这个来查询
Total System Global Area  577511424 bytes
Fixed Size    1338000 bytes
Variable Size  415237488 bytes
Database Buffers  155189248 bytes
Redo Buffers    5746688 bytes

PGA(程序全局区): 一个后台进程一个

这里也需要介绍一下进程(process)的概念:A processis a mechanism in an operating system that can run a series of steps. Some operating systems use the terms job, task, or thread. For the purpose of this discussion, a thread is equivalent to a process.

instance中的process大致可以分为三类: Client, background, server三类
client: 通过一些应用程序或者是Oracle工具来产生的一些进程 这里可以将client理解成一个用户(组)就是向访问数据库的用户(组).例: 客户
server: 接受client的一些信息同时会接受后台然后进行反馈, 相当于client和background的中间人.例: 客户经理
background: 对客户的一些请求通过并行io同时增加并发度提高速度将项目提交给客户经理. 主要是为了实现客户的一些需求.例: 技术人员

background process : PMON, SMON, DBWR, LGWR, CKPT, OTHERS
DBWn: 缓冲区(database buffer cache)数据写入数据库(datafile), 这里的n主要是增加并行度, 一个在占用的时候可以同时多个进行写入 要在ckpt之前写入 清除脏数据块
        脏数据块: 存放在内存中脏数据块中的原始数据已被修改,而修改后的数 据还未写入数据库中。(引自http://blog.sina.com.cn/s/blog_607cba070100wcrr.html)
PMON: 监控其他进程, 是否正常工作 总工头, 如果没有工作了就将占用的空间释放然后清除掉(主要功能)
CKPT: update datafile 和 control file的数据头, 从而让DBWn将数据块写入硬盘
LGWR: redo log cache 写入数据库(redo log files), 在DBWn之前进行, 在以下条件下回进行提交:1.commit 2.log switch 3.距离上一次间隔3s 4.redo log buffer 超过1/3满
            http://blog.csdn.net/zhiyuzhe/article/details/8103824       --这里详细的介绍了检查点,事物和SCN的关系请仔细读.
            http://docs.oracle.com/cd/E11882_01/server.112/e40540/process.htm#BABJEHBC        --联机文档
SMON: 进行一些实例恢复, 事物恢复(主要是那些在实例恢复时被跳过事物, 由于该事物所在的表空间是offline或者是只读状态), 清除临时段(错误分配或者分配失败的时候), 重新分配extents

这个是在实例没启动的时候, Linux下的进程情况


启动后:(这个是11gr2的环境)


关于Oracle启动的相关顺序: 可以参考052中的这个题目
7. You have issued a SHUTDOWN ABORT command to bring down your database instance. Consider the steps that will be performed later when you open the database:
1: SGA is allocated.
2: Control file is read.
3: Redo log files are read.
4: Instance recovery is started.
5: Background processes are started. 
6: Data files are checked for consistency. 
7: Server parameter file or the initialization parameter file is read. Which option has the correct order in which these steps occur?
A.7, 1, 5, 2, 3, 6, 4
B.1, 2, 3,7, 5, 6, 4
.7, 1, 4, 5, 2, 3, 6
D.1, 7, 5, 4, 2, 3, 6
Answer: A 

错误可能很多请大家不要见怪

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29773696/viewspace-1308346/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29773696/viewspace-1308346/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值