oracle的基本结构

oracle软件(RDBMS)

oracle软件:关系型数据库管理系统

在linux系统上,oracle软件安装在:/u01/app/oracle这个目录下

oracle数据库(database)

oracle数据库:它是由一推文件组成,建数据库(使用dbca命令建库),建立在/oradata这个目录下

数据库里面放的就是表

数据库和软件是完全相互独立的,互不影响

数据库里面的文件:

1、参数文件

2、控制文件

3、数据文件:放着表

4、redo log日志文件:重做日志文件

5、archive log文件:归档日志文件

oracle实例(instance)



图解:

oracle软件,然后建了一个数据库,然后打开数据库,打开的时候,oracle会在内存里面划出一部分空间出来,然后起了一堆进程,然后这个内存和进程合起来就叫做数据库实例;

用户通过oracle软件连接上数据库实例,然后通过实例再访问数据库,访问表的时候,先从数据库里调到内存,再从内存里返回给用户

这就有一个问题了:

oracle数据库打开以后,这个内存有多大,怎么控制,要起多少进程,等等这些相关的设置,通过参数文件知道的,参数文件控制实例的情况

控制文件的作用:

有多少数据文件,多少redo log文件,这些就叫做数据库的物理结构,这些文件就在控制文件中记录着,所以控制文件的作用就是存储数据库的物理结构

redo log文件:

用户修改一个表,oracle会把修改这个动作记录成日志,然后这个日志就存到redo log日志里面去,存起来;将来表坏了,我们就可以使用日志把这个表重新恢复出来



图解:

假设有三个redo log,第一个用完了,用第二个,第二个用完了,用第三个,第三个用完了,再过来覆盖第一个,循环使用;当日志满了以后,要被循环使用的时候,oracle会把日志拷贝出来,存放到归档日志里面去

oracle数据库启动的时候,先读spfile,根据spfile里面的设置生成实例,spfile里面记录着控制文件的位置,然后根据spfile找到控制文件,打开控制文件,然后控制文件里面记录着数据库的物理结构在什么位置(数据文件和redo log),然后根据控制文件找到数据文件和redo log,然后把它们打开,数据库就打开了

归档日志在数据库运行期间是不打开的

1、oracle实例、软件、库简单讲解的更多相关文章

  1. Android事件总线分发库EventBus3.0的简单讲解与实践

    Android事件总线分发库EventBus的简单讲解与实践 导语,EventBus大家应该不陌生,EventBus是一款针对Android优化的发布/订阅事件总线.主要功能是替代Intent,Han ...

  2. DES加解密 cbc模式 的简单讲解 && C++用openssl库来实现的注意事项

    DES cbc是基于数据块加密的.数据块的长度为8字节64bit.以数据块为单位循环加密,再拼接.每个数据块加密的秘钥一样,IV向量不同.第一个数据快所需的IV向量,需要我们提供,从第二个数据块开始, ...

  3. 第三百三十节,web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解

    第三百三十节,web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解 封装模块 #!/usr/bin/env python # -*- coding: utf- ...

  4. oracleclient连oracle库 报System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本

    在iis下发布eworkflow+eform+ebiao的代码,访问oracle的数据库,用oracleClient或者oledb的方式连接,有时会报“System.Data.OracleClient ...

  5. Python常用的库简单介绍一下

    Python常用的库简单介绍一下fuzzywuzzy ,字符串模糊匹配. esmre ,正则表达式的加速器. colorama 主要用来给文本添加各种颜色,并且非常简单易用. Prettytable ...

  6. Qt5.5.0使用mysql编写小软件源码讲解---顾客信息登记表

    Qt5.5.0使用mysql编写小软件源码讲解---顾客信息登记表 一个个人觉得比较简单小巧的软件. 下面就如何编写如何发布打包来介绍一下吧! 先下载mysql的库文件链接:http://files. ...

  7. Oracle实例和Oracle数据库(Oracle体系结构)

    --========================================== --Oracle实例和Oracle数据库(Oracle体系结构) --==================== ...

  8. 【转载】Oracle实例和Oracle数据库(Oracle体系结构)

    免责声明:     本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除.     原文作者:Leshami      原文地址:http://blog.csdn.net/ ...

  9. 《Oracle Database 12c DBA指南》第二章 - 安装Oracle和创建数据库(2.1 安装Oracle数据库软件和创建数据库概览)

    当前关于12c的中文资料比较少,本人将关于DBA的一部分官方文档翻译为中文,很多地方为了帮助中国网友看懂文章,没有按照原文句式翻译,翻译不足之处难免,望多多指正. 2.1 安装Oracle数据库软件和 ...

  10. Oracle笔试题库 附参考答案

    1.  下列不属于ORACLE的逻辑结构的是(C) 区 段 数据文件 表空间 2. 下面哪个用户不是ORACLE缺省安装后就存在的用户(A) A . SYSDBA B. SYSTEM C. SCOTT ...

随机推荐

  1. Html 使用scss爆红

      使用     <style  lang="less" scoped> </style>   即可      

  2. MySQL服务端innodb_buffer_pool_size配置参数

    innodb_buffer_pool_size是什么? innodb_buffer_pool是 InnoDB 缓冲池,是一个内存区域保存缓存的 InnoDB 数据为表.索引和其他辅助缓冲区.innod ...

  3. 牛逼!Vue3.5的useTemplateRef让ref操作DOM更加丝滑

    前言 vue3中想要访问DOM和子组件可以使用ref进行模版引用,但是这个ref有一些让人迷惑的地方.比如定义的ref变量到底是一个响应式数据还是DOM元素?还有template中ref属性的值明明是 ...

  4. docker image 变小的办法

    https://www.docker.com/blog/intro-guide-to-dockerfile-best-practices/ https://medium.com/sciforce/st ...

  5. 后缀数组,SA

    主要是 \(O(n\log n)\) 倍增求 SA. (为什么这么短) const int N = 1e6 + 9; int n; int sa[N], sa_tmp[N], rk[N], ork[N ...

  6. Vue.js 异步组件传参

    本文主要展示一下如何给异步组件进行参数传递: 通过 h 函数就可以啦 versions: vue@3.2.13 子组件 Async.vue <template> <div> & ...

  7. ES6之常用开发知识点:字符串的扩展与正则表达式的扩展(三)

    字符串的扩展 codePointAt JavaScript 内部,字符以 UTF-16 的格式储存,每个字符固定为2个字节.对于那些需要4个字节储存的字符(Unicode 码点大于0xFFFF的字符) ...

  8. SQL Server – 基本操作 Table 和 Column

    前言 日常都是用 EF Core 来管理 Database, 偶尔也用 Management Studio, 就是很少手写 Command. 虽然网上一拉就有很多, 但是每次写单侧都要到处找还是挺烦的 ...

  9. CSS & JS Effect – Styling Input Radio

    原生 Radio 的 Limitation <input type="radio" style="width: 25px; height: 25px; cursor ...

  10. MyBatisPlus——简介

    概述 MyBatisPlus(简称MP)是基于MyBatisPlus框架基础上开发的增强型工具,旨在简化开发.提高效率 国内开发的技术 特性 无侵入:只做增强不做改变,不会对现有工程产生影响 强大的C ...