近期因为工作原因接触到Oracle数据库.了解到Oracle和mysql的结构上还是有很大的区别的.

Oracle数据库---实例---表空间---用户---表

我们将从这5个方面来了解Oracle

数据库

首先下载安装Oracle给出一个百度百科地址 https://jingyan.baidu.com/article/cdddd41cc2ed9d53ca00e17a.html

实例

Oracle数据库是可以创建多个实例库的,相当于java中的new对象.当我们在安装过程中其实已经默认创建了一个实例库

其中orcl就是当前创建的实例.我们来查看当前实例.

表空间

每一个实例可以有多个表空间.下面我们来看看,当我们构建出一个实例库时,默认有哪些表空间.

我们首先使用超级管理员连接Oracle数据库,然后查看表空间.

可以看到,默认的我们有6个表空间. 以下是对6个表空间的解释(摘抄自官方文档)

SYSTEM

这个表空间是在数据库创建时自动创建的。Oracle数据库使用它来管理数据库。它包含数据字典,数据字典是用作特定数据库只读引用的表和视图的中心集合。它还包含各种包含数据库管理信息的表和视图。这些都包含在SYS模式中,只有具有所需特权的SYS用户或其他管理用户才能访问它们。

SYSAUX

这是SYSTEM表空间的辅助表空间。SYSAUX表空间包含一些组件和产品的数据,减少了系统表空间的负载。使用Oracle database 10g release 1(10.1)或更高版本的每个数据库都必须有一个SYSAUX表空间。

在安装期间使用SYSAUX作为默认表空间的组件包括自动工作负载存储库、Oracle流、Oracle文本和数据库控制存储库。有关更多信息,请参见Oracle数据库管理员指南。

UNDOTBS1

这是数据库用来存储撤消信息的undo表空间。参见第6-25页的“管理撤消数据”,了解Oracle数据库如何使用撤消表空间。每个数据库都必须有一个undo表空间。

USERS

这个表空间用于存储永久用户对象和数据。与TEMP表空间类似,每个数据库都应该有一个表空间,用于分配给用户的永久用户数据。否则,用户对象将在SYSTEM表空间中创建,这不是很好的实践。在预配置数据库中,用户被指定为所有新用户的默认表空间。

TEMP

这个表空间存储处理SQL语句时生成的临时数据。例如,这个表空间将用于查询排序。每个数据库都应该有一个临时表空间,并将其分配给用户作为临时表空间。在预配置的数据库中,TEMP表空间被指定为默认的临时表空间。如果在创建用户帐户时没有指定临时表空间,那么Oracle数据库将把这个表空间分配给用户。

EXAMPLE

这个表空间包含Oracle数据库中包含的示例模式。示例模式为示例提供了一个公共平台。Oracle文档和教育材料包含基于示例模式的示例。

这里边我们需要记住的是SYSTEM是系统表空间USERS是我们自己创建用户默认的表空间,TEMP是我们自己创建用户执行的SQL语句生成的log文件.

两张图连起来看,Oracle数据库默认总共有37个用户.可以看到,system和sys都是在SYSTEM表空间中的.这里我们关注一个SCOTT用户.这个用户也是Oracle自带的,不过他在USERS表空间中.

下面我们来自己创建一个表空间

create tablespace 表空间名 datafile '实际的硬盘路径.dbf' size 10m;

我们指定一个表空间名 然后在给定一个磁盘路径.表空间名就是一个虚拟路径,而硬盘路径就是一个实际存储路径.然后我们在规定这个空间的大小.

那么我们把表空间放到哪里呢?还是来看看Oracle的表空间都放到哪里了吧.

我们也将自己的表空间放到这个位置

再到硬盘中找找

可以看到,磁盘空间的大小和名称都是我们指定的.

我们再次来查看下当前实例下的所有表空间.

已经有我们自己创建的表空间了.

用户

我们来自己创建一个用户.还记的USERS表空间吗?是不是说,如果我们创建一个用户,没有指定表空间,那么默认的表空间就是USERS,我们来验证下.

create user 用户名 identified by 密码 ;

这里我们需要给用户赋予权限.

grant dba to 用户名    --给用户赋予所有权限,connect是赋予连接数据库的权限,resource 是赋予用户只可以创建实体但是没有创建数据结构的权限。

grant create session to 用户名       --这个是给用户赋予登录的权限。

grant create table to  用户名          --给用户赋予表操作的权限

grant unlimited tablespace to  用户名     --给用户赋予表空间操作的权限

grant select any table to 用户名         --给该用户赋予访问任务表的权限   同理可以赋予update 和delete 的

grant select on srapp_hz_zhpt_yl.jggl to srapp_hz_zhpt_ylcs   --这里是给srapp_hz_zhpt_ylcs用户赋予selectsrapp_hz_zhpt_yl用户的jggl表的查询的权限。同理可以有alter,drop,insert等权限。
注意 这个语句在没有访问另一个用户的权限情况下这个语句要在另一个用户登录情况下执行,这样才能生效。

再次查看全部用户.

由于篇幅限制,我这里只截取了头和尾,但是也可以看出,我们自己的用户已经添加上了.

现在来看看这个用户归属于哪一个表空间呢?

下面我们思考一个问题.一个表空间下有多个用户,那么每个用户的表是共享的吗?为了测试我们先来看下SOCTT用户有哪些表.

这里需要注意.SOCTT表默认是锁定的,你必须先解锁.

alter user scott account unlock;

解锁成功后

connect scott 切换当前用户.需要你输入密码.默认密码是tiger.也可能会提示你修改密码.

