Oracle 数据库架构

时间:2023-03-10 01:37:41
Oracle 数据库架构

Oracle 数据库架构

Oracle 数据库架构

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:数据库和实例

Oracle 数据库架构

  • 数据库

Oracle 数据库架构

  • 数据库实例

Oracle 数据库架构

Oracle 数据库架构

Oracle 数据库架构

专有服务器模式:


共享服务器模式:


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

Oracle 数据库架构

2:数据库存储结构

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

Oracle 数据库架构

  • 控制文件(Control files)

Oracle 数据库架构

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



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

注:

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

2:查看日志文件位置信息:Oracle 数据库架构

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.
  • 逻辑存储结构

    Oracle 数据库架构

  • 数据块(Data blocks)

Oracle 数据库架构

注:

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

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




  • 扩展区(Extents)

Oracle 数据库架构

注:

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

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


  • 段(Segments)

Oracle 数据库架构

注:

1:

  • 表空间(Tablespaces)

Oracle 数据库架构

注:

1:



3:数据库实例结构

Oracle 数据库架构

注:

1:

  • Oracle 数据库进程

Oracle 数据库架构

  • 客户端进程(Client processes)

Oracle 数据库架构

注:

1:

  • 后台进程(Background processes)

Oracle 数据库架构

注:

1:

  • 服务端进程(Server processes)

Oracle 数据库架构

注:

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


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

Oracle 数据库架构

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

Oracle 数据库架构

注:

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

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

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