Oracle数据库
编辑Oracle 数据库,是来自 Oracle 的数据库管理系统软件。
关系数据和对象关系数据都可以存储。
属性
编辑与 Microsoft SQL Server 和 IBM Db2 一起,Oracle 是 RDBMS 领域的市场领导者之一。 在大型机领域,Unix系统的Sun Fire机器Solaris或IBM机器是经常使用的平台。 在中端领域,几乎所有的Unix系统都被支持和使用,还有OpenVMS。 长期以来,Linux 与 Solaris 一起被视为主要的战略平台,并且非常广泛。 Windows 也因其广泛使用而在战略上得到支持。 根据 DB Engines 排名,Oracle 是最受欢迎的数据库管理系统。
Oracle 数据库管理系统可以作为快捷版 (XE) 免费使用。 然而,这个版本比 IBM 相应的免费 Db2 版本更受限制,因为除其他外,它 不支持将 Java 类加载到数据库本身。 此外,有 1 GiB RAM 的限制,最多使用一个 CPU 核心和最大数据库大小为 11 GiB 的用户数据。
出于学习目的,可以在制造商的网站上免费获得 Oracle 数据库。 没有许可证服务器或许可证密钥等技术障碍。 Oracle 的其他产品也在那里提供。
在 10g 版中,进一步实现了 Oracle 网格的愿景:版本名称中的小写“g”也代表网格。 自 10g 以来,Oracle 一直在提供自己的集群管理器软件,称为 Oracle Cluster Ready Services。 这是在 9i 中首次发布的,首先是针对 Linux,后来也针对 Windows。 从 Oracle 10g 开始,这适用于 Oracle 支持的每个平台。 据该公司称,12c版本中的字母扩展“c”强调了对云产品的关注。
因为 SQL 只是一种描述性语言,所以开发了一种称为 PL/SQL 的 SQL 的专有过程扩展。 PL/SQL 代表过程语言/结构化查询语言。 PL/SQL 命令可以作为匿名块临时输入或以所谓的“存储过程”的形式存储在数据库中。
可以保存 XML 数据结构。 BLOB和 CLOB支持非关系数据(视频、音乐、文档、传真等)的存储。 许多非关系数据格式的索引已经包括在内。 支持具有您自己的编程索引的扩展。 空间数据可以按关系存储,支持空间索引和查询(空间选项)。
Oracle 数据库的默认隔离级别是读提交。 H。 查询始终会看到所有数据处于查询开始时提交时的状态。 您还可以为会话或事务设置隔离级别“序列化”或“只读”(无 SQL 标准)。 未明确支持 SQL 标准中定义的其他两个隔离级别。 通过存储回滚信息,读访问永远不会导致写访问阻塞,反之亦然。
附加属性列表
- ACID 属性的实现
- 跨平台分布式数据库支持
- 数据仓库功能
- 消息传递,包括 JMS
- OLAP 和数据挖掘
- 智能数据备份
- Java
- PL/SQL 或 Java 中的存储过程
- 查询中的正则表达式支持
- 表的版本控制
- 虚拟专用数据库功能
- 对冲
- 数据仓库功能例如 B. 存储大量数据的数据类型、分区、可迁移表空间、大表空间、OLAP查询位图索引、星型转换、分布式数据库接入、备库
- 大量内置 SQL 函数和分析函数,均可通过用户自定义函数随意扩展
- 基于成本的优化器,根据给定的目标吞吐量或响应时间在运行时自动创建执行计划
- 广泛的安全概念,用于管理和转移对所有数据库对象的权限、角色和策略的分配
- 逐行访问控制 (FGAC) 作为现有逐列访问控制的补充
- 审核
- 用于将资源动态分配给配置文件的资源管理器
- 复杂的调整选项,从版本 10g 开始,辅以所谓的“顾问”
- 索引组织表等性能特点(表保存为索引,省略基本表)
- 专有的内置编程语言 PL/SQL 与 SQL 交织在一起(可以进行本地编译,本地数据类型)
- 从版本 8i 开始,在 Oracle 内核中与 Java 的额外集成(将 Java 加载到数据库中)
- 允许存储和分析地理空间数据的 Oracle Spatial 和 Graph 等扩展
- 集成全文搜索
- 使用连接器连接到大数据
与 ANSI SQL 标准的偏差
与大多数数据库系统一样,数据库系统并不完全符合当前有效的 SQL 标准——主要是因为 Oracle 的xxx个版本是在 SQL 首次由 ANSI 定义之前编写的。 但是,已满足连续的 ANSI 标准。 除了仍然可用的专有语法外,现在还支持 ANSI 连接语法。
当从其他数据库系统移植到 Oracle 数据库时,以下与 SQL 标准的偏差很重要:
- 日期数据类型还包含时间。
- 布尔数据类型不存在。
- 数字数据类型 number 有几个数字子类型
- 不区分空字符串和空值。
- 在 UNION 中,NULL 值只兼容(必须转换)字符串而不是所有数据类型。
- 用于存储不同长度字符串的数据类型在Oracle中称为“VARCHAR2”,限制为4000字节。 从 Oracle 12 开始,32767 字节也是可能的。 还支持指定 ANSI 数据类型 VARCHAR,但该列仍然在内部创建为 VARCHAR2。 在早期版本中,VARCHAR 类型的表列最多只能存储 2000 个字符(直到版本 7),并且空格序列被解释为 NULL(直到版本 6)。
架构
编辑可供客户使用的 Oracle 数据库系统包括:
- 一个或多个侦听器进程
- 一个或多个数据库实例,实际的数据库管理系统
- 大量数据库文件,实际数据库
多个数据库实例可以同时打开一组数据库文件,这就是Oracle RAC,一个数据库实例一次只能打开一组数据库文件。
详细地,该系统可以表征如下:
监听进程(Oracle监听器)
接受来自数据库客户端的连接请求并将它们连接到数据库实例。 为数据库客户端启动 Oracle 服务器进程。
数据库实例(Oracle实例)
这是分配CPU和RAM资源的地方,一个实例由多个Oracle服务器进程(前台和后台进程)组成,它们以共享内存的形式提供公共主内存。 前台进程接受来自数据库客户端的SQL语言的数据库查询(Query)或数据修改指令(DML),执行这些命令并返回结果数据。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/376494/