Oracle的主要组件和基本概念
oracle
简介
oracle(甲骨文)公司
1977年,三人合伙创办(Software Development Laboratories,SDL)
1979年,更名为Relational Software Inc.,RSI
1983年,为了突出核心产品 ,RSI更名为Oracle
2002年04月26日,启用“甲骨文”作为中文注册商标
oracle 主要组件

数据库
- 数据库就是存储数据的一种媒介,即磁盘上存储的数据的集合。
- 在物理上表现为数据文件,日志文件,和控制文件等。
- 在逻辑上以表空间形成存在。
- 首先必须创建数据库,才能使用oracle。
- 数据库包含的文件有:
- 数据文件,扩展名是.DBF,用于存储数据库数据的文件,数据库和数据文件不存在一对一对应关系。一个数据库,可以拥有多个数据文件,但一个数据文件只能对应一个数据库。
- 控制文件,扩展名是.CTL,是数据库启动以及运行所必须要的文件,默认包含三个控制文件,各个控制文件内容相同。
- 日志文件,扩展名是.LOG,它记录了对数据的所有更改信息,多个日志文件组之间循坏使用。
- Oracle数据库还包含如参数文件,网络文件,备份文件,以及用于备份和恢复的归档重做日志文件等重要文件。
数据库实例
实例的概念是指oracle系统中一系列进程,以及为这进程所分配的内存块。每个启动的数据库,都对应一个数据库实例,由这个实例,来访问和控制数据库。
在oracle中,我们可以新建一个Oracle实例,这个时候虽然有了SGA等一些列内存块,但是这个时候并没有把数据库文件读取进来。所以只是一个实例,再后来,你可以通过,命令手段,或者自动的把数据库文件加载进我们这个实例中。这个时候的数据库才可以真正让我们访问和操作。所以说,数据库的应用如果想实现,数据库,和数据库实例是缺一不可的。如果只有数据那些文件,那么,只能代表这些数据在这个文件中,但是我们无法进行操作,而如果只有数据库实例,那么我虽然可以操作数据,但是不知道操作哪些数据。操作生产的数据也无法保存等。所以,当一个Oracle实例真正加载一个Oracle Datebase了以后,数据库才可以被我们使用。
当一个实例启动时,Oracle数据库分配一个称为系统全局区(SGA)的内存区域,并启动一个或者多个后台进程。
系统全局区(SGA)的内存区域作用包括:
- 维护多个进程和线程并发访问的内部数据结构
- 缓存从磁盘读取的数据块
- 在写入在线重做日志文件之前缓冲重做数据
- 存储 SQL 执行计划
系统全局区SGA内存结构包括:
1 共享池 2 数据缓冲区 3 日志缓冲区
- 共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域。共享池由库缓存和数据字典缓存组成。共享池的大小直接影响数据库的性能
- 数据缓冲区用于存储从磁盘数据文件中读入的数据,所有用户共享。服务器进程将读入的数据保存在数据缓冲区中,当后续的请求需要这些数据时可以在内存中找到,不需要再从磁盘读取,提高了读取速度。数据缓冲区的大小对数据库的读取速度有直接的影响
- a.日志记录数据库的所有修改信息,日志信息首先产生于日志缓冲区。当日志缓冲区的日志数据达到一定数量时,由后台进程将日志数据写入日志文件中。相对来说,日志缓冲区对数据库的性能影响较小
Oracle基本概念
表空间
- 表空间是Oracle数据库中最大的逻辑结构。它提供了一套有效组织数据的方法,是组织数据和进行空间分配的逻辑结构,可以将表空间看作是数据库对象的容器。简单地说,表空间就是一一个或多个数据文件(物理文件)的集合(逻辑文件),所有的数据对象都被逻辑地存放在指定的表空间中。
- 每个Oracle数据库都是由若干个表空间构成
- 用户在数据库中建立的所有内容都被存储到表空间
- 创建数据库时会自动创建若干表空间
- Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。
- 表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。
全局数据库名
- 用于区分一个数据库的内部标识
- 全局数据库名=数据库名+域名
- 使数据库的取名在整个网络环境中唯一
模式和模式对象
模式为模式对象的集合,模式是一个逻辑容器,你可以把模式理解为文件夹,方便我们对一组数据库对象进行管理。通常,一个大的系统由许多小的系统组成,我们可以给每个小的系统创建一个模式,把该系统中用到的数据库对象都创建在这个模式中。例如,每个公司都会有员工,我们可以创建一个模式 HR,然后在 HR 中创建一个表 EMPLOYEES 来维护员工信息,如果需要在其他模式中访问 EMPLOYEES 表,我们需要指定它的全名 HR.EMPLOYEES。
每一个用户对应一个模式,模式隶属于某个数据库用户,模式名和数据库用户是相同的,那如何创建模式呢?很简单,其实就是创建数据库用户就创建了同名的模式
模式对象是用户拥有的对象,我们可以在模式中创建表(Table), 分区(Partition), 视图(View), 索引(Indexe), 包(Package),存储过程(Procedure),函数(Function),触发起(Trigger),类型(Type), 序列(Sequence), 同义(Synonym)等数据库对象。
非模式对象与用户无关,如上下文(Contexts) 目录(Directory) 概要文件(Profile) 角色(Role) 表空间(Tablespaces) 用户(User)
SYS 和 SYSTEM 模式
当我们安装 Oracle 的时候,系统自动帮我们创建了 SYS 和 SYSTEM 模式,它们拥有最高权限,用来管理数据库
sys用户是超级用户,具有最高权限即sysdba角色,有create database的权限,所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。
system是数据库内置的一个普通管理员,你手工创建的任何用户在被授予dba角色后都跟这个用户差不多。 system用户as sysdba登录时和sys一样,可以用show user查看当前用户进行验证。system用户不能以 as sysoper角色登录,只能以normal角色登录。即conn system/pwd。
Oracle的主要组件和基本概念的更多相关文章
- Oracle数据访问组件ODAC的安装方法
Oracle数据访问组件ODAC(Oracle Data Access Components)顾名思义就是用来访问Oracle数据库的小程序.我们可以编程调用这些组件来实现在没有安装Oracle数据库 ...
- Oracle数据访问组件ODAC的安装方法:
Oracle数据访问组件ODAC(Oracle Data Access Components)顾名思义就是用来访问Oracle数据库的小程序.我们可以编程调用这些组件来实现在没有安装Oracle数据库 ...
- 安装oracle XML Database 组件
近期部署项目数据库,编译包时遇到错误: PACKAGE CTG.CTG_CSB_COMMON 编译错误 错误:PLS-00201: identifier 'XMLDOM' must be dec ...
- SSIS利用Microsoft Connector for Oracle by Attunity组件进行ETL!
对于BI项目,在数据仓库方面的技术实现主要是进行数据集成的工作,源数据可能来自不同的业务数据库(如Sql Server.ORACLE.My sql.EXCEL等),通过SSIS的数据流组件很容易进行各 ...
- 极客时间_Vue开发实战_05.Vue组件的核心概念(1):属性
05.Vue组件的核心概念(1):属性 代码地址: https://github.com/tangjinzhou/geektime-vue-1/blob/master/%E6%BC%94%E7%A4% ...
- 极客时间_Vue开发实战_06.Vue组件的核心概念(2):事件
06.Vue组件的核心概念(2):事件 通过emit传递给父组件 我们点击了重置失败,上层的div的click=handleDivClick是接收不到.重置失败的点击的行为的 通常情况下,你不用.st ...
- 极客时间_Vue开发实战_07.Vue组件的核心概念(3):插槽
07.Vue组件的核心概念(3):插槽 严格来的说在2.0之后已经不分区这两种插槽的概念了. 因为它底层的实现已经趋向于相同了. 2.6为了兼容2.5的版本,现在依然可以用这两种写法 作用域插槽就是多 ...
- oracle 11g RAC 的一些基本概念(三)
Grid Infrastructure共享组件 Grid Infrastructure使用两种类型的共享设备来管理集群资源和节点:OCR(Oracle Cluster Registry)和表决磁盘 ...
- Oracle实例名,服务名等概念区别与联系
数据库名.实例名.数据库域名.全局数据库名.服务名 , 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数 ...
随机推荐
- Jenkins持续集成体系 | 最完整的介绍及资料
这篇文章是来给大家普及Jenkins知识的, Jenkins能解决什么问题, 有哪些应用场景, 为何要掌握Jenkins, 掌握Jenkins后有哪些好处, 弄懂Jenkins需要掌握哪些知识 不知道 ...
- Expression Tree 遍历集合
场景 从接口返回的数据是集合,却是 object 类型的.这个时候需要遍历这个集合.现提供两种方法. 方法一: 因为集合是可枚举的,所以可以尝试转为 IEnumerable 类型,然后遍历即可. st ...
- 鸿蒙内核源码分析(字符设备篇) | 字节为单位读写的设备 | 百篇博客分析OpenHarmony源码 | v67.01
百篇博客系列篇.本篇为: v67.xx 鸿蒙内核源码分析(字符设备篇) | 字节为单位读写的设备 | 51.c.h.o 文件系统相关篇为: v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说一 ...
- P6793-[SNOI2020]字符串【广义SAM,贪心】
正题 题目链接:https://www.luogu.com.cn/problem/P6793 题目大意 给出两个长度为\(n\)的字符串,取出他们所有长度为\(k\)的连续子串分别构成两个可重集合\( ...
- windows环境下配置Kafaka
一.安装Zookeeper(Kafaka依赖于zookeeper进行服务注册和管理) 1. 1 下载zookeeper:http://mirror.bit.edu.cn/apache/zookee ...
- Decorator装饰器模式个人理解
对于装饰器模式,其主要是为了:在不改变本体特征的情况下,对其进行包装.装饰,目的是为了补充.扩展.增强其功能. 有三个原则: 不能改变本体的特征 要对本体的功能进行扩展 装饰器脱离了本体则没有任何含义 ...
- 为什么 Dapr 如此令人兴奋
如今你构建软件,您可以从数量众多的云服务中进行选择.仅 AWS 就每个月都在不断为其200多项服务添加新服务,而其他云提供商也都在跟上. 如果您的公司想与您的竞争对手竞争,您就需要充分利用这些服务,这 ...
- MyBatis 批量插入数据的 3 种方法!
批量插入功能是我们日常工作中比较常见的业务功能之一,之前我也写过一篇关于<MyBatis Plus 批量数据插入功能,yyds!>的文章,但评论区的反馈不是很好,主要有两个问题:第一,对 ...
- 点击按钮改变div背景色,再次点击恢复 -- 原生JS
如果对您有帮助,记得点个赞哦!
- 题解 Yet Another Number Sequence
题目传送门 Description 给出 \(n,k\) ,求出: \[\sum_{i=1}^{n} f_i·i^k \] 其中 \(f_i\) 表示斐波拉契第 \(i\) 项.\(n\le 10^{ ...