oracle

简介

oracle(甲骨文)公司

1977年,三人合伙创办(Software Development Laboratories,SDL)

1979年,更名为Relational Software Inc.,RSI

1983年,为了突出核心产品 ,RSI更名为Oracle

2002年04月26日,启用“甲骨文”作为中文注册商标

oracle 主要组件

  1. 数据库

    • 数据库就是存储数据的一种媒介,即磁盘上存储的数据的集合。
    • 在物理上表现为数据文件,日志文件,和控制文件等。
    • 在逻辑上以表空间形成存在。
    • 首先必须创建数据库,才能使用oracle。
    • 数据库包含的文件有:
      • 数据文件,扩展名是.DBF,用于存储数据库数据的文件,数据库和数据文件不存在一对一对应关系。一个数据库,可以拥有多个数据文件,但一个数据文件只能对应一个数据库。
      • 控制文件,扩展名是.CTL,是数据库启动以及运行所必须要的文件,默认包含三个控制文件,各个控制文件内容相同。
      • 日志文件,扩展名是.LOG,它记录了对数据的所有更改信息,多个日志文件组之间循坏使用。
      • Oracle数据库还包含如参数文件,网络文件,备份文件,以及用于备份和恢复的归档重做日志文件等重要文件。
  2. 数据库实例

    • 实例的概念是指oracle系统中一系列进程,以及为这进程所分配的内存块。每个启动的数据库,都对应一个数据库实例,由这个实例,来访问和控制数据库。

      • 在oracle中,我们可以新建一个Oracle实例,这个时候虽然有了SGA等一些列内存块,但是这个时候并没有把数据库文件读取进来。所以只是一个实例,再后来,你可以通过,命令手段,或者自动的把数据库文件加载进我们这个实例中。这个时候的数据库才可以真正让我们访问和操作。所以说,数据库的应用如果想实现,数据库,和数据库实例是缺一不可的。如果只有数据那些文件,那么,只能代表这些数据在这个文件中,但是我们无法进行操作,而如果只有数据库实例,那么我虽然可以操作数据,但是不知道操作哪些数据。操作生产的数据也无法保存等。所以,当一个Oracle实例真正加载一个Oracle Datebase了以后,数据库才可以被我们使用。

      • 当一个实例启动时,Oracle数据库分配一个称为系统全局区(SGA)的内存区域,并启动一个或者多个后台进程。

        • 系统全局区(SGA)的内存区域作用包括:

          • 维护多个进程和线程并发访问的内部数据结构
          • 缓存从磁盘读取的数据块
          • 在写入在线重做日志文件之前缓冲重做数据
          • 存储 SQL 执行计划
        • 系统全局区SGA内存结构包括:

          1 共享池 2 数据缓冲区 3 日志缓冲区

          1. 共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域。共享池由库缓存和数据字典缓存组成。共享池的大小直接影响数据库的性能
          2. 数据缓冲区用于存储从磁盘数据文件中读入的数据,所有用户共享。服务器进程将读入的数据保存在数据缓冲区中,当后续的请求需要这些数据时可以在内存中找到,不需要再从磁盘读取,提高了读取速度。数据缓冲区的大小对数据库的读取速度有直接的影响
          3. a.日志记录数据库的所有修改信息,日志信息首先产生于日志缓冲区。当日志缓冲区的日志数据达到一定数量时,由后台进程将日志数据写入日志文件中。相对来说,日志缓冲区对数据库的性能影响较小

