Oracle数据库是一种常用的商业关系型数据库。它是由Oracle公司开发,用于管理大量数据和应用程序。Oracle数据库在企业级应用程序、大型数据仓库以及云应用领域广泛使用。本文将深入了解Oracle数据库的描述、架构与应用。
一、描述
1.1 发展历史
Oracle数据库最初是由Larry Ellison、Bob Miner和Ed Oates于1979年创建的,最初称为“Relational Software Inc.”(RSI),并在1982年更名为“Oracle Corporation”。它是之一个完全支持SQL的商业数据库系统。自1985年以来,Oracle一直是世界上更受欢迎的数据库之一,同类数据库软件还有Microsoft SQL Server、IBM DB2和MySQL等。
1.2 特点
Oracle数据库具有以下特点:
1.2.1 数据安全性高:Oracle数据处理和存储为企业提供高度保证的数据安全性和保密性。
1.2.2 吞吐量高:Oracle数据库的高效性能使其能够处理海量数据,并且稳定性更强。
1.2.3 支持高并发:Oracle数据库支持高并发访问,使得多个用户可以同时访问数据库,而不会出现响应延迟或死锁等问题。
1.2.4 完全可扩展性:可以轻松地加入新的节点,不会影响现有操作。
1.2.5 数据一致性:Oracle数据库支持事务,而且事务管理十分完善。它可以确保在同一事务中执行的所有操作都是一致的,因此可以保持数据的一致性。
1.2.6 支持各种操作系统:Oracle支持多种操作系统,包括Windows、Linux、Solaris和X等。
1.3 版本
Oracle数据库有多个版本,其中最常用的是Oracle Database 12c和Oracle Database 11g。当前,Oracle公司正在努力推出更先进的Oracle Database 18c。
二、架构
2.1 Oracle架构概述
Oracle数据库具有三层架构,分别为客户端、Oracle实例和数据库。它的总体架构如下图所示:
![oracle architecture](https://img-blog.csdn.net/20230212023620231?watermark/2/text/aHR0cDovL2J2cuY3Nkbi5uZXQvc3R1YmlsZXM0MDUy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/50)
2.2 Oracle实例
Oracle实例是指由Oracle数据库管理系统(DBMS)创建和管理的进程和内存结构,其中包括SGA(System Global Area)、PGA(Process Global Area)和应用程序进程等。Oracle实例是访问Oracle数据库的主要通道。
2.3 数据库
Oracle数据库是一组有机结合的数据文件或表空间,用于存储数据。它包括用户数据、元数据、日志数据、备份数据等。Oracle数据库是客户端与Oracle实例的主要联系点。
三、应用
3.1 数据库管理
管理Oracle数据库是数据库管理员(DBA)必须完成的主要任务之一。在Oracle中,DBA可以使用Oracle Enterprise Manager(OEM)或SQL命令行界面(CLI)管理数据库。通过OEM可以轻松地监视数据库状态,配置参数,执行备份和还原等任务。同时,它具有故障检测和解决的功能。
3.2 数据库开发
在Oracle数据库中进行开发需要使用PL/SQL(Procedural Language/Structured Query Language)语言。PL/SQL支持变量、控制结构、函数和存储过程等编程元素。其中最重要的是存储过程。存储过程可以在数据库内部执行,对于数据的操作具有更高的效率和安全性。
3.3 数据库查询
对于数据查询,Oracle数据库使用SQL(Structured Query Language)语言。SQL语言是一种关系型数据库的通用查询语言。在数据处理方面,SQL是非常强大的。它可以对多个表进行联接,并支持复杂的查询操作。
3.4 数据库备份与恢复
数据库备份和恢复是数据库管理员必须掌握的技能。Oracle提供了多种方式来备份和恢复数据库。其中,常见的方式有完全备份、增量备份和日志备份。在恢复方面,Oracle提供了FLASHBACK和RMAN(Recovery Manager)等功能,可以在数据库发生故障时恢复数据。
3.5 数据库性能调优
对于数据库的性能调优,Oracle提供了多种工具和技术。DBA可以使用OEM或SQL命令行界面监测数据库性能和状态,并采取相应的措施来提高数据库响应速度和吞吐量。
Oracle数据库是一款功能强大的商业关系型数据库。在应用领域广泛使用,它具有高度保密性、高吞吐量、高并发能力、良好的扩展性和一致性等优势。Oracle架构是三层结构,包括客户端、Oracle实例和数据库。在Oracle数据库中进行开发需要使用PL/SQL语言,而对于数据查询,则需要使用SQL语言。数据库备份和恢复是DBA必须掌握的技能之一,而性能调优则需要使用多种工具和技术来提高数据库性能和响应速度。
相关问题拓展阅读:
oracle数据库的结构是什么?
Oracle数据库的体系结构包括四个方面:数据库的物理结构、逻辑结构、内存结构及进程。
1. 物理结构
物理数据库结构是由构成数据库肢掘的操作系统文件所决定,Oracle数据库文件包括:
数据文件(Data File)
数据文件用来存储数据库中的全部数据,例如数据库表中的数据和索引数据.通常以为*.dbf格式,例如:userCIMS.dbf 。
日志文件(Redo Log File)
日志文件用于记录数据库所做的全部变更(如增加、删除、修改)、以便在系统发生故障时,用它对数据库进行恢复。名字通常为Log*.dbf格式,如:Log1CIMS.dbf,Log2CIMS.dbf 。
控制文件(Control File)
每个Oracle数据库都有相应的控制文件,它们是较小的二进制文件,用于记录数据库的物理结构,如:数据库名、数据库的数据文件和日志文件的名字和位置等信息。用于打开、存取数据库。名字通常为Ctrl*ctl 格式,如Ctrl1CIMS.ctl。
配置文件
配置文件记录Oracle数据库运行时的一些重要参数,如:数据块的大小,内存结构的配置等。名字通常为init*.ora 格式,如:initCIMS.ora 。
2 逻辑结构
Oracle数据库的逻辑结构描述了数据库从逻辑上如何来存储数据库中的数据。逻辑结构包括表空间、段、区、数据块和模式对象。数据库的逻辑结构将支配一个数据库如何使用系统的物理空间.模式对象及其之间的联系则描述了关系数据库之间的设计.
一个数据库从逻辑上说是由一个或多个表空间所组成,表空间是数据库中物理编组的数据仓库,每一个表空间是由段(segment)组成,一个段是由一组区(extent)所组成,一个区是由一组连续的数据库块(database block)组成,而一个历颤核数据库块对应硬盘上的一个或多个物理块。一个表空间存放一个或多个数据库的物理文件(即数据文件).一个数据库中的数据被逻辑地存储在表空间上。
表空间(tablespace)
Oracle数据库被划分为一个或多个称为表空间的逻辑结构,它包括两类表空间,System表空间和非System表空间,其中,System表空间是安装数据库时自动建立的,它包含数据库的全部数据字典,存储过程、包、函数和触洞兆发器的定义以及系统回滚段。除此之外,还能包含用户数据。。
一个表空间包含许多段,每个段有一些可以不连续的区组成,每个区由一组连续的数据块组成,数据块是数据库进行操作的最小单位。
每个表空间对应一个或多个数据文件,每个数据文件只能属于一个表空间。
数据库块(database block)
数据库块也称逻辑块或ORACLE块,它对应磁盘上一个或多个物理块,它的大小由初始化参数db-block-size(在文件init.ora中)决定,典型的大小是2k。Pckfree 和pctused 两个参数用来优化数据块空间的使用。
区(extent)
区是由一组连续的数据块所组成的数据库存储空间分配的逻辑单位。
段(segment)
段是一个或多个不连续的区的,它包括一个表空间内特定逻辑结构的所有数据,段不能跨表空间存放。Oracle数据库包括数据段、索引段、临时段、回滚段等。
模式对象(schema object)
Oracle数据库的模式对象包括表、视图、序列、同意词、索引、触发器、存储.过程等,关于它们将重点在后面章节介绍。
3.Oracle Server系统进程与内存结构
当在计算机服务器上启动Oracle数据库后,称服务器上启动了一个Oracle实例(Instance)。ORACLE 实例(Instance)是存取和控制数据库的软件机制,它包含系统全局区(SGA)和ORACLE进程两部分。SGA是系统为实例分配的一组共享内存缓冲区,用于存放数据库实例和控制信息,以实现对数据库中数据的治理和操作。
进程是操作系统中一个极为重要的概念。一个进程执行一组操作,完成一个特定的任务.对ORACLE数据库治理系统来说,进程由用户进程、服务器进程和后台进程所组成。
当用户运行一个应用程序时,系统就为它建立一个用户进程。服务器进程处理与之相连的用户进程的请求,它与用户进程相通讯,为相连的用户进程的ORACLE请求服务。
为了提高系统性能,更好地实现多用户功能,ORACLE还在系统后台启动一些后台进程,用于数据库数据操作。
系统进程的后台进程主要包括:
ON 系统监控进程:(system monitor)负责完成自动实例恢复和回收分类(sort)表空间。
PMON 进程监控进程:(PRocess monitor)实现用户进程故障恢复、清理内存区和释放该进程所需资源等。
DBWR 数据库写进程:数据库缓冲区的治理进程。
在它的治理下,数据库缓冲区中总保持有一定数量的自由缓冲块,以确保用户进程总能找到供其使用的自由缓冲块。
LGWR 日志文件写进程:是日志缓冲区的治理进程,负责把日志缓冲区中的日志项写入磁盘中的日志文件上。每个实例只有一个LGWR进程。
ARCH 归档进程:(archiver process)把已经填满的在线日志文件拷贝到一个指定的存储设备上。仅当日志文件组开关(switch)出现时,才进行ARCH操作。ARCH不是必须的,而只有当自动归档可使用或者当手工归档请求时才发出。
RECO 恢复进程:是在具有分布式选项时使用的一个进程,主要用于解决引用分布式事务时所出现的故障。它只能在答应分布式事务的系统中出现。
LCKn 封锁进程:用于并行服务器系统,主要完成实例之间的封锁。
内存结构(SGA)
SGA是Oracle为一个实例分配的一组共享内存缓冲区,它包含该实例的数据和控制信息。SGA在实例启动时被自动分配,当实例关闭时被收回。数据库的所有数据操作都要通过SGA来进行。
SGA中内存根据存放信息的不同,可以分为如下几个区域:Buffer Cache:存放数据库中数据库块的拷贝。它是由一组缓冲块所组成,这些缓冲块为所有与该实例相链接的用户进程所共享。缓冲块的数目由初始化参数DB_BLOCK_BUFFERS确定,缓冲块的大小由初始化参数DB_BLOCK_SIZE确定。大的数据块可提高查询速度。它由DBWR操作。
b. 日志缓冲区Redo Log Buffer:存放数据操作的更改信息。它们以日志项(redo entry)的形式存放在日志缓冲区中。当需要进行数据库恢复时,日志项用于重构或回滚对数据库所做的变更。日志缓冲区的大小由初始化参数LOG_BUFFER确定。大的日志缓冲区可减少日志文件I/O的次数。后台进程LGWR将日志缓冲区中的信息写入磁盘的日志文件中,可启动ARCH后台进程进行日志信息归档。
c. 共享池Shared Pool:包含用来处理的SQL语句信息。它包含共享SQL区和数据字典存储区。共享SQL区包含执行特定的SQL语句所用的信息。数据字典区用于存放数据字典,它为所有用户进程所共享。
Cursors:一些内存指针,执行待处理的SQL语句
其他信息区:除了上述几个信息区外,还包括一些进程之间的通讯信息(如封锁信息);在多线索服务器配置下,还有一些程序全局区的信息,请求队列和响应队列等。 本文来自:
Oracle数据库有什么特点?
oracle 优势很多,大部分银行保险电信大部分是用oracle处理的
优势主要 有
1、处理速度快,非常快
2、安全级别高。支持快闪以及完美的恢复,即使硬件坏了 也可以恢复到故障发前的1s
3、几台数据库做集群数据库,可以岩哪宴做到几秒s以内故障转移,而且数据物理完全一致,现在缓弊集群一直是更优秀的解决方案,对于银行保险没有其他太多的选项粗银{数据不丢,快速切换,负载均衡}
4、网格控制,以及 数据仓库方面 也非常强大
对了免费 以及 开源的 言论 都是错误的。。。oracle产品及服务都是付费的,而且价格不菲。比其他数据库要贵,物有所值。oracle不是开源的。不过可以在redhat 或者其他开源操作系统上安装。
mysql在sun没被oracle收购是开源的,免费的,之后oracle公司打算 把mysql打造成不开源,收费模式的。
1、完整的数据管理功能:
1)数据的大量性
2)数据的保存的持久性
3)数据的共享性
4)数据的可靠性
2、完备关系的产品:
1)信息准则—关系型DBMS的所有信息都应在逻辑上用一种方法亏郑,即表中的值显式地表示;
2)保证访问的准则
3)视图更新准则—只要形成视图的表中的数据变化了,相应的视图中的数据同时变化
4)数据物理性和逻辑性独立准则
3、分布式处理功能:
ORACLE数据库自第5版起就提供了分布式处理能力皮宽,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的关系型产品构成。
4、用ORACLE能轻松燃空亮的实现数据仓库的操作。
关于oracle 数据库描述的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。