首页 > 其他分享 >b、概述

b、概述

时间:2023-08-13 09:34:42浏览次数:25  
标签:数据库 用户 进程 实例 概述 Oracle 日志

概述

Oracle简介

Oracle 是甲骨文公司开发的一款关系型数据库,它一款系统可移植性好、使用简单、功能强大的关系型数据库。它为各行业在各类环境下(服务器、虚拟机、微机环境下)可以快速搭建一种高效率、可靠性好、高吞吐量的数据库解决方案。

发展史

Oracle ,西方人认为有“神谕、预言”之意, 中国人则译作“甲骨 文” ,该软件是当今世界上最强大的数据库软件之一 。所有这一切要从 IBM的一篇论文谈起, 1970年6月 ,IBM公司的研究员埃德加 ·泰德 · 科德 ( Edgarh Ted Cod) 发表了一篇著名的论文——《大型共享数据 库数据的关系模型》 ,这可以称为数据库发展史上的一个转折点 。在当 时还是层次模型和网状模型的数据库产品占据市场主要地位的情况下 , 这篇论文拉开了关系型数据库软件革命的序幕。

1977年6月 ,拉里 ·埃里森 ( Larry Ellison) 与鲍勃 ·迈纳( Bob Miner) 和埃德 ·奥茨 ( Ed Oates) 在硅谷共同创办了一家名 为“软件开发实验室”的软件公司 (英文缩写SDL ,Oracle公司的前 身) 。在奥茨看到了科德的那篇著名的论文连同其他几篇相关的文章之 后, 非常兴奋 ,他找来埃里森和迈纳共同阅读 ,埃里森和迈纳也预见到 关系型数据库软件的巨大潜力 。于是 ,数据库界的三位巨人开始共同筹 划构建可商用的关系型数据库管理系统 ( RDBMS) ,并把这种商用数

据库产品命名为Oracle 。因为他们相信 ,Oracle (字典里的解释有“神谕、预言”之意) 是一切智慧的源泉 ,就这样 ,堪称当今世界最强大、最优秀的Oracle数据库诞生了。

1979年,“软件开发实验室”更名为“关系软件有限公司” (英 文缩写RSI) 。 同年夏季发布了可用于DEC公司的PDP- 11计算机上的 商用Oracle产品 ( Oracle称之为第2版) ,这个数据库产品整合了比较 完整的SQL实现 ,其中包括子查询、连接及其他特性。

1983年3月 ,RSI发布了Oracle第3版 ,这个版本是用C语言重新 编写的 。 由于C编译器具有很好的可移植性 ,从此之后 ,Oracle产品有 了一个关键的特性——可移植性。

1984年10月 ,Oracle发布了第4版产品 。产品的稳定性总算得到 了一定的增强, 用迈纳的话说 ,达到了“工业强度”。

1985年 ,Oracle发布了5.0版 ,这个版本算得上是Oracle数据库 诞生以来比较稳定的版本 。这也是首批可以在Client/Server模式下运 行的RDBMS产品 ,在技术方向上 ,Oracle数据库始终没有落后。

1988年 ,Oracle发布了第6版 ,这个版本引入了行级锁 (row- level locking) 这个重要的特性 ,并且这个版本引入了还算不上完善的 PL/SQL ( Procedural Language/SQL) 语言 。第6版还引入了联机 热备份功能 ,使数据库能够在使用过程中创建联机的备份 ,这极大地增 强了可用性。

1992年6月 ,Oracle发布了第7版 ,该版本增加了许多新的特性 : 分布式事务处理功能、增强的管理功能、 用于应用程序开发的新工具以 及安全性方法 。这一版本才是真正出色的产品 ,取得了巨大的成功 , Oracle借助这一版本的成功在数据库市场确立了主导地位。

1997年6月 ,Oracle发布了第8版 ,该版本支持面向对象的开发及 新的多媒体应用 ,这个版本也为支持Internet、 网络计算等奠定了基 础, 同时这一版本开始具有同时处理大量用户和海量数据的特性。

1998年9月 ,Oracle公司正式发布Oracle 8i 。i代表Internet ,这 一版本中添加了大量为支持Internet而设计的特性 。这一版本为数据库 用户提供了全方位的Java支持 。Oracle 8i成为第一个完全整合了本地 Java运行时环境的数据库, 用Java就可以编写Oracle的存储过程。

在2001年6月的Oracle Oracle 9i 。在Oracle OpenWorld大会中 ,Oracle发布了 9i的诸多新特性中 ,最重要的就是Real Application Clusters ( RAC) ——集群技术。

2003年9月8日 ,在旧金山举办的Oracle OpenWorld大会上,Ellison宣布下一代数据库产品为Oracle 10g。Oracle应用服务器10g也将作为Oracle公司下一代应用基础架构软件集成套件 ,g代表grid —— 网格 ,这一版最大的特性就是加入了网格计算的功能。

