1 oracle数据库分类

1.1 单租户数据库

ORACLE12C之前的oracle数据库都是单租户数据库。单租户数据库是独立和完整的数据库,包括ORACLE的元数据和应用的数据。

1.2 容器数据库(CDB)

容器数据库只包含oracle的元数据,不存储应用数据。包含了一整套数据文件、参数文件、 控制文件、重做日志文件,不依赖于其他对象就可以被实例装载(mount)和打开(open)

1.3 可插拔式数据库(PDB)

可插拔式式数据库只有插在容器数据库上才可以使用。只包含应用的数据,没有oracle元数据。仅仅包含数据文件,没有重做日志文件、控制文件、参数文件等,但它在使用过程中会利用其所插在的CDB上的这些类型的文件。

2 oracle实例

2.1 概念

数据库的内存和一系列数据库后台进程的集合

3 数据库和实例之间的关系

3.1 一个实例只能打开一个单租户数据库,一个单租户数据库也只能被一个实例打开
3.2 一个实例只能打开一个容器数据库,一个容器数据库也只能被一个实例打开
3.3 一个实例只能打开一个容器数据库,多个可插拔式数据库插在一个容器数据库。所以一个实例可以打开多个可插拔式数据库。但是一个可插拔式数据库只能被被一个实例打开

3 oracle连接方式

3.1 专用服务器

使用专用服务器连接时,用户在登录oracle数据库时,数据库会创建专用服务进程服务用户的会话请求。这个专用服务进程在整个用户的登录会话周期内,专门为这个会话服务。所以一个会话对应一个专用服务器进程。

3.2 共享服务器

使用共享服务器连接时,用户在登录oracle数据库时,数据库会使用共享服务进程服务用户的会话请求。用户的请求会放在一个请求队列中,当数据库有空闲的共享服务器进程时,这个共享服务器进程就会处理用户的请求,处理完成后会将处理结果放在响应队列中,当处理结果出列后就返回给用户。所以,一个会话可能有多个共享服务器进程处理请求。

4 oracle启动过程

4.1 nomount阶段

oracle处在nomount的启动阶段时,会根据参数文件的参数启动后台进程和内存分配。本质上就是实例的启动过程

4.2 mount阶段

oracle处在mount的启动阶段时,是从参数文件中找到对应的控制文件的位置,根据控制文件中的数据库文件的位置,验证数据库数据文件是否存在

4.3 open阶段

oracle处在open的启动阶段时,会验证数据文件的数据一致性。如果数据没有问题,则开启数据库。如果数据有问题,会根据redo日志数据恢复数据。

posted on 2024-06-01 11:04  追求完美9196  阅读(99)  评论(0编辑  收藏  举报