我这里是已经解锁过的.

我们看到scott用户归属下有4个表.然后我们再来看看,我们自己创建的用户有几个表.

没有一个表.所以我们可以得出.在表空间下的用户之间的表是不共享的.

最后我们来创建一个表.

以上就是Oracle中数据的存储和分布.

orale数据库.实例.表空间.用户.表的更多相关文章

  1. oracle习题练习-表空间-用户-表-约束

    题一 1.       创建名字为hy_tablespace的表空间,默认大小为10M;@@ 2.       创建一个用户,用户名以自己名字命名,并指定命名空间为hy_tablespace;@@@@ ...

  2. 基础概念:Oracle数据库、实例、用户、表空间、表之间的关系

    基础概念:Oracle数据库.实例.用户.表空间.表之间的关系 数据库: Oracle数据库是数据的物理存储.这就包括(数据文件ORA或者DBF.控制文件.联机日志.参数文件).其实Oracle数据库 ...

  3. Oracle 数据库、实例、用户、表空间、表之间的关系

    数据库: Oracle数据库是数据的物理存储.这就包括(数据文件ORA或者DBF.控制文件.联机日志.参数文件).其实oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库. ...

  4. Oracle数据库、实例、用户、表空间、表之间的关系

    完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等): 2) Oracle数据库实例则是一组Ora ...

  5. 同一个数据库实例,不同用户下多表创建视图,Hibernate完毕ORM映射,Spring整合,后台实现

    1.同一个数据库实例.同用户,多表创建视图 2.同一个数据库实例,不同用户下.多表创建视图 3.同一个数据库,不同数据库实例,多表创建视图 4.不同类型数据库,多表创建视图 1.同一个数据库实例.同用 ...

  6. 数据库实例: STOREBOOK > 表空间 > 编辑 表空间: TEMP

    ylbtech-Oracle:数据库实例: STOREBOOK  >  表空间  >  编辑 表空间: TEMP 表空间  >  编辑 表空间: TEMP 1. 一般信息返回顶部 1 ...

  7. 数据库实例: STOREBOOK > 表空间 > 编辑 表空间: USERS

    ylbtech-Oracle:数据库实例: STOREBOOK  >  表空间  >  编辑 表空间: USERS 表空间  >  编辑 表空间: USERS 1. 一般信息返回顶部 ...

  8. 数据库实例: STOREBOOK > 表空间 > 编辑 表空间: UNDOTBS1

    ylbtech-Oracle:数据库实例: STOREBOOK  >  表空间  >  编辑 表空间: UNDOTBS1 表空间  >  编辑 表空间: UNDOTBS1 1. 一般 ...

  9. 数据库实例: STOREBOOK > 表空间 > 编辑 表空间: SYSTEM

    ylbtech-Oracle:数据库实例: STOREBOOK  >  表空间  >  编辑 表空间: SYSTEM  表空间  >  编辑 表空间: SYSTEM 1. 一般信息返 ...

随机推荐

  1. windows下安装pip教程

    下载地址是:https://pypi.python.org/pypi/pip#downloads 下载完成之后,解压到一个文件夹,用CMD控制台进入解压目录,输入: python setup.py i ...

  2. Flask笔记:cookie

    在网站中,HTTP请求是无状态的:第一次请求成功后,第二次请求时服务器依然不知道这次请求的所属用户是谁.为了解决这个问题,在第一次请求成功后,服务器会生成并返回对应的cookie信息给浏览器,而浏览器 ...

  3. jmeter实操及性能测试基础知识整理 - 不断更新

    主要基于jmetet工具 有任何疑问直接留言,可以相互讨论 线程组菜单: 线程数:并发数量Rame-Up时间(秒):多久跑完线程数,比如线程是10,Rame-Up时间是10秒,就是10秒内跑完10个线 ...

  4. 纯C语言实现顺序队列

    #include <stdio.h> #include <stdlib.h> #define MAXSIZE 6 typedef int QElemType; typedef ...

  5. gsoap工具生成wsdl接口 注意事项

    wsdl是通过wsdl文件作为不同应用的通信接口,所以如何生成wsdl语言很重要,但是很多时候我们发现自己编写的头文件通过gsoap工具soapcpp2.exe从头文件中无法正常生成对应的wsdl语言 ...

  6. weblogic 安全漏洞问题解决

    1 weblogic控制台地址暴露 ²  整改方法: 禁用weblogic控制台.在weblogic域(sguap-domain和base-domain)的config下的config.xml中 &l ...

  7. 实施一套MES系统需要多少钱?

    在制造业深耕的人都知道MES系统对于企业的重要性.MES生产执行系统是制造业生产现场透明化管理的最佳解决方案,制造业工厂通过实施MES系统可以解决生产计划.排产调度.工艺管理.品质管理.现场数据采集和 ...

  8. Django 练习班级管理系统二 -- 添加班级数据

    在上一篇中(Django 练习班级管理系统一 https://www.cnblogs.com/klvchen/p/11078174.html),使用的是莫泰对话框的方式提交数据,适用于数据量少的操作. ...

  9. Transformer模型---encoder

    一.简介 论文链接:<Attention is all you need> 由google团队在2017年发表于NIPS,Transformer 是一种新的.基于 attention 机制 ...

  10. Deep Q Network(DQN)原理解析

    1. 前言 在前面的章节中我们介绍了时序差分算法(TD)和Q-Learning,当状态和动作空间是离散且维数不高时可使用Q-Table储存每个状态动作对的Q值,而当状态和动作空间是高维连续时,使用Q- ...