2007年11月 ,Oracle 11g正式发布 ,功能上大大加强 ,这是最常 用的版本 ,也是本书中使用的Oracle版本 。 11g是Oracle公司30年来 发布的最重要的数据库版本 ,根据用户的需求实现了信息生命周期管理 等多项创新 ,大幅地提高了系统性能的安全性 ,全新的Data Guard最 大化了可用性 ,利用全新的高级数据压缩技术降低了数据存储的支出 , 明显缩短了应用程序测试环境部署及分析测试结果所花费的时间 ,增加 了RFID Tag、DICOM医学图像、3D空间等重要数据类型的支持 ,加 强了对Binary XML的支持和性能优化。

最新的Oracle版本为Oracle 12c ,c表示cloud——云计算。

一直以来 ,Oracle都以绝对的优势占据了数据库市场的第一位 。例如 ,在2019年做出的市场调研中显示, 56%的市场份额标志着Oracle 的地位难以撼动 ,而IBM以15.9%占据第二位 ,Microsoft以9.5%占据 第三的位置 ,而其他数据库厂商占有的市场份额很小 ,2019年度主流 数据库市场占有率如图1. 1所示。

image-20221130154446763

随着人类社会信息资源的不断增长,更加需要强大而安全的数据库管理系统 ,这导致Oracle数据库的市场占有率在这些年来不断地增加, 其独占鳌头的市场地位是不容置疑的。

关系型数据库的基本理论

详情详见《Oracle从入门到精通(第3版) 明日科技》的1.2章

关系型数据库与数据库管理系统

关系型数据库是建立在关系模型基础上的数据库 ,借助于集合代数 等数学概念和方法来处理数据库中的数据 ,现实世界中的各种实体以及 实体之间的各种联系均用关系模型来表示。

关系模型以二维表来描述数据 。在关系模型中 ,每个表有多个字段 列和记录行 ,每个字段列有固定的类型属性 (如数字、字符、 日期等类 型) 。关系模型数据结构简单、清晰、具有很高的数据独立性, 因此是 目前主流的数据库数据模型。

在关系数据模型中 ,关系可以看成由行和列交叉组成的二维表格, 表中一行称为一个元组 ,可以用来标识实体集中的一个实体 。表中的列 称为属性 ,给每一列起一个名称即为属性名 ,表中的属性名不能相同。

列的取值范围称为域,同列具有相同的域 ,不同的列也可以有相同的域 。表中任意两行 (元组) 不能相同 。能唯一标识表中不同行的属性或属性组 (即多个属性的组合) 称为主键或复合主键。

尽管关系与传统的二维表格数据文件具有类似之处 ,但是它们又有区别 ,严格地说 ,关系是一种规范化的二维表格 ,它具有如下性质。

  • 属性值具有原子性,不可分解。
  • 没有重复的元组,即没有重复的行。
  • 理论上没有行序,但是在使用时有时可以有行序。

在关系型数据库中,关键码(简称键)是关系模型的一个非常重要 的概念,它通常是行(元组)的一个或几个列(属性)。如果键是由一 个列组成,则称之为唯一键;若是由多个列(属性)组成的,则称之为 复合键,键的主要类型如下。

在关系型数据库中,关键码(简称键)是关系模型的一个非常重要 的概念,它通常是行(元组)的一个或几个列(属性)。如果键是由一 个列组成,则称之为唯一键;若是由多个列(属性)组成的,则称之为 复合键,键的主要类型如下。

  • 超键:在一个关系中,能唯一标识元组的属性或属性集称为关 系的超键。 候选键:如果一个属性集能唯一标识元组,且又不含有多余的 属性,那么这个属性集称为关系的候选键。
  • 主键:如果一个关系中有多个候选键,则选择其中的一个键为关系的主键。用主键可以实现关系定义中“表中任意两行(元 组)不能相同”的约束。这里以管理学生信息为例,我们 在“学生信息表”中设置学号、姓名、性别、年龄、院系、班级等列。在该表中, “学号”能够唯一标识一名学生,因此, 把学号作为主键是最佳的选择,而如果把“姓名”作为主键则 会存在问题,因为有可能存在同名的学生。为此,最好创建一 个单独的键将其明确地指定为主键,这种唯一标识符在现实生 活中很普遍,如身份证号、银行卡号、手机号、发票号等。
  • 外键:如果一个关系R中包含另一个关系A的主键所对应的属 性组T,则称此属性组T为关系R的外键,并称关系A为参照关 系,关系R是依赖关系。为了表示关联,可以将一个关系的主 键作为属性放入另外一个关系中,第二个关系中的那些属性就 称为外键。这里以商品销售为例,在填写一张商品销售单时, 可以将商品销售信息分为两大类:第一类是单据的主体信息 (销售主表),如销售单号、销售金额、销售日期、收款人; 第二类是单据的明细信息(销售明细表),如商品序号、商品 名称、商品数量等。在数据库的“销售主表”中通常以“销售 单号”作为主键;在“销售明细表”中,为了标识被销售出去 的商品隶属于哪张单据,需要对每一条商品销售记录标明“单 据编号”。在这种情况下,销售明细表中的“销售单号”就被 称为外键,因为“销售单号”是其所在表以外(主体表)的一 个主键。

