1.用户在计算机上运行基于oracle的应用程序,即启动用户进程。
2.在客户机、服务器之间建立建立连接(connect)。
3.在建立连接的基础上为用户建立会话(session),并为该回话创建一个PGA区,存储与该回话相关的信息,在同一个连接中不同的用户有不同的会话。(一个连接可以对应多个会话)
4.服务器启动服务器进程,由该服务器进程负责执行会话的各项任务。
5.用户进程发送SQL语句(如SELECT、UPDATE、COMMIT)等。
6.服务器进程解析、编译、执行SQL语句,并将结果写入数据缓存区同时返回给用户进程。
7.用户进程接收返回的SQL执行结果。
8.在应用程序中显示SQL语句执行结果。
从作用和工作原理上看,可以将oracle总体结构分成三个部分:
1.内存结构:包括SGA、PGA。使用内存最多的是SGA,同时也是影响数据库性能的最大参数。
系统全局区又称SGA (System Global Area)是Oracle Instance的 基本组成部分,在实例启动时分配。是一组包含一个Oracle实例的数据和控制信息的共享内存结构。主要是用于存储数据库信息的内存区,该信息为数据库进 程所共享(PGA不能共享的)。它包含Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。
oracle为每个用户进程创建一个PGA(Program Global Area,程序全局区),用于存储与该用户进程相关的信息(如绑定变量、会话变量等)。
2.进程结构:包括前台进程,后台进程。前台进程是指服务进程,用户进程。前台进程是根据实际需要运行的,并在需要结束是立即结束。后台进程是指在oracle数据库启动后自动启动的几个操作系统进程。
3.存储结构:包括控制文件、数据文件、日志文件等操作系统文件。
oracle数据库例程由SGA(System Global Area)和后台进程组成。