Oracle 入门必读

Oracle 是啥?

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

Oracle 的特性

Oracle 数据库系统能够在业内独占鳌头并不是空穴来风

  • 具有完整的数据库管理功能、分布式处理能力。
  • 完备关系的产品:
    • 信息准则:关系型 DBMS 的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;
    • 保证访问的准则;
    • 视图更新准则:只要形成视图的表中的数据变化了,相应的视图中的数据同时变化;
    • 数据物理性和逻辑性独立准则;
  • 对数据的可靠性、大量性、持久性、共享性提供了一套可靠的解决方案,而且可以轻松支持多用户、大事务量的事务处理。
  • 可用性强、可扩展性强、数据安全性强、稳定性高。
  • 提供了一套严禁的逻辑结构、文件结构、相关恢复技术的解释和实现。

Oracle 的缺点

  • 对硬件要求很高(占用的资源多);
  • 可移植性差(迁移成其他数据库);
  • 价格比较昂贵(服务费);
  • 操作比较复杂(技术含量高);
  • 数据库宕机后恢复很麻烦(很多东西放在内存里);

Oracle 的使用场景

  • 银行、金融系统;
  • 数据仓库系统;

Oracle 体系结构

image-20220123170654746

通过上面的体系概要图,接下来逐一了解 Oracle 体系结构的构成。

数据存储结构

Oracle 数据库实际上是一个数据的物理储存系统,数据结构逻辑由物理存储结构逻辑存储结构构成。

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

image-20220123152456651

物理存储结构

存储数据的纯文件。当执行一个 CREATE DATABASE 语句来创建一个新的数据库时,将创建下列文件:

  • 数据文件:Oracle 数据文件是数据存储的物理单位,数据库的数据是存储在表空间中的。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。

  • 控制文件:每个 Oracle 数据库都有一个包含元数据的控制文件。元数据用来描述包括数据库名称数据文件位置的数据库物理结构。

  • 联机重做日志文件:每个 Oracle 数据库都有一个联机重做日志,里面包含两个或多个联机重做日志文件。联机重做日志由重做条目组成,能够记录下所有对数据所做的更改

除这些文件外,Oracle 数据库还包括如参数文件、网络文件、备份文件以及用于备份和恢复的归档重做日志文件等重要文件。

逻辑存储结构

Oracle 数据库使用逻辑存储结构对磁盘空间使用情况进行精细控制。以下是 Oracle 数据库中的逻辑存储结构:

  • 数据块(Data blocks):Oracle 将数据存储在数据块中。数据块也被称为逻辑块,Oracle 块或页,对应于磁盘上的字节数。
  • 区(Extents):用于存储特定类型信息的逻辑连续数据块的具体数量。
  • 段(Segments):分配用于存储用户对象(例如表或索引)的一组范围。
  • 表空间(Tablespaces):Oracle 对物理数据库数据文件(ora/dbf)的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间由同一磁盘上的一个或多个数据文件(datafile)组成,一个数据文件只能属于一个表空间

实例

Oracle 实例是客户端应用程序(用户)和数据库之间的接口。Oracle 实例由三个主要部分组成:系统全局区 (SGA),程序全局区 (PGA) 和后台进程

image-20220123194634869

SGA 是实例启动时分配的共享内存结构(所有进程都可用的),关闭时释放。是一组包含一个数据库实例的数据和控制信息的共享内存结构。

PGA 是会话开始时为每个会话分配的私有内存区,当会话结束时释放

主要的 Oracle 数据库的后台进程
  • PMON:数据库中最活跃的一个进程,是调节所有其他进程的进程监视器。能够清理异常连接的数据库连接,并自动向侦听器进程注册数据库实例。
  • SMON:执行系统级清理操作的系统监视进程。它有两个主要职责,包括在发生故障的情况下自动恢复实例,例如断电和清理临时文件。
  • DBWR:数据库编写器。Oracle 在内存中执行每个操作而不是磁盘中,因为在内存中的处理速度比在磁盘上快。DBWR 进程从磁盘读取数据并将其写回到磁盘。一个 Oracle 实例有许多数据库编写器,如:DBW0,DBW1,DBW2等等。
  • LGWR:日志写入过程,是可恢复架构的关键。在数据库中发生的每一个变化都被写出到一个名为 redo 日志文件中用于恢复目的,而这些变化是由 LGWR 进程编写和记录的。LGWR 进程首先将更改写入内存,然后将磁盘写入重做日志,然后将其用于恢复。
  • CKPT:检查点进程。在 Oracle 中,磁盘上的数据称为块,内存中的数据称为缓冲区。当该块写入缓冲区并更改时,缓冲区变脏,需要将其写入磁盘。CKPT 进程使用检查点信息更新控制和数据文件头,并向脏盘写入脏缓冲区的信号。请注意,Oracle 12c 允许全面和增量检查点。

用户

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

字段数据类型

Oracle 表是一个二维的数据结构,有列字段和对应列的数据构成一个数据存储的结构。可以简单看成行和列的二维表,列代表着Oracle字段(column),行代表着一行数据(即一条数据记录)。

**数据类型 ****类型解释 **
VARCHAR2(length)字符串类型:存储可变的长度的字符串,length:是字符串的最大长度,默认不填的时候是1,最大长度不超过4000。
CHAR(length)字符串类型:存储固定长度的字符串,length:字符串的固定长度大小,默认是1,最大长度不超过2000。
NUMBER(a,b)数值类型:存储数值类型,可以存整数,也可以存浮点型。a代表数值的最大位数:包含小数位和小数点,b代表小数的位数。例子:number(6,2),输入123.12345,实际存入:123.12 。number(4,2),输入12312.345,实际春如:提示不能存入,超过存储的指定的精度。
DATA时间类型:存储的是日期和时间,包括年、月、日、时、分、秒。例子:内置函数sysdate获取的就是DATA类型
TIMESTAMP时间类型:存储的不仅是日期和时间,还包含了时区。例子:内置函数systimestamp获取的就是timestamp类型
CLOB大字段类型:存储的是大的文本,比如:非结构化的txt文本,字段大于4000长度的字符串。
BLOB二进制类型:存储的是二进制对象,比如图片、视频、声音等转换过来的二进制对象

安装与使用

安装

推荐使用 Docker 安装!

Oracle 11g Windows 10安装教程

Docker 安装 Oracle 11g

使用

Oracle 教程

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Strive_MY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值