当出现外键时,主键与外键的列名称可以是不同的,但必须要求它们的值集相同,即“销售明细表”中出现的“销售单号”一定要和主体 表中的值匹配。

对于上面提到的“二维表格”中存储的数据信息,通常以物理文件 的形式存储在磁盘上,这种物理文件称为“数据文件” ,用户会使用一 种数据库软件实现与磁盘上的数据文件进行交互,这种数据库软件就称 为数据库管理系统(DBMS)。DBMS是建立在操作系统基础上的, 它可以实现对数据库文件进行统一管理和控制。用户对数据库提出的访 问请求都是由DBMS来处理的。另外,DBMS还提供了多种用于管理 数据的实用工具。

关系型数据库的E-R模型

  • 实体和属性
  • 联系
    • 一对一
    • 一对多
    • 多对多

关系型数据库的设计范式

关系模型的范式有第一范式(1NF)、第二范式(2NF)、第三范式 (3NF)、第四范式(4NF)、第五范式(5NF)、第六范式(6NF) 和BCNF范式等多种

版本

Oracle从1979开始发布Oracle2.0开始到现在Oracle12c,从开始的只是数据存储和查询到后来的分布式、RAC、网络计算、到现在的对云计算的支持,当中经历了很多变迁和计算的提升。

Oracle数据库分为个人版本、标准版1、标准版、企业版,区别:

  1. 标准版1(Standard Edition one)适用于1-2cpu的服务器,单机环境,适用于中小型用户入门级应用。
  2. 标准版(Standard Edition)适用于1-4cpu的服务器,可以做双机热备和RAC,价格适中,适用于对数据库性能要求及安全性有进一步要求的大中型用户工作。
  3. 企业版(Enterprise Edition) 适用于单机、双机、多CPU多节点集群等各种环境,功能齐全,适用于对数据库性能及可靠性有高要求的企业级用户应用。
  4. 个人版,只在windows平台上提供,不支持RAC之外的包含企业版所有功能。

Oracle平台支持

2001年发布的Oracle9i之前,甲骨文公司把他们的数据库产品广泛的移植到了不同的平台上。截止甲骨文公司的Oracle10g/11g/12c都支持windows、Linux各大版本,包括X-86/64位系统。

Oracle特点

  • Oracle数据库具有完整的数据库管理功能、完备关系的产品以及具有分布式处理能力的数据库。
  • 它对数据的可靠性、大量性、持久性、共享性提供了一套可靠的解决方案、而且可以轻松支持多用户、大事务量的事务处理。
  • 它的优点就是可用性强、可扩展性强、数据安全性强、稳定性高,以及现阶段12C支持分布式数据处理。
  • 它提供了一套严禁的逻辑结构、文件结构、相关恢复技术的解释和实现。

Oracle体系结构

详情详见《Oracle从入门到精通(第3版) 明日科技》的2.2节

Oracle体系结构主要用来分析数据库的组成、工作过程与原理,以及数据在数据库中的组织与管理机制。

Oracle数据库实际上是一个数据的物理储存系统,这其中包括数据文件(ora/dbf)、参数文件、控制文件、联机日志等。

实例:一个操作系统只有一个Oracle数据库,但是可以安装多个Oracle实例,一个Oracle实例对应着一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)。

数据库:数据库是由基于磁盘的数据文件、控制文件、日志文 件、参数文件和归档日志文件等组成的物理文件集合;

oracle用户:表当中的数据是有Oracle用户放入到表空间当中的,而这些表空间会随机的把数据放入到一个或者多个数据文件当中。oracle对表数据的管理是通过用户对表的管理去查询,而不是直接对数据文件或表空间进行查询。因为不同用户可以在同一个表空间上面建立相同的表名。但是通过不同的用户管理自己的表数据。

数据库的主要功能就是存储数据,数据库存储数据的方式通常称为 存储结构,Oracle数据库的存储结构分为逻辑存储结构和物理存储结 构。逻辑存储结构用于描述Oracle内部组织和管理数据的方式,而物理 存储结构用于展示Oracle在操作系统中的物理文件组成情况。

数据结构逻辑关系如下图:

数据结构逻辑关系

逻辑存储结构

数据块:数据块(Data Block)是Oracle逻辑存储结构中的最小的逻辑单 位,也是执行数据库输入/输出操作的最小存储单位。

数据区:数据区(Extent也可称作数据扩展区)是由一组连续的Oracle数 据块所构成的Oracle存储结构,一个或多个数据块组成一个数据区,一 个或多个数据区再组成一个段(Segment)。