Oracle基本概念

  1. 表空间

    • 表空间是Oracle数据库中最大的逻辑结构。它提供了一套有效组织数据的方法,是组织数据和进行空间分配的逻辑结构,可以将表空间看作是数据库对象的容器。简单地说,表空间就是一一个或多个数据文件(物理文件)的集合(逻辑文件),所有的数据对象都被逻辑地存放在指定的表空间中。
    • 每个Oracle数据库都是由若干个表空间构成
    • 用户在数据库中建立的所有内容都被存储到表空间
    • 创建数据库时会自动创建若干表空间
    • Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。
    • 表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。
  2. 全局数据库名

    • 用于区分一个数据库的内部标识
    • 全局数据库名=数据库名+域名
    • 使数据库的取名在整个网络环境中唯一
  3. 模式和模式对象

    • 模式为模式对象的集合,模式是一个逻辑容器,你可以把模式理解为文件夹,方便我们对一组数据库对象进行管理。通常,一个大的系统由许多小的系统组成,我们可以给每个小的系统创建一个模式,把该系统中用到的数据库对象都创建在这个模式中。例如,每个公司都会有员工,我们可以创建一个模式 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的主要组件和基本概念的更多相关文章

  1. Oracle数据访问组件ODAC的安装方法

    Oracle数据访问组件ODAC(Oracle Data Access Components)顾名思义就是用来访问Oracle数据库的小程序.我们可以编程调用这些组件来实现在没有安装Oracle数据库 ...

  2. Oracle数据访问组件ODAC的安装方法:

    Oracle数据访问组件ODAC(Oracle Data Access Components)顾名思义就是用来访问Oracle数据库的小程序.我们可以编程调用这些组件来实现在没有安装Oracle数据库 ...

  3. 安装oracle XML Database 组件

    近期部署项目数据库,编译包时遇到错误:   PACKAGE CTG.CTG_CSB_COMMON 编译错误  错误:PLS-00201: identifier 'XMLDOM' must be dec ...

  4. SSIS利用Microsoft Connector for Oracle by Attunity组件进行ETL!

    对于BI项目,在数据仓库方面的技术实现主要是进行数据集成的工作,源数据可能来自不同的业务数据库(如Sql Server.ORACLE.My sql.EXCEL等),通过SSIS的数据流组件很容易进行各 ...

  5. 极客时间_Vue开发实战_05.Vue组件的核心概念(1):属性

    05.Vue组件的核心概念(1):属性 代码地址: https://github.com/tangjinzhou/geektime-vue-1/blob/master/%E6%BC%94%E7%A4% ...

  6. 极客时间_Vue开发实战_06.Vue组件的核心概念(2):事件

    06.Vue组件的核心概念(2):事件 通过emit传递给父组件 我们点击了重置失败,上层的div的click=handleDivClick是接收不到.重置失败的点击的行为的 通常情况下,你不用.st ...

  7. 极客时间_Vue开发实战_07.Vue组件的核心概念(3):插槽

    07.Vue组件的核心概念(3):插槽 严格来的说在2.0之后已经不分区这两种插槽的概念了. 因为它底层的实现已经趋向于相同了. 2.6为了兼容2.5的版本,现在依然可以用这两种写法 作用域插槽就是多 ...

  8. oracle 11g RAC 的一些基本概念(三)

    Grid Infrastructure共享组件   Grid Infrastructure使用两种类型的共享设备来管理集群资源和节点:OCR(Oracle Cluster Registry)和表决磁盘 ...

  9. Oracle实例名,服务名等概念区别与联系

    数据库名.实例名.数据库域名.全局数据库名.服务名 , 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数 ...

随机推荐

  1. requests接口测试-requests的安装

    requests接口测试-requests的安装 安装常见问题 提示连接不上,443问题 一般是因为浏览器设置了代理,关闭代理. 网络加载慢,设置国内镜像地址 1.pip安装 2.pycharm安装 ...

  2. Ajax与Gson

    1. ajax的底层操作方法: 代码get请求  Get请求 2. Post请求 $("#chufa").click(function () { var val = $(" ...

  3. Object of type type is not JSON serializable

    报这个错的原因是因为json.dumps函数发现字典里面有bytes类型的数据,无法编码.解决方法:将bytes类型的数据就把它转化成str类型. 定义dates[]后return JsonRespo ...

  4. 配置Nginx和php-fpm用Sock套接字连接时,找不到php-fpm.sock的原因

    php5.3之后的版本,php-fpm.conf里的listen的默认配置是127.0.0.1:9000,就不会生成php-fpm.sock,因此如果需要Nginx里的配置有链接tmp/php-fpm ...

  5. P3313-[SDOI2014]旅行【树链剖分,线段树】

    正题 题目链接:https://www.luogu.com.cn/problem/P3313 题目大意 \(n\)个点的一棵树,每个点有一个颜色和权值,有操作 修改一个点的权值 修改一个点的颜色 询问 ...

  6. P3211-[HNOI2011]XOR和路径【高斯消元】

    正题 题目链接:https://www.luogu.com.cn/problem/P3211 题目大意 一个\(n\)个点\(m\)条边的无向图,从\(1\)到\(n\)随机游走.求期望路径异或和. ...

  7. 阿里:MySQL数据库规范

    阿里:MySQL数据库规范 简介:基于阿里数据库设计规范扩展而来 设计规范 1.[推荐]字段允许适当冗余,以提高查询性能,但必须考虑数据一致.冗余字段应遵循: 不是频繁修改的字段. 不是 varcha ...

  8. 为什么 Dapr 如此令人兴奋

    如今你构建软件,您可以从数量众多的云服务中进行选择.仅 AWS 就每个月都在不断为其200多项服务添加新服务,而其他云提供商也都在跟上. 如果您的公司想与您的竞争对手竞争,您就需要充分利用这些服务,这 ...

  9. TWAIN-v2.4-说明文档翻译(2)技术概览

    技术概览 Technical Overview TWAIN架构(TWAIN Architecture) 数据交互的实现在TWAIN中由三类软件元素共同工作完成:应用程序(the application ...

  10. Rclone使用教程 - 挂载Onedrive和谷歌网盘

    1. 介绍 Rclone 是一个用于多个云平台之间同步文件和目录的命令行工具,其支持多种运营商网盘. 官网网址:https://rclone.org 开源地址:https://github.com/n ...