Objectives:

List the major architectural components of Oracle Database
Explain the memory structures
Describe the background processes
Correlate the logical and physical storage structures
Describe ASM storage components

三种连接方式

直接登录server
Client(PL/SQL Developer)-->Server
Client-->Middle Tier(WebLogical)-->Server

Connection: User process-->Server process
一次确定的连接:会话(身份权限认证)

进程间通信方式:
共享内存段:(SGA)
信号量
管道

Shared Pool
父游标--SQL语句转换后形成的二进制代码,解析
通过字符集转换

子游标--执行计划

语法语义检查
在数据字典中查询对象是否存在

Database Buffer Cache
select * from emp;
如果内存不存在emp,则需要读取数据文件。
需要读取一行数据,需要将该行所在数据快读入内存。
缓存最近访问过的数据块,供当前所有用户共享,减少I/O。

Redo Log Buffer
保存DML和DDL进行更改所产生的日志,而不是语句本身。

以上三种是必须的。

Large Pool
提供大的内存分配
RMAN备份恢复
并行查询
不是必须的,当没有的时候,使用shared pool.

Java Pool
在oracle中使用java时才用。

Streams Pool
只被流使用,流复制。公安部--人口信息表。分部更改之后同步到总部数据库。

class 2 started
--------------------------------------------
用户进程
数据库进程:
--服务器进程,为用户进程服务
--后台进程,当oracle实例启动时启动
守护进程(应用进程)
--网络监听
--网格基础架构监听

后台进程
--必须的进程(DBWn, CKPT, LGWR, SMON, PMON, RECO)
--可选的进程(ARCn, ASMB, RBAL, Others)

DBWn:
异步写脏数据(增,删,改产生的数据),提交时也不一定写。

LGWR
将redo log buffer写到redo log file
什么时候写?
用户提交
日志缓冲区1/3满
DBWn写脏块之前
每隔3秒钟

CKPT
通知数据库写进程写脏块
记录检查点信息到控制文件和每个文件的文件头
scn: system change number

演示:获取数据库当前scn
select current_scn from v$database;
select scn_to_timestamp() from dual;

SMON
当实例启动时执行恢复(实例恢复)
清除不再使用的临时段,如排序使用过的临时段空间

PMON
当用户进程失败时,执行进程恢复
--清除数据库buffer cache
--释放用户进程使用的资源,使其不成为僵尸进程
监控空闲会话的超时
动态注册数据库服务到监听器

RECO
recover 进程,但数据中不用,主要用户分布式

演示:查看进程以及关闭进程
select status from v$instance;
exit
ps -ef | grep ora
kill -9 进程号

sqlplus / as sysdba;
startup;(重启数据库则进程启动起来)

ARCn:
备份redo log
select group#, status from v$log;
查看日志文件:
select a.group#, a.sequence#, a.status, b.member, a.bytes/1024/1024 MB, a.first_change# from v$log a, v$logfile b where a.group#=b.group#;
select current_scn from v$database;

alter system switch logfile;
归档
执行检查点
select a.group#, a.sequence#, a.status, b.member, a.bytes/1024/1024 MB, a.first_change# from v$log a, v$logfile b where a.group#=b.group#;
最近一次检查点
select checkpoint_change# from v$database;
看检查点位于日志文件对应的区间。
实例恢复一般使用active和current状态的日志文件,inactive一般用不上。

查看SGA大小:
[oracle@ ~]ipcs -m
当前通信机制,-m共享内存段

查看SGA各部分内存大小
desc v$memory_dynamic_components;
select component, current_size from v$memory_dynamic_components;

desc v$process;
select pname, background from v$process;
background 为1的是后台进程。

数据库存储结构
控制文件
select name from v$controlfile;
alter database backup controlfile to trace as '/u01/app/oracle/control.trace' reuse;
vi control.trace

数据文件
select name from v$datafile;

日志文件
select member from v$logfile;

参数文件
show parameter spfile;
cd $ORACLE_HOME/dbs
echo $ORACLE_HOME
改错参数之后
create pfile from spfile(二进制文件);
vi initorcl.ora(文本文件)
vi init.ora
在initoracl.ora上进行修改,然后进入数据库运行如下命令
create spfile from pfile;

口令文件
select * from v$pwfile_users;

grant sysdba to scott;
select * from v$pwfile_users;
revoke sysdba from scott;

告警和跟踪文件
11g之前 adump, bdump, cdump, udump
11g:
cd $ORACLE_BASE
cd diag/rdbms/orcl/orcl
/u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log
/u01/app/oracle/diag/rdbms/orcl/orcl/alert/log.xml

逻辑和物理数据库结构
表空间:
select name from v$tablespace;

数据文件
desc dba_data_files;
select tablespace_name, file_name from dba_data_files;

占用空间的数据库对象叫做数据段。
select distinct object_type from dba_objects;
select distinct segment_type from dba_segments;

conn scott/tiger;
select segment_name, segment_type from user_segments;
11g延迟分配空间。

create table t(id number);
select * from t;

查看段
select segment_name, segment_type from user_segments;
insert into t values (1);
select segment_name, segment_type from user_segments;

