Oracle数据库学习笔记(一)

时间:2022-04-14 23:43:52


Oracle以其跨平台操作系统和硬件平台、稳定性、安全性、性能优越而著称于世。主要包括两个方向:


1).数据库管理员方向,主要学习对Oracle本身进行管理,提升性能,优化数据存储结构;

2).数据库程序员方向,在Oracle基础上对Oracle进行程序开发。


PL/SQL是Oracle公司对关系型数据库的标准语言SQL的过程化语言扩展,特征包括:变量定义、控制结构、自定义的子程序、对象类型。


PL/SQL程序的最基本的组成单元是PL/SQL块,分为:匿名块、命名块。命名块又可分为子程序、包、触发器。

通过使用命名块可以实现模块化编程,并将这些程序编译后保存在Oracle数据库的数据词典中,从而优化应用程序性能。


PL/SQL块的编译过程:每次一个匿名块执行时,代码被发送到服务器上的PL/SQL引擎,在这里PL/SQL块被编译。而命名块只在创建或修改时被编译。

编译过程分为:语法检查(包括检查语法或编译错误)、绑定(编译器为Oracle存储数据的程序变量分配一个存储地址)、伪代码产生(以备下次执行时使用)。

但是,命名块的成功编译并不保证代码将来能被成功执行。


使用PL/SQL的好处:提高应用程序的性能、提供模块化程序的开发能力、具有良好地兼容性、允许定义标识符、提供了程序控制结构、提供了异常处理。


Oracle的体系架构,是指Oracle数据库管理系统的组成部分之间的相互关系,包括内存结构、后台进程、物理与逻辑结构。


Oracle把一系列物理文件,如数据文件、控制文件、联机日志文件、参数文件等物理结构及与之对应的逻辑结构,如表空间、段、区、块的组成的集合,称为数据库。


Oracle内存结构和后台进程被做成数据库的实例,一个实例最多能安装或打开在一个数据库上。一般情况下,一个数据库对应一个实例,在特定情况下,一个数据库可以对应到多个实例。
Oracle内存结构:内存结构分为共享内存区(主要有SGA组成)和非共享内存区(主要由PGA组成)。


SGA又叫系统全局区,包括数据库缓存区、重做日志缓冲区、共享池、其它区域。