Oracle数据库学习笔记(四)--Oracle体系结构
1、数据库
Oracle 数据库是数据的物理存储。这就包括(数据文件 ORA 或者 DBF 、控制文件、联机日志、参数文件)。其实 Oracle 数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是 Oracle 就只有一个大数据库。数据库侧重于硬件。
2、实例
一个 Oracle 实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。一个数据库可以有 n 个实例。一般情况下,在公司中一套数据库硬件上只运行一个实例,但是实际上是可以运行多个实例的。实例侧重于进程。
3、用户
用户是在实例下建立的。不同实例可以建相同名字的用户。Oracle 中用户是管理表的基本单位。作为对比,在 MySQL 数据库中,管理表的基本单位是数据库。比如,如果公司用的是 MySQL ,可以直接说当前数据库下有几张表。但是如果公司用的是 Oracle,就不可以这么说了,需要说某用户下有几张表。用 MySQL 做一个新项目需要新创建一个数据库,用 Oracle 做一个新项目需要新创建一个用户。
4、表空间
表空间是 Oracle 对物理数据库上相关数据文件(ORA 或者 DBF 文件)的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为 system 表空间)。
每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间。
表空间说白了它是一个逻辑单位,它就是当数据库过于庞大不便于管理的情况下,会把表空间再分成一些细小的块,这些块起一个名字叫做表空间。具体这些块里的内容就是数据文件。一组或者一堆数据文件合在一起就叫做表空间。
5、数据文件(dbf、ora)
数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真正是在某一个或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。
注:表的数据,是由用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。
由于 Oracle 的数据库不是普通的概念, Oracle 是有用户和表空间对数据进行管理和存放的。但是表不是由表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!
6、总结
这张图整体范围内可以称之为一个数据库,数据库侧重于硬件,一个硬件上可以跑起来多个实例。这张图里面就画了 2 个实例。一个实例很大,不便于管理,所以可以对实例进行细分,分成多个表空间,也就是说实例和表空间的关系是一对多。具体管理表的基本单位是用户,一个实例下可以有多个用户。当然,用户的等级不一样,他操作表的权限也不一样。有的用户的权限很大,他可以创建表、表的索引、表的序列等等。有的用户权限不大,就只能做一些查询、增加、修改等一些基本的操作。表空间是一个逻辑单位,那么里面具体的文件存放到什么地方呢?存放在 dbf 或者 ora 文件里面。也就是说一个表空间内可以存放 n 个 dbf 或者 ora 这种物理文件,当然,一个表空间可以对应多个用户。
Oracle数据库学习笔记(四)--Oracle体系结构相关推荐
- adg oracle,【学习笔记】Oracle ADG搭建与配置 windows平台11G ADG搭建与测试
[学习笔记]Oracle ADG搭建与配置 windows平台11G ADG搭建与测试 时间:2016-10-26 20:09 来源:Oracle研究中心 作者:HTZ 点击: 次 天萃荷 ...
- 数据导不进oracle数据库,学习笔记:Oracle逻辑导出/导入 数据逻辑导出时跳过指定表不进行导出...
天萃荷净 Oracle数据库逻辑exp导出时,跳过指定某些表,对其表中数据不进行导出 有一个需求,某个用户有很多张表,但是只能使用exp导出,而且想跳过其中某几张表,其他对象包括依赖关系都需要.针对这 ...
- Oracle数据库学习(四):学习中的遇到的问题
一.xhost图形化界面安装问题 问题1:运行xhost +命令,出现命令没有找到错误 原因:Linux系统没有安装xhost图形化包. 解决办法:安装xhost图形化包,命令如下: yum what ...
- Oracle数据库学习笔记(九)--scott用户
SCOTT 用户概述 SCOTT 是在 Oracle 数据库中,一个示例用户的名称,默认口令为 tiger,其作用是为初学者提供一些简单的应用示例.其中的表和表间的关系演示了关系型数据库的一些基本原理 ...
- Oracle数据库学习笔记(二十八)--在Java项目开发中使用ojdbc连接Oracle数据库
选择正确的 Jar 包 Oracle 10g 选择使用 ojdbc14.jar Oracle 11g 选择使用 ojdbc6.jar 将 Jar 包安装到本地 Maven 仓库中 具体方法参考我之前发 ...
- Oracle数据库学习笔记(七)--事务及数据的增删改查
事务的概念 事务是逻辑上的一组操作,要么都执行,要么都不执行. 事务最经典也经常被拿出来说的例子就是转账了.假如小明要给小红转账 1000 元,这个转账会涉及到两个关键操作就是:将小明的余额减少 10 ...
- Oracle数据库学习(四)
11.创建表 crate table tab1(f_id number not null,f_a varchar2(7) not null,f_b number(6,2) not null): 主键: ...
- Oracle数据库学习笔记——数据完整性(下)
参照完整性 表的一列或几列的组合的值在表中唯一地指定一行记录,选择这样的一列或多列的组合作为主键可实现表的实体完整性,通过定义PRIMARY KEY约束来创建主键. 外键约束定义了表与表之间的关系,通 ...
- mnesia数据库学习笔记四
杂项 前二章讲了如何启动数据库,如何构建数据库,接下来会为讲一些创建分布式容错数据所需的高级特征: 索引 分布式和容错 表分段 本地内容表 无磁盘节点 高级方案管理 调用应用程序 并行进程 原形研究 ...
- 数据库学习笔记四收缩数据库
你的数据库的名字替换掉 上面的"教学案例库"的名字,执行一遍,日志文件将设置到11M
最新文章
- 万字总结,知识蒸馏如何在推荐系统中大显身手?
- CCF C³:创业公司如何面对开源?知乎CTO李大海:谢邀
- 央视曝光:刷单实为非法商业模式 步步设置全是套路
- Jquery的ajax在IE提交数据乱码解决方法
- [PHP] 使用 pcntl 库实现PHP多进程
- 迷你世界支持服务器,迷你世界云服务器
- 使用Mongo索引需要注意的几个点
- Python笔记-CAPM(资本资产定价模型)例子
- 20155209 2016-2017-2 《Java程序设计》第五周学习总结
- AndroidStudio安卓原生开发_Activity的IntentFlag的SINGLE_TOP_CLEAR_TOP_REORDER_TO_FRONT的用法---Android原生开发工作笔记90
- wait与notify
- [Swift A] - Using Swift with Cocoa and Objective-C--Mix and Match
- php imagick下载,PHP安装imagemagick扩展imagick
- 业界资讯: Flash Player Incubator 改进
- java2实用教程第六版习题答案
- 编写一个程序,给出汉字“你”“我”“他”在Unicode表中的位置
- 小样儿老师:我的嵌入式学习之路(一)
- day23面向对象第一篇
- Arduino基础入门篇12—火焰报警器
- 联想小新一键恢复小孔_联想小新电脑一键恢复出厂设置
热门文章
- java使用zxing_在Java中使用Zxing读取QRCode
- Linux学习笔记:wc查看文件字节数、字数、行数
- mongodb 学习笔记--- 基础知识
- 201671010119 2016-2017-2《Java程序设计》第十六周学习心得
- C++11多线程std::thread的简单使用
- HttpClient的简单实现
- 160304-01、mysql数据库插入速度和读取速度的调整记录
- duilib中各控件响应的消息类型
- (一) MySQL学习笔记:MySQL安装图解
- POJ 3422 Kaka's Matrix Travels(最小费用最大流+拆点)