oracle数据库的设计思路:
http://www.oracletutorial.com/getting-started/what-is-oracle-database/
oracle数据是个object-relational database management system
Oracle RDBMS
multi-model database
对比mysql
mysql是个 relational database management system
RDBMS
一个oracle database server 包含一个database和至少一个database instance
database和database instance紧密相连,
数据库和实例紧密相连,因此术语Oracle数据库通常用于指代实例和数据库。
oracle server架构:
![4165335-11db45f5975f4f55.png](https://i-blog.csdnimg.cn/blog_migrate/d0bfc720d47f32dc1212f03cf7a3c7b6.png)
在这个架构中oracle server包含两个主要部分:
files(oracle databases)合memory(oracle instance)
oracle database:files
Oracle数据库的基本任务之一是存储数据。以下部分简要介绍Oracle数据库的物理和逻辑存储结构。
物理存储结构
物理存储结构是存储数据的简单文件。执行CREATE DATABASE语句以创建新database时,将创建以下文件:
data file :
data file:data files包含实际数据,例如销售订单和客户。
The data of logical database structures such as tables and indexes are
physically stored in the data files.
逻辑数据库结构中的概念: tables和indexes
在物理上也被存在 data files
Control files:
Control files: every Oracle database has a control file that contains
metadata. The metadata describes the physical structure of the database
including database name and locations of data files.
控制文件:每个Oracle数据库都有一个包含元数据的控制文件。元数据描
述数据库的物理结构,包括数据库名称和数据文件的位置。
Online redo log files:
Online redo log files: every Oracle Database has an online redo log that
consists of two or more online redo log files. An online redo log is made
up of redo entries that record all changes made to the data.
联机重做日志文件:每个Oracle数据库都有一个联机重做日志,其中包含
两个或多个联机重做日志文件。联机重做日志由重做条目组成,记录对数
据所做的所有更改。
除了这些文件之外,Oracle数据库还包括其他重要文件,例如参数文件,网络文件,备份文件和用于备份和恢复的归档重做日志文件。
Besides these files, an Oracle database includes other important files such as parameter files, network files, backup files, and archived redo log files for backup and recovery.
逻辑存储结构
Logical Storage Structures
逻辑存储结构
Oracle Database uses logical storage structure for a fine-grained control of disk space usage. The following are logical storage structures in an Oracle Database:
Oracle数据库使用逻辑存储结构来精细控制磁盘空间使用。 以下是Oracle数据库中的逻辑存储结构:
Data blocks: a data block corresponds to a number of bytes on the disk. Oracle stores data in data blocks. Data blocks are also referred to as logical blocks, Oracle blocks or pages.
数据块:数据块对应于磁盘上的字节数。 Oracle将数据存储在数据块中。 数据块也称为逻辑块,Oracle块或页面。
Extents: an extent is a specific number of logically contiguous data blocks used to store the particular type of information.
范围:范围是用于存储特定类型信息的特定数量的逻辑连续数据块。
Segments: a segment is a set of extents allocated for storing user objects, e.g., a table or an index.
段:段是分配用于存储用户对象的一组范围,例如表或索引。
Tablespaces: a database is divided into logical storage units called tablespaces. A tablespace is a logical container for a segment. Each tablespace consists of at least one data file.
表空间:数据库分为称为表空间的逻辑存储单元。 表空间是段的逻辑容器。 每个表空间至少包含一个数据文件。
oracle数据库的对象
objects: e.g., a table or an indexes
表和索引都是对象;
database 被分成的逻辑单元 叫做 表空间,
表空间是段的容器,
段用来存放对象,也就是table和indexes
表空间只是一种逻辑上的划分,
段也是逻辑上的划分,
对象是在逻辑上分配存储单元的的,
所以开发研究的是逻辑操作,
把具体的磁盘存储交给oracle server 来做。
![4165335-9fe6cfacfa629ed3.png](https://i-blog.csdnimg.cn/blog_migrate/f1a773d24cc936ada5870e9cfab38f1b.png)
oracle instance
Oracle instance is an interface between client applications (users) and database. An Oracle instance consists of three main parts: System Global Area (SGA), Program Global Area (PGA), and background processes.
Oracle实例是客户端应用程序(用户)和数据库之间的接口。 Oracle实例由三个主要部分组成:系统全局区域(SGA),程序全局区域(PGA)和后台进程。
The SGA is a shared memory structure allocated when the instance started up and released when it is shut down. The SGA is a group of shared memory structures that contain data and control information for one database instance.
SGA是在实例启动时分配的共享内存结构,在关闭时释放。 SGA是一组共享内存结构,包含一个数据库实例的数据和控制信息。
Different from the SGA, which is available to all processes, PGA is a private memory area allocated to each session when the session started and released when the session ends.
与可用于所有进程的SGA不同,PGA是在会话开始时分配给每个会话的私有内存区域,并在会话结束时释放。