数据块
数据库分配数据块按照区(Extent)来进行分配。多个数据块打包成为段进行分配。
演示
drop table e purge;
drop table t purge;

create table t as select * from emp;
desc dba_extents;
select segment_name, file_id, extent_id, blocks from dba_extents where segment_name='T' and owner='SCOTT';

select tablespace_name, file_name from dba_data_files where file_id=4;

不停插入数据
insert into t select * from t;

select segment_name, file_id, extent_id, blocks from dba_extents where segment_name='T' and owner='SCOTT';
show parameter db_block_size;
继续插入:
块的大小会调整,8-128-896-1024-8192.区的自动管理

OCA读书笔记(1) - 浏览Oracle数据库架构的更多相关文章

  1. OCA读书笔记(11) - 实现Oracle数据库审计

    11 Implementing Oracle Database Auditing 描述DBA对于安全和审计的职责使能标准的数据库审计安全审计选项查看审计信息维护审计路径 最小权限原则只在计算机上安装所 ...

  2. OCA读书笔记(2) - 安装Oracle软件

    Objectives: •Describe your role as a database administrator (DBA) and explain typical tasks and tool ...

  3. OCA读书笔记(6) - 配置Oracle网络环境

    6.Configuring the Oracle Network Environment su - grid装grid时自动创建了监听netca--创建新的监听 vi $ORACLE_HOME/net ...

  4. Oracle 数据库架构

    Oracle 数据库架构 查看数据库在linux系统的安装目录路径情况: [root@localhost ~]# cd /u01/app/oracle/oradata/orcl/ [root@loca ...

  5. OCA读书笔记(7) - 管理数据库存储结构

    7.Managing Database Storage Structures 逻辑结构 数据库的存储结构有物理结构和逻辑结构组成的 物理结构:物理上,oracle是由一些操作系统文件组成的 SQL&g ...

  6. OCA读书笔记(18) - 使用Support工具

    调查和解决问题 问题:数据库中的任一严重的错误定义为一个问题,一般来说,这些错误包括大家熟悉的ORA-600错误和ORA-04031(共享池超出)错误,涉及数据库问题的所有元数据都存储在ADR中,每个 ...

  7. 【学习笔记】Y2-1-1 Oracle数据库基础

    Oracle 简介关系型(二维表)数据库 用来存储海量数据在大数据量的并发检索的情况下,性能要高于其他同类数据库产品一般运行环境是Linux和UnixOracle版本中的I(Internet) G(G ...

  8. OCA读书笔记(9) - 管理数据同步

    9.Managing Data Concurrency 描述锁机制以及oracle如何管理数据一致性监控和解决锁冲突 管理数据的并发--管理锁数据的不一致:脏读更改丢失幻影读 脏读:数据是指事务T2修 ...

  9. OCA读书笔记(3) - 使用DBCA创建Oracle数据库

    Objectives: •Create a database by using the Database Configuration Assistant (DBCA) •Generate databa ...

随机推荐

  1. (Problem 13)Large sum

    Work out the first ten digits of the sum of the following one-hundred 50-digit numbers. 371072875339 ...

  2. springmvc中使用response的out.print问题

    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws E ...

  3. javacoo/CowSwing 丑牛迷你采集器

    丑牛迷你采集器是一款基于Java Swing开发的专业的网络数据采集/信息挖掘处理软件,通过灵活的配置,可以很轻松迅速地从 网页上抓取结构化的文本.图片.文件等资源信息,可编辑筛选处理后选择发布到网站 ...

  4. Hdu 1079 Calendar Game

    Problem地址:http://acm.hdu.edu.cn/showproblem.php?pid=1079 一道博弈题.刚开始想用判断P点和N点的方法来打表,但无奈不知是哪里出错,总是WA.于是 ...

  5. CMake使用之一

    概述 CMake是一个比make更高级的编译配置工具,它可以根据不同平台.不同的编译器,生成相应的Makefile或者vcproj项目. 通过编写CMakeLists.txt,可以控制生成的Makef ...

  6. 11-UIKit(Storyboard、View的基本概念、绘制图形、UIBezierPath)

    目录: 1. Storyboard 2. Views 3. View的基本概念介绍 4. 绘制图形 5. UIBezierPath 回到顶部 1. Storyboard 1.1 静态表视图 1)Sec ...

  7. RESTful最佳实践之基于 jersey 的增删改查

    jersey-rest-demo 增删改查 项目地址:https://github.com/CoderDream/jersey-rest-demo 源代码:http://download.csdn.n ...

  8. [TroubleShootin]The backup set holds a backup of a database other than the existing 'xxdb' database.

     One: he backup set holds a backup of a database other than the existing 'xxdb' database Sometime ...

  9. android ADT 设置编辑字体

    新配置的android ADT 设置编辑字体的时候  可能里面没有我们想要的Courier new 这种舒服的字体 那么就在 字体选项窗口的  做下端 有个显示更多字体的链接  然后就显示微软的所有字 ...

  10. SQL Server 存储过程、触发器、游标

    存储过程 1.存储过程是事先编好的.存储在数据库中的程序,这些程序用来完成对数据库的指定操作. 2.系统存储过程: SQL Server本身提供了一些存储过程,用于管理有关数据库和用户的信息. 用户存 ...