第一章oreacle数据库基本概念
- Oracle发展史
1977年6月 SDL—-软件开发实验室
1979年 SDL更名为RSI—-关系型有限公司
1979年 发布第一个商用SQL关系型数据库管理系统(不稳定,缺少很多重要功能)
1983年3月 Oracle 第3版 (具有了“可移植性”的功能)
1984年10月 Oracle 第4版 (稳定性得到增强)
1985年 Oracle 第5版 (可以在C/S模式下运行的RDBMS产品)
1988年 Oracle 第6版 (BUG众多、不稳定、差点破产)
1992年6月 Oracle 第7版 (真正出色的传品,取得重大成功,引入一种新的优化器)
1997年6月 Oracle 第8版 (为支持INRERNET,网络计算机奠定了基础)
1998年9月 Oracle 第8i版 (为数据库用户提供了全方位的JAVA支持)
2001年6月 Oracle 第9i版(最重要应用集群服务器)
2003年9月 Oracle 第10g (加入了网格计算的功能)
2007年7月 Oracle 第11g (在性能、可升级性、可管理性以及可诊断性上有了提升)
2.PL/SQL
PL/SQL新功能- 变量定义
- 控制结构
- 自定义的子程序
- 对象类型
PL/SQL优点
1、提高应用程序性能 ()
2、提供模块化程序开发能力(可以将业务逻辑集成到PL/SQL命名块(存储工程、函数、触发器、包)中)
3、具有良好的兼容性(不同的Oracle工具都可以用相同的PL/SQL脚本)
4、允许定义标识符(可以在PL/SQL中定义变量、常量、游标、异常等各种标识符)
5、提供了程序控制结构(可以在PL/SQL中使用选择语句、循环语句等结构化编程语言的控制结构)
6、提供了异常处理(通过PL/SQL提供的异常处理机制,可以处理各种Oracle和PL/SQL异常)
Oracle数据库体系架构
指Oracle数据库管理系统的组成部分和这些组成部分之间的相互关系,包括内存结构、后台进程、物理与逻辑结构等。
1、 Oracle内存结构1、共享内存区(主要由SGA (System Global Area)组成) SGA:(划定一个区域,存储每个用户所需要存取的数据,以及ORACLE运行时所必备的系统信息 此区域称为系统全局区) a、数据库缓存区 (database buffer cache) 用来存放读取自数据文件的数据块副本,或者用户曾经处理过的数据 b、重做日志缓冲区(redo log buffer) 记录数据库内所有数据修改的内存区域 c、共享池(shared pool) a、库缓存 (library cache) b、数据词典缓存(dictionary cache) d、其他区域 2、非共享内存区(主要由PGA(Program Global Area)组成) PGA:(用户存放服务器进程的数据和控制信息) a、排序区(sort area) 用于存放排序操作所产生的临时数据 b、会话信息(session informatio) 存放会话所具有的的权限、角色以及会话的性能统计信息 c、游标状态(cursor state) 运行SQL语句在共享池中为SQL语句分配上下文区,该上下文区的指针就是指游标 d、堆栈空间(stack space) 用户存放会话的变量信息- Oracle 后台进程
a、数据写进程(DBWR) 将数据库缓存区内改动过的数据块写入到硬盘内的数据文件 b、日志写进程(LGW仄R) 将冲工作日志缓冲区中的更改写入重做日志文件 c、系统监控(SMON) 数据库不正常关闭,下一次开启数据库时由系统监控修复数据库 d、进程监控(PMON) 进程失败时清理资源 e、检查点进程(CKPT) 告诉缓存中的更改永久的巨鹿在数据库中,更新控制文件和数据文件中的数据库状态信息 f、归档进程(ARCH) 把已满的日志组进行备份或归档 - Oracle逻辑和物理结构
- Oracle数据库逻辑结构
a、表空间
b、块存放不同类型的数据与数据库对象
c、段数据库中最小的存储单元
d、区在数据表空间能划分出不同区域,存放不同数据,此区域就称为段连续的数据块- Oracle物理逻辑结构
a、数据文件(data file)
b、重做日志文件(redo log file)数据表、索引- 联机重做日志文件
数据库正常运行所必须的 - 归档重做日志文件
只有在数据库运行在归档方式下才生成
c、控制文件(control file)
记录与描述数据库试题结构
d、初始化参数文件(initialization parameter file)
e、口令文件(password file)
- 联机重做日志文件
- Oracle物理逻辑结构
- Oracle数据库逻辑结构
- Oracle 后台进程
序列的创建
create sequence 序列名 increment by 增加 start with 起始数字