当前位置: 首页 > news >正文

Oracle01-入门

零、文章目录

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

相关文章:

  • Django异步任务处理方式总结
  • react-12父子组件间的数据传递(子传父)(父传子)- props实现
  • 基于大模型的自然临产阴道分娩全流程预测与方案研究报告
  • 智能推理DeepSeek-R1+Word深度整合业级智能办公构建
  • 互联网法院在NFT、元宇宙等新兴领域的规则创新
  • iOS开发架构——MVC、MVP和MVVM对比
  • SQL注入总结
  • Android学习总结之Java和kotlin区别
  • Kotlin数据类在Android开发中的应用
  • Spark,配置历史服务
  • 【东枫科技】代理销售 NVIDIA DGX Spark 您的桌上有一台 Grace Blackwell AI 超级计算机。
  • 基于SSM实现的健身房系统功能实现一
  • 临床智能体AI与环境感知AI的融合:基于python的医疗自然语言处理深度分析
  • 【C++ Qt】常用输入类下:Combo Box/Spin Box/DataTimeEdit/Dial/Slide
  • 没有 Mac,如何把 iOS App 成功上架?
  • Windows系统修改Docker Desktop(WSL2)内存分配
  • Super VLAN配置
  • 开源模型应用落地-qwen模型小试-Qwen3-8B-推理加速-vLLM-Docker(二)
  • 【Java学习】反射
  • 了解一下OceanBase中的表分区
  • 央行行长详解降息:将通过利率自律机制引导商业银行相应下调存款利率
  • 线下无理由退货怎样操作?线上线下监管有何不同?市场监管总局回应
  • 巴菲特宣布将于年底退休,“接班人”什么来头?
  • 澳大利亚总理阿尔巴尼斯率领工党赢得2025年联邦选举
  • 阿根廷发生5.8级地震
  • 三大上市猪企:前瞻应对饲料原材料价格波动