当前位置: 首页 > 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
http://www.xdnf.cn/news/300043.html

相关文章:

  • 个人Unity自用面经(未完)
  • 神经网络中之多类别分类:从基础到高级应用
  • ChatGPT对话导出工具-轻松提取聊天记录导出至本地[特殊字符]安装指南
  • 审计数据整合:集团多主体科目余额表合并全流程解析
  • JVM内存模型深度解剖:分代策略、元空间与GC调优实战
  • 在 Laravel 12 中实现 WebSocket 通信
  • pyqt写一个TCP(UDP)检测工具
  • 【Python】一键提取视频音频并生成MP3的完整指南 by `MoviePy`
  • 基于Jetson Nano与PyTorch的无人机实时目标跟踪系统搭建指南
  • 20250506异形拼图块(圆形、三角、正方,椭圆/半圆)的中2班幼儿偏好性测试(HTML)
  • 【ArcGISPro】属性规则--属性联动
  • 记一次ffmpeg延迟问题排查
  • 个人码支付免签系统三网免挂支付宝微信QQ钱包即时到账收款二维码聚合支付源码
  • 使用 OpenSSL 吊销 Kubernetes(k8s)的 kubeconfig 里的用户证书
  • uv全功能更新:统一管理Python项目、工具、脚本和环境的终极解决方案
  • 嵌入式学习--江协51单片机day1
  • GCC编译器安装详细说明(举例arm-2013q3)
  • pywinauto通过图片定位怎么更加精准的识别图片?
  • 抖音代播领航者——品融电商(PINKROON)的运营实力与服务解析
  • 使用 AddressSanitizer 检测堆越界错误
  • 【CPU占用率查看】
  • 创建简易个人关系图谱(Neo4j )
  • 【落羽的落羽 C++】list及其模拟实现
  • On the Biology of a Large Language Model——论文学习笔记——拒答和越狱
  • 华为私有协议Hybrid
  • 5月6日日记
  • QtGUI模块功能详细说明,图像处理(三)
  • 目标检测(Object Detection)研究方向常用数据集简单介绍
  • 【Bootstrap V4系列】学习入门教程之 组件-卡片(Card)高级用法
  • 数据初步了解