:段(Segment)是由一个或多个数据区构成,它不是存储空间的 分配单位,而是一个独立的逻辑存储结构,用于存储表、索引或簇等占 用空间的数据对象,Oracle也把这种占用空间的数据对象统一称为段。一个Oracle数据库通常有数据段、索引段、回滚段和临时段4种类型的段。

表空间:表空间是Oracle 对物理数据库数据文件(ora/dbf)的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间由同一磁盘上的一个或多个数据文件(datafile)组成,一个数据文件只能属于一个表空间。

物理存储结构

数据文件:Oracle数据文件是数据存储的物理单位,数据库的数据是存储在表空间中的。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间,一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。常见文件有系统数据文件、撤销数据文件和用户数据文件。

控制文件:控制文件是一个二进制文件,它记录了数据库的物理结构,其中主要包含数据库名、数据文件与日志文件的名字和位置、数据库建立日期等信息。

日志文件:日志文件的主要功能是记录对数据所做的修改,对数据库所做的修 改几乎都记录在日志文件中。

服务器参数文件:服务器参数文件(Server Parameter File,SPFILE)是二进制文 件,用来记录Oracle数据库的基本参数信息(如数据库名、控制文件所在路径、日志缓冲大小等)。

密码文件:密码文件是Oracle系统用于验证sysdba权限的二进制文件,当远 程用户以sysdba或sysoper连接到数据库时,一般要用密码文件验证。

警告文件:警告文件(即警告日志文件)是一个存储在Oracle系统目录下的文 本文件(名称通常为alert_orcl.log),它用来记录Oracle系统的运行 信息和错误信息。

跟踪文件:跟踪文件包括后台进程跟踪文件和用户进程跟踪文件。后台进程跟 踪文件用于记录后台进程的警告或错误消息。

image-20221201091218476

Oracle体系概要图如下:

[Oracle体系概要图](https://www.oraclejsq.com/storage/thumbnails/viewImages (1).do)

Oracle 11g服务器结构

Oracle服务器主要由实例、数据库、程序全局区和前台进程组成, 如图所示。其中,实例就是图中的例程区域,用来提供管理 数据库的功能;数据库就是图中的数据库区域,由Oracle数据库 文件组成,用来存储系统数据。

image-20221201093107051

实例可以进一步划分为系统全局区(SGA)和后台进程 (PMON、SMON等)两部分,其中,SGA使用操作系统的内存资 源,而后台进程需要使用CPU与内存资源;数据库(Database)中包 含数据文件(Data File)、控制文件(Control File)和重做日志文件 (Redo Log File),数据库文件存放在硬盘中;程序全局区(PGA) 是一个非共享的内存区域,用于管理用户进程的私有资源;前台进程可 以再划分为用户进程和服务器进程,它们需要使用CPU与内存资源。

系统全局区:系统全局区(System Global Area,SGA)是所有用户进程共享的一块内存区域,也就是说,SGA中的数据资源可以被多个用户进程共同使用。SGA主要由高速数据缓冲区、重做日志缓冲区、共享池、大型池和Java池等内存结构组成。SGA随着数据库实例的启动而加载到内 存中,当数据库实例关闭时,SGA区域也就消失了。

  • 高速数据缓冲区:高速数据缓冲区中存放着Oracle系统最近访问过的数据块(数据块 在高速缓冲区中也可称为缓存块)。
  • 重做日志缓冲区:重做日志缓冲区用于存放对数据库进行修改操作时所产生的日志信息。
  • 共享池:共享池是SGA保留的内存区域,用于缓存SQL语句、PL/SQL语 句、数据字典、资源锁、字符集以及其他控制结构等。
  • 大型池:大型池在SGA区中不是必需的内存结构,只在某些特殊情况下,实 例需要使用大型池来减轻共享池的访问压力。
  • Java池:用来提供内存空间给Java虚拟机使用,目的是支持在数据库中运 行Java程序包,其大小由JAVA_POOL_SIZE参数决定。
  • 流池:Oracle流池用于在数据库与数据库之间进行信息共享。

程序全局区:程序全局区(Program Global Area,PGA)也可称作用户进程 全局区,它的内存区在进程私有区而不是共享区中。虽然PGA是一个全局区,可以把代码、全局变量和数据结构都可以存放在其中,但区域内 的资源并不像SGA一样被所有的用户进程所共享,而是每个Oracle服 务器进程都只拥有属于自己的那部分PGA资源。在程序全局区中,一个服务进程只能访问属于它自己的那部分PGA 资源区,各个服务进程的PGA的总和即为实例的PGA的大小。通常 PGA由私有SQL区和会话区组成。

  • 私有SQL区:私有SQL区用于存储变量以及SQL语句运行时的内存结构信息,当 每个用户连接到实例时,都会在实例中创建一个会话。这些会话可能会 在SGA区中创建一个共享SQL区,但在PGA区中可能会创建多个私有 SQL区。把一个私有SQL区与对应的共享SQL区合并在一起,就可以获 得一条SQL语句的完整缓存数据。
  • 会话区:会话区用于存放用户的会话信息(如登录用户名)。如果数据库处 于共享服务器连接模式下,则会话区将位于SGA中,而不是PGA中, 这点需要用户特别注意。

前台进程:前台进程包括用户进程和服务器进程,它不属于实例的一部分,但 是用户在不知不觉中经常会用到它,使用前台进程能够实现用户与实例的沟通。

  • 用户进程:用户进程是指那些能够产生或执行SQL语句的应用程序,无论是 SQL*Plus,还是其他应用程序,只要是能生成或执行SQL语句,都被称作用户进程。
  • 服务器进程是用于处理用户会话过程中向数据库实例发出的SQL语句或SQL*Plus命令,它可以分为专用服务器模式和共享服务器模式。

后台进程:Oracle后台进程是一组运行于Oracle服务器端的后台程序,是Oracle实例的重要组成部分。这组后台进程有若干个,它们分工明确 ——分别完成不同的系统功能,如图所示。其中SMON、 PMON、DBWR、LGWR和CKPT这5个后台进程必须正常启动,否则 将导致数据库实例崩溃。

image-20221201103749531

  • 数据写入进程:数据写入(DBWR)进程的主要任务是负责将内存中的“脏”数 据块回写到数据文件中。所谓的“脏”数据块是指高速数据缓冲区中被 修改过的数据块,这些数据块的内容与数据文件的数据块内容不一致。 但DBWR并不是随时将所有的“脏”数据块都写入数据文件,只有满 足一定的条件时,DBWR进程才开始成批量地将“脏”数据块写入数 据文件,Oracle这样做的目的是尽量减少I/O操作,提高Oracle服务器 性能。
  • 检查点进程:检查点(CKPT)进程可以看作是一个事件,当检查点事件发生 时,CKPT会要求DBWR将某些“脏”数据块回写到数据文件。当用户 进程发出数据请求时,Oracle系统从数据文件中读取需要的数据并存放 到高速数据缓冲区中,用户对数据的操作是在缓冲区中进行的。当用户 操作数据时,就会产生大量的日志信息并存储在重做日志缓冲区,当 Oracle系统满足一定条件时,日志写入(LGWR)进程会将日志信息 写入重做日志文件组中,当发生日志切换时(写入操作正要从一个日志 文件组切换到另一组时),就会启动检查点进程。
  • 日志写入进程:日志写入(LGWR)进程用于将重做日志缓冲区中的数据写入重做日志文件。Oracle系统首先将用户所做的修改日志信息写入日志文件, 然后再将修改结果写入数据文件。
  • 归档进程:归档(ARCH)进程是一个可选择的进程,只有当Oracle数据库处 于归档模式时,该进程才可能起到作用。
  • 系统监控进程:系统监控(SMON)进程是在数据库系统启动时执行回复工作的强 制性进程。例如,在并行服务器模式下,SMON可以回复另一条处于失 败的数据库,使系统切换到另外一台正常的服务器上。
  • 进程监控进程:进程监控(PMON)进程用于监控其他进程的状态,当有进程启动 失败时,PMON会清除失败的用户进程,释放用户进程所用的资源。
  • 锁进程:锁(LCKN)进程是一个可选进程,并行服务器模式下可以出现多个锁定进程以利于数据库通信。
  • 恢复进程:恢复(RECO)进程是在分布式数据库模式下使用的一个可选进程,用于数据不一致时进行恢复工作。
  • 调度进程:调度(DNNN)进程是一个可选进程,在共享服务器模式下使用, 可以启动多个调度进程。
  • 快照进程:快照(SNPN)进程用于处理数据库快照的自动刷新,并通过 DBMS_JOB包运行预定的数据库存储过程。

数据字典

数据字典是Oracle存放关于数据库内部信息的地方,用来描述数据库内部的运行和管理情况。

  • dba_:包含数据库实例的所有对象信息。
  • v$_:当前实例的动态视图,包含系统管理和系统优化等所使用的视图。
  • user_:记录用户的对象信息。
  • gv_:分布式环境下所有实例的动态视图,包含系统管理和系统优化使用的视图。
  • all_:记录用户的对象信息机被授权访问的对象信息。
基本数据字典

基本数据字典主要包括描述逻辑存储结构和物理存储结构的数据 表,另外,还包括一些描述其他数据对象信息的表,如dba_views、 dba_triggers、dba_users等。

image-20221201105406485

常用动态性能视图

Oracle系统内部提供了大量的动态性能视图,之所以说是“动态” ,是因为这些视图的信息在数据库运行期间会不断地更新。动态性能视图以v$作为名称前缀,这些视图提供了关于内存和磁盘的运行情况,用户只能进行只读访问而不能修改它们。

image-20221201105640682

Oracle 11g新功能

详情详见《Oracle从入门到精通(第3版) 明日科技》的1.3节

Oracle安装卸载

详情详见《Oracle从入门到精通(第3版) 明日科技》的1.4节

Oracle数据库产品是免费的,可以用来学习和非盈利性使用。我们可以从Oracle的官网进行下载安装程序,本次我们采用的是Oracle11g进行安装演示、以及后续的教程都将采用Oracle11g进行开发演示。Oracle在windows下安装非常方便,按照安装指引进行安装。

下载Oracle11g到本地进行解压如图所示:

Oracle安装1

点击"setup.exe"即可启动安装界面如下图:

oracle 11g是Oracle数据库软件和数据库实例分开执行的,因此,在此我们先选择安装数据库软件,安装完后再安装数据库实例、假如只是想本地通过PLSQL等工具连接远程数据库,只需安装数据库软件即可。


数据库软件安装

1、点击下一步:

可以选择单实例数据库和RAC数据库类型,在个人PC上是不应许安装RAC的,因此在此我们选择单实例数据库安装。

2、下一步进行数据库语言选择和版本选择,如图:

在此可以发现Oracle有四个版本,版本介绍参考上一章oracle介绍。不同版本代表着不同需求,在此我们选择企业版,涵盖了Oracle数据库全部功能,更好的进行开发和学习。

3、下一步如图:

Oracle 主目录位置就是 Oracle 准备安装的位置,称为“Oracle_Home”,一般 Oracle 根据当前计算机的硬盘大小默认给出一个合适的位置 。

4、点击“下一步”,就会出现如下图内容,开始对 Oracle 服务器进行环境检查,主要查看服务器是否符合 Oracle 安装的条件,比如操作系统是否支持、系统内存是否符合 Oracle 安装的最低要求等。

点击完成等待几分钟到十几分钟不等,即可完成数据库软件安装。


数据库实例创建

1、数据库软件安装完,在系统菜单目录会自动生成Oracle目录,如下图:

2、选择database configuration assistant 程序进行安装数据库实例,可以进行数据库实例创建、删除和模板管理如下图:

Oracle安装

3、下一步:全局数据库名是数据库在服务器网络中的唯一标识,如下图:

Oracle安装

4、下一步设置数据库的默认用户和密码,如下图:

Oracle安装

5、下一步:指定文件系统的存储位置,如下图:

Oracle安装

6、下一步:指定数据快速恢复区的大小和位置已经是否启用归档日志,这部分内容在后期的内容中再做介绍,这里就不细说了,配置如图:

Oracle安装

7、下一步:选择Oracle的数据库安装组件,在此全部选择,如下图:

Oracle安装

8、下一步:设置内存大小、块大小和字符集,实例中的内存结构称为系统全局区(SGA),系统会根据当前计算机系统的性能给 SGA 分配非常可观的内存空间,块大小根据实际情况调整,它表示这分配和IO的最小单位,字符集在这选择UTF-8:

Oracle安装

9、下一步:点击完成即可完成数据库实例的创建,根据pc系统性能的优劣可能要等几分钟到十几分钟不等。

Oracle安装

数据库创建完毕后,需要设置数据库的默认用户。 Oracle 中为管理员预置了两个用户分别是 SYS 和SYSTEM。同时 Oracle 为程序测试提供了一个普通用户 scott,口令管理中,可以对数据库用户设置密码,设置是否锁定。 Oracle 客户端使用用户名和密码登录 Oracle 系统后才能对数据库操作,在此,Oracle数据库就安装完成了。

友情提示:虽然一个 Oracle 数据库服务器中可以安装多个数据库实例,但是一个数据库实例需要占用非常大的内存空间,因此一般一个服务器只安装一个数据库。每一个数据库可以有很多用户, 不同的用户拥有自己的数据库对象(比如:数据库表、视图等), 一个用户如果访问其他用户的数据库对象,必须由对方用户授予一定的权限。不同的用户创建的表,只能被当前用户访问。 因此在 Oracle 开发中,不同的应用程序只需使用不同的用户访问即可。

Oracle客户端工具

Oracle数据库安装成功后,就可以通过Oracle客户端工具连接Oracle了,接下来介绍几种常用的 Oracle 客户端工具 。

SQL Plus工具

详情详见《Oracle从入门到精通(第3版) 明日科技》的1.5节

该工具是 Oracle 系统默认安装的自带的一个客户端工具。在 Windows cmd 命令行中输入“sqlplus”命令,就能够启动该工具了,如下图:

输入账户:system和密码即可登录到本地数据库,如下图:


SQL*Plus 命令行工具

该命令行工具提供了和oracle数据库交互能力,不仅仅可以连接本地数据库,也可以连接远程数据库。在cmd命令行中输入“sqlplus /nolog ”启动该工具,如下图:

这个时候其实只是启动了一个客户端进程,可以通过命令行进行连接数据库。输入命令:

conn 用户名/密码@服务器连接字符串 as 连接身份

例子: conn sys/****@127.0.0.1:1521/orcl as sysdba

如下图:

说明:连接身份代表着改用户连接数据库后享受的权限,oracle 有三种身份如下:

sysdba:数据库管理员身份。权限:打开(关闭)数据库服务器、备份(恢复)数据库、日志功能、会话限制、数据库管理功能等。

       例如:sys用户必须用sysdba才能登陆,system用户用普通用户就可以登陆。
       
sysoper:数据库操作员身份 。权限:打开(关闭)数据库服务器、备份(恢复)数据库、日志功能、会话限制。

normal:普通用户。权限:操作该用户下的数据对象和数据查询,默认的身份是normal用户。

配置本地网络服务名

上面通过服务器连接字符串连接数据库,我们也可以通过本地客户端的网络配置向导(Net Configuration Assistant )配置网络服务名,就可以替换上面的数据库连接字符串。假如你本地数据库只有一个实例,你可以不填网络服务名即可登录。

提醒:既然使用ip地址的字符串即可连接数据库,为啥还要配置本地网络服务名,在开发过程当中我们经常使用测试环境,

测试环境的数据库和正式环境会不一样,因此我们只需同一个服务名,通过切换改服务名对应的ip地址,

即可达到环境的切换,而不需要修改程序代码。

本地网络服务名配置如下:

启动 Net Configuration Assistant。选择“本地 Net 服务名配置”选项。如下图所示:

点击下一步,填写服务名(该服务名是Oracle数据安装时取的全局数据库名),如下图:

点击下一步,选择网络协议,即和数据库通讯的网络协议,默认选择TCP,如下图:

点击下一步,配置连接Oracle服务的ip地址,本地可以填写localhost/127.0.0.1。端口选择数据库安装时选择的实例监听端口,一般默认是1521。如下图:

img

然后点击下一步进行登录测试,使用system用户和密码进行测试,如下图:

img

最后点击下一步,填写网络服务名,填写完即完成数据库本地网络服务名的配置。如下图:

img

通过SQLPLUS客户端工具进行测试,通过网络服务名连接数据库,如下,测试成功。

img


PL/SQL Developer 工具

在实际Oracle的开发过程当中,经常会使用到一个第三方开发工具“PL/SQL Developer”,因为SQLPLUS开发过程当中操作相对比较麻烦,不具有友好的可视化操作,因此,使用“PL/SQL Developer”开发工具替代SQLPLUS来进行oracle数据库开发,他的运行也需要安装Oracle客户端软件,并且可以通过本地网络服务配置向导配置好网络服务名,可以使用服务名直接连接登录。如下:

img

Oracle企业管理器

详情详见《Oracle从入门到精通(第3版) 明日科技》的1.5.2节

Oracle企业管理器(Oracle Enterprise Manager,OEM)是基 于Web界面的Oracle数据库管理工具。启动Oracle 11g的OEM只需要 在浏览器中输入其URL地址——通常为 https://localhost:1518/em,然后连接主页即可;也可以在“开 始”菜单的“Oracle程序组”中选择Database Control-orcl命令来启 动Oracle 11g的OEM工具。 如果是第一次使用OEM,启动Oracle 11g的OEM后,需要安 装“信任证书”或者直接选择“继续浏览此网站”即可。然后就会出现 OEM的登录页面,用户需要输入登录用户名(如system、sys、scott 等)和登录口令。

数据库配置助手

详情详见《Oracle从入门到精通(第3版) 明日科技》的1.5.3节

在安装Oracle 11g数据库管理系统的过程中,若选中“仅安装数 据库软件”单选按钮,则系统安装完毕后,需要手动创建数据库才能够 实现对Oracle数据库的各种操作。在Oracle 11g中,可以通过数据库 配置助手(Database Configuration Assistant,DBCA)来实现创 建和配置数据库。

选择“开始”/“所有程序”/Oracle-OraDb11g_home1/“配置 和移植工具”/Database Configuration Assistant命令。

Oracle服务

Oracle在window下安装完毕,会安装很多服务,如下图:

1、OracleService+服务名(ORCL):

该服务是Oracle数据库的基础,只有启动该服务才能正常使用Oracle数据库。

2、OracleOraDb11g_home1TNSlistener :

该服务为Oracle客户端提供监听程序的服务,只有启动该服务,本地的客户端程序才能通过监听连接到数据库,和数据库进行交互。

3、Oracle ORCL VSS Writer Service:

Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如磁盘,阵列等)创建高保真的时间点映像,即映射拷贝(shadow copy)。它可以在多卷或者单个卷上创建映射拷贝,同时不会影响到系统的性能。(非必须启动)

4、OracleMTSRecoveryService:

服务端控制。该服务允许数据库充当一个微软事务服务器MTS、COM/COM+对象和分布式环境下的事务的资源管理器。(非必须启动)

5、 OracleOraDb11g_home1ClrAgent:

Oracle数据库 .NET扩展服务的一部分。 (非必须启动)

6、 OracleJobSchedulerORCL:

Oracle作业调度(定时器)服务,ORCL是Oracle实例标识。(非必须启动)

提示:
在使用第三方客户端连接Oracle数据库时,OracleOraDb11g_home1TNSlistener 服务必须启动,才能连接到远程数据库!

数据库启动和关闭

详情详见《Oracle从入门到精通(第3版) 明日科技》的1.6节

启动数据库实例

Oracle数据库实例的启动过程分为3个步骤,分别是启动实例、加载数据库、打开数据库。用户可以根据实际情况的需要,以不同的模式启动数据库,启动数据库所使用的命令格式如下。

STARTUP [NOMOUNT | MOUNT | OPEN | FORCE] [RESTRICT] [PFILE=filename]
  • NOMOUNT:表示启动实例不加载数据库。
  • MOUNT:表示启动实例、加载数据库并保持数据库的关闭状态。
  • OPEN:表示启动实例、加载并打开数据库,这个是默认选项。
  • FORCE:表示终止实例并重新启动数据库。
  • RESTRICT:用于指定以受限制的会话方式启动数据库。
  • PFILE:用于指定启动实例时所使用的文本参数文件, filename就是文件名。

Oracle数据库实例在启动时必须读取一个初始化参数文件,以便从 中获得有关实例启动的参数配置信息。若在STARTUP语句中没有指定 PFILE参数,则Oracle首先读取默认位置的服务器初始化参数文件 spfile,若没有找到默认的服务器初始化参数文件,则将读取默认位置 的文本初始化参数文件。

关闭数据库实例

与启动数据库实例相同,关闭数据库实例也分为3个步骤,分别是关闭数据库、卸载数据库、关闭Oracle实例。在SQL*Plus中,可以使 用SHUTDOWN语句关闭数据库,其具体语法格式如下。

SHUTDOWN [NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT]
  • NORMAL:表示以正常方式关闭数据库。
  • TRANSACTIONAL:表示在当前所有的活动事务被提交完毕之后,关闭数据库。
  • IMMEDIATE:表示在尽可能短的时间内立即关闭数据库。
  • ABORT:表示以终止方式来关闭数据库。

标签:数据库,用户,进程,实例,概述,Oracle,日志
From: https://www.cnblogs.com/simpleness/p/17626155.html

相关文章

  • Spark概述
    Spark概述1.1认识Spark背景:现有的计算框架有:批处理:MapReduce、Hive、Pig…,流式计算:Storm,交互式计算:Impala,Presto,但没有一种框架兼容以上所有的计算框架,spark应运而生1.1.1Spark的发展2009年由Berkeley‘sAMPLab开始编写最初的源代码。2013年加入Apache孵化器项目,很快成为......
  • 操作系统概述
    2.1.1操作系统的概念操作系统 是一组控制盒管理计算机系统的硬件和软件资源、控制程序执行、改善人机界面、合理地组织计算机工作流程并未用户使用计算机提供良好运行环境的一种系统软件。 目的:提高计算机系统的效率,增强系统的处理能力,提高系统资源的利用率,方便用户使用计算机。2......
  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • Seata概述
    1.在微服务架构下,由于数据库和应用服务的拆分,导致原本一个事务单元中的多个DML操作,变成了跨进程或者跨数据库的多个事务单元的多个DML操作,而传统的数据库事务无法解决这类的问题,所以就引出了分布式事务的概念。2.分布式事务本质上要解决的就是跨网络节点的多个事务的数据一致性问......
  • 视觉问答概述
    随着人工智能技术的逐渐成熟,计算机视觉、语音、自然语言处理等技术在金融行业的应用从广度和深度上都在加速,这不仅降低了金融机构的运营和风险成本,而且有助于提升客户的满意度,比如利用NLP技术实现智能问答解决方案,帮助用户即使没有复杂的金融背景知识也能快速找到自己需要的信息,而......
  • 操作系统概述
    2.1.1操作系统的概念操作系统 是一组控制盒管理计算机系统的硬件和软件资源、控制程序执行、改善人机界面、合理地组织计算机工作流程并未用户使用计算机提供良好运行环境的一种系统软件。 目的:提高计算机系统的效率,增强系统的处理能力,提高系统资源的利用率,方便用户使用计算机。2......
  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • X509 概述
    在和CA进行一些接触时,我们常常会听到一个名词:X.509。它是一种行业标准或者行业解决方案,在X.509方案中,默认的加密体制是公钥密码体制。为进行身份认证,X.509标准及公共密钥加密系统提供了数字签名的方案。用户可生成一段信息及其摘要(亦称作信息"指纹")。用户用专用密钥对摘要加......
  • JQuery概述
      ......