Oracle 数据库架构

查看数据库在linux系统的安装目录路径情况:

[root@localhost ~]# cd /u01/app/oracle/oradata/orcl/
[root@localhost orcl]# ls
control01.ctl datafilebig_1.dfb redo04.log tbsp_1.dbf tp1.dbf undotbs01.dbf
datafile1.dbf example01.dbf redo4.log temp_01.dbf tp2.dbf undotbs_1.dbf
datafile3.dbf redo01.log sysaux01.dbf temp_1.dbf ts1.dbf undotbs_add.dbf
datafile4.dbf redo02.log system01.dbf temp_2.dbf ts2.dbf users01.dbf
datafile5.dbf redo03.log tbs_example .dbf temp.dbf ts3.dbf
[root@localhost orcl]# pwd
/u01/app/oracle/oradata/orcl
[root@localhost orcl]#

注:*.log 为日志文件  *.dbf 为数据文件 *.ctl 为控制文件

SYS@orcl> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/orcl/system01.dbf
/u01/app/oracle/oradata/orcl/sysaux01.dbf
/u01/app/oracle/oradata/orcl/undotbs01.dbf
/u01/app/oracle/oradata/orcl/users01.dbf
/u01/app/oracle/oradata/orcl/example01.dbf
/u01/app/oracle/oradata/orcl/datafile1.dbf
/u01/app/oracle/oradata/orcl/ts1.dbf
/u01/app/oracle/oradata/orcl/datafile3.dbf
/u01/app/oracle/oradata/orcl/datafile4.dbf
/u01/app/oracle/oradata/orcl/datafile5.dbf
/u01/app/oracle/oradata/orcl/datafilebig_1.dfb NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/orcl/ts2.dbf
/u01/app/oracle/oradata/orcl/ts3.dbf
/u01/app/oracle/oradata/orcl/tbsp_1.dbf 14 rows selected. SYS@orcl> select name from v$controlfile; NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/orcl/control01.ctl
/u01/app/oracle/fast_recovery_area/orcl/control02.ctl SYS@orcl> select member from v$logfile; MEMBER
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/orcl/redo03.log
/u01/app/oracle/oradata/orcl/redo02.log
/u01/app/oracle/oradata/orcl/redo01.log
/home/oracle/oracle_system_files_back/logfile_bak/logfile_bak_20180228/redo20180
228.log /home/oracle/oracle_system_files_back/logfile_bak/logfile_bak_20180228/redo20180
228_1.log /home/oracle/oracle_system_files_back/logfile_bak/logfile_bak_20180228/redo04.lo
g MEMBER
-------------------------------------------------------------------------------- 6 rows selected. SYS@orcl>

1:数据库和实例

  • 数据库

  • 数据库实例

专有服务器模式:


共享服务器模式:


一个数据文件只有1个表空间;1个表空间可以有多个数据文件。数据表等对象的存储都是以逻辑结构方式进行存储的。最终 以物理文件形式存放在磁盘上的。例如创建1个表并指定表空间。


2:数据库存储结构

  • 物理存储结构
  • 数据文件(Data files)

  • 控制文件(Control files)

元数据:数据库物理结构属性信息



  • 在线重做日志文件(Online redo log files)

注:

1:至少要有2个日志文件。目的:是为了日志切换。

2:查看日志文件位置信息:

SYS@orcl>  select member from v$logfile;

MEMBER
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/orcl/redo03.log
/u01/app/oracle/oradata/orcl/redo02.log
/u01/app/oracle/oradata/orcl/redo01.log
/home/oracle/oracle_system_files_back/logfile_bak/logfile_bak_20180228/redo20180
228.log /home/oracle/oracle_system_files_back/logfile_bak/logfile_bak_20180228/redo20180
228_1.log /home/oracle/oracle_system_files_back/logfile_bak/logfile_bak_20180228/redo04.lo
g MEMBER
-------------------------------------------------------------------------------- 6 rows selected.
  • 逻辑存储结构

  • 数据块(Data blocks)

注:

1:数据块是数据库存放数据的最小单位。

2:数据信息都是以数据块形式存放在数据文件中的。




  • 扩展区(Extents)

注:

1:区的分配是可以不连续的。

2:区的分配是可以存放在不同的数据文件当中的。


  • 段(Segments)

注:

1:

  • 表空间(Tablespaces)

注:

1:



3:数据库实例结构

注:

1:

  • Oracle 数据库进程

  • 客户端进程(Client processes)

注:

1:

  • 后台进程(Background processes)

注:

1:

  • 服务端进程(Server processes)

注:

1: 服务器进程如同餐厅服务员的角色。后台进程如餐厅的厨师角色 前台进程如同餐厅客户。


  • 实例内存结构
  • 系统全局区(System Global Area(SGA) )

  • 程序全局区(Program Global Area(PGA) )

注:

