Oracle01-入门
1、Oracle简介
(1)数据库基础
- 数据库基础请参考:https://blog.csdn.net/liyou123456789/article/details/131207068
(2)Oracle是什么
- ORACLE 数据库系统是美国 ORACLE 公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S 体系结构的数据库之一。
- ORACLE 通常应用于大型系统的数据库产品。
- ORACLE 数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。
- ORACLE 数据库具有以下特点:
- (1)支持多用户、大事务量的事务处理
- (2)数据安全性和完整性控制
- (3)支持分布式数据处理
- (4)可移植性
- Oracle 官网地址:https://www.oracle.com/cn/
(3)发展历史
- 初创阶段(1977-1980s)
- 1977年
- Larry Ellison、Bob Miner和Ed Oates创立SDL(软件开发实验室),受IBM关系型数据库论文启发,开始研发商用数据库
- 1979年:发布首个商用版本 Oracle 2(实际为第一代产品),支持完整SQL查询和连接操作
- 1983年
- 发布 Oracle 3,首次用C语言重写,实现跨平台移植性,奠定产品全球化基础
- 技术奠基阶段(1980s-1990s)
- 1985年
- Oracle 5 引入客户端/服务器架构,支持分布式数据库处理
- 1988年
- Oracle 6 新增行级锁、联机热备份功能,首次达到工业级稳定性
- 1992年
- Oracle 7 实现PL/SQL编程、存储过程和事务并发控制,占据全球UNIX数据库市场50%份额
- 互联网时代革新(1990s-2000s)
- 1997年
- Oracle 8 支持面向对象开发,集成多媒体数据类型
- 1999年
- Oracle 8i(i=Internet)原生支持Java和Web协议,成为首个互联网数据库
- 2001年
- Oracle 9i 引入RAC(实时应用集群)和Data Guard,实现高可用性突破
- 云计算与智能化阶段(2000s-至今)
- 2003年
- Oracle 10g(g=Grid)支持网格计算和自动化存储管理,优化大规模数据处理
- 2007年
- Oracle 11g 支持数据压缩技术(节省存储空间),分区增强(Interval Partitioning),透明数据加密(TDE)
- 2013年
- Oracle 12c(c=Cloud)推出多租户架构(CDB/PDB),适应云原生需求
- 2018年
- Oracle 18c/19c 实现自治数据库(Autonomous Database),集成AI实现自动索引优化和故障修复
- **关键收购与生态扩展 **
- 2009年收购Sun:获得Java和Solaris技术栈,强化企业级整合能力
- 2016年推出Oracle Cloud:提供云端自治数据库服务,支持混合云部署
- **技术影响与市场地位 **
- 数据库类型革新:从关系型(RDBMS)到对象关系型(ORDBMS),再到多模型数据库
- 全球市场份额:长期占据企业级数据库市场第一(约40%份额),领先于IBM DB2和Microsoft SQL Server
2、Oracle体系结构
(1)数据库
- Oracle 数据库是数据的物理存储。这就包括(数据文件 ORA 或者 DBF、控制文件、联机日志、参数文件)。其实 Oracle 数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是 Oracle 就只有一个大数据库。
(2)实例
- 一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。一个数据库可以有 n 个实例。
(3)数据文件(dbf)
- 数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真正是在某一个或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。
(4)表空间
- 表空间是 Oracle 对物理数据库上相关数据文件(ORA 或者 DBF 文件)的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为 system 表空间)。
- 每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间。
- 表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。
- 由于 oracle 的数据库不是普通的概念,oracle 是有用户和表空间对数据进行管理和存放的。但是表不是有表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!

(5)用户
- 用户是在表空间下建立的。用户登陆后只能看到和操作自己的表, ORACLE的用户与 MYSQL 的数据库类似,每建立一个应用需要创建一个用户。

3、Oracle版本功能演进
(1)版本功能演进
- Oracle 8i/9i
- 8i:首次支持Java和Internet应用(i=Internet),引入分区表、物化视图等OLAP功能
- 9i:
- 引入RAC(Real Application Clusters)替代OPS,节点通信效率提升100倍
- 支持在线修改内存参数和自动存储管理(ASM)
- Oracle 10g
- 核心特性:网格计算(g=Grid),支持动态资源分配和负载均衡
- 功能增强:
- 自动化存储管理(ASM)
- Data Guard物理/逻辑备库
- Oracle 11g
- 核心特性:
- 数据压缩技术(节省存储空间)
- 分区增强(Interval Partitioning)
- 透明数据加密(TDE)
- 性能优化:自动诊断工具ADDM和性能仓库AWR
- Oracle 12c
- 革命性更新:多租户架构(c=Cloud),支持容器数据库(CDB)和可插拔数据库(PDB)
- 新功能:
- 内存数据库选件(In-Memory)
- JSON原生支持
- Oracle 18c/19c
- 自动化增强:机器学习驱动的自治数据库(自动索引、修复)
- 兼容性:19c作为12.2的长期支持版(LTS),支持从11.2.0.4直接升级
(2)版本演进时间轴

(3)横向版本对比
版本类型 | 适用场景 | 核心功能限制 |
---|
Enterprise Edition | 大型企业/高并发场景 | 支持所有高级功能(RAC、分区、压缩等) |
Standard Edition | 中小型企业/部门级应用 | 无RAC、分区、Data Guard |
Express Edition | 开发测试/小型项目 | 最大11GB数据,1GB内存限制 |
Cloud Service | 云原生环境 | 弹性扩展+企业版功能 |
- 关键差异功能对比
- 高可用性:Enterprise Edition支持RAC、Data Guard;Standard Edition仅支持基础备份
- 性能扩展:企业版支持并行查询(PQ)、内存列存储;标准版仅单线程处理
- 安全性:11g起支持透明数据加密(TDE),12c起增加数据库防火墙
- 管理复杂度:12c多租户架构简化数据库整合,但需重新设计部署方案
- 版本选择建议
- 开发/小型项目:Express Edition(免费)或Standard Edition One
- 中型业务系统:Standard Edition(支持双节点RAC)
- 大型核心系统:Enterprise Edition + 多租户选件
- 云迁移需求:优先选择Oracle Cloud Database Service