zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

Oracle 数据库架构

2023-09-27 14:21:40 时间



Oracle 数据库架构

image


image



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


image

  • 数据库

    image

  • 数据库实例

image

image

image

专有服务器模式:


共享服务器模式:


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

image

2:数据库存储结构

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

 image



  • 控制文件(Control files)

image

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



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


注:

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

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

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.




  • 逻辑存储结构

    image

  • 数据块(Data blocks)

image

注:

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

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




  • 扩展区(Extents)

image

注:

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

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


  • 段(Segments)

image

注:

1:

  • 表空间(Tablespaces)

image

注:

1:



3:数据库实例结构

image

注:

1:

  • Oracle 数据库进程

image

  • 客户端进程(Client processes)

image

注:

1:

  • 后台进程(Background processes)

image

注:

1:

  • 服务端进程(Server processes)

image

注:

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


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

image

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

image

注:

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

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







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