1: 当有1个客户端进程连接到数据库的时候,服务器端会分配一个服务器进程和一个PGA内存区。

2:后台进程启动的时候,也会分配一个PGA内存区

——————————————————————————————————————————————————————————————

Oracle 数据库架构的更多相关文章

  1. OCA读书笔记(1) - 浏览Oracle数据库架构

    Objectives: List the major architectural components of Oracle DatabaseExplain the memory structuresD ...

  2. oracle数据库架构

    3.1 Client/Server Oracle 采取的是 Client/Server 架构. oracle 服务端分为两部分: Instance 实例 Database 数据库 实例, 又称为数据库 ...

  3. Linux服务器下对Oracle数据库expdp(导出)和impdp(导入)

    紧接上篇文章,Oracle数据库架构已经创建完成,我的需求是:将老服务器上的数据库迁移到新的数据库上. 这就用到impdp(导入)操作. 要想实现对新数据库的impdp(导入)工作, 首先需要从老的数 ...

  4. 关于Oracle数据库故障诊断基础架构

    本节包含有关Oracle数据库故障诊断基础结构的背景信息.它包含以下主题: 故障诊断基础架构概述 关于事件和问题 故障诊断基础设施组件 自动诊断信息库的结构,内容和位置 故障诊断基础架构概述 故障诊断 ...

  5. Oracle数据库的文件以及Oracle体系架构

    第一部分.Oracle数据库的文件 1.参数文件:控制实例的行为的参数的集合 参数文件的作用 设定数据库的限制 设置用户或者进程的限制 设定数据库资源的限制 调整系统的性能 主要的参数文件 SGA_T ...

  6. Oracle 数据库知识汇总篇

    Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...

  7. 将Oracle数据库中的数据写入Excel

    将Oracle数据库中的数据写入Excel 1.准备工作 Oracle数据库"TBYZB_FIELD_PRESSURE"表中数据如图: Excel模板(201512.xls): 2 ...

  8. Oracle数据库基础知识

    oracle数据库plsql developer   目录(?)[-] 一     SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外 ...

  9. ORACLE数据库SQL语句的执行过程

    SQL语句在数据库中处理过程是怎样的呢?执行顺序呢?在回答这个问题前,我们先来回顾一下:在ORACLE数据库系统架构下,SQL语句由用户进程产生,然后传到相对应的服务端进程,之后由服务器进程执行该SQ ...

随机推荐

  1. Spring Boot 起步

    ……………………………………………………………………………………………………………… [应用配置]application.yml [port][context-path][datasource][jp ...

  2. JS算法练习四

    JS算法练习 1.将使用空格分隔单词使用驼峰命名连接起来: var str="HELLO world welcome to my hometown"; /*--先输入一个有空格分隔 ...

  3. (13)UniquePathIII

    一.问题描述 给定一个二维数组. 数组只有一个元素是1,是起点 数组只有一个元素是2,是终点 数组中的0是必须经过的地方 数组中的-1是障碍不可通过 从起始点到终点一共有多少路径? 二.思路 DFS ...

  4. 2.4 if-else

    if-else 想一想:在使用if的时候,它只能做到满足条件时要做的事情.那万一需要在不满足条件的时候,做某些事,该怎么办呢? 答:使用 if-else <1>if-else的使用格式 i ...

  5. A - 签到题

    给定一个长度为N的数组A=[A1, A2, ... AN],已知其中每个元素Ai的值都只可能是1, 2或者3. 请求出有多少下标三元组(i, j, k)满足1 ≤ i < j < k ≤ ...

  6. python之import模块及包的调用

    模块概念 在Python中,一个.py文件就称之为一个模块(Module).使用模块组织代码,最大的好处是大大提高了代码的可维护性 模块一共三种:python标准库.第三方模块.应用程序自定义模块. ...

  7. python之实现循环查看指定路径下的所有文件---os.walk

    循环查看指定路径下的所有文件.文件夹,包含隐藏文件注:“.filename” 以点开头的是隐藏文件 import os for cur_path,cur_dirs,cur_files in os.wa ...

  8. 调试 - Visual Studio调试

    Visual Studio - 调试 异常处理机制 windows预定义了一系列的异常错误码,每种程序异常都有一个对应的错误码,windows系统将这些类似键值对关系的数据存储在异常处理表中(称为SE ...

  9. POJ 3253 Fence Repair (贪心)

    题意:将一块木板切成N块,长度分别为:a1,a2,……an,每次切割木板的开销为当前木板的长度.求出按照要求将木板切割完毕后的最小开销. 思路:比较奇特的贪心 每次切割都会将当前木板一分为二,可以按切 ...

  10. python,小练习(计算两点之间直线长度)

    #首先引入数学函数 import math #创建一个点的类 class Point(): #初始化点的坐标(x,y) def __init__(self,x=0,y=0): self.x = x s ...