• 概念分析:

1.       数据库(Database):

数据库是一个文件集合,包括数据文件,临时文件,重做日志文件和控制文件。也可以说数据库是物理操作系统文件或磁盘集合。数据库可以由多个实例(schema)创建和打开,而实例可以在任意时间点装载和打开一个数据库。

2.       实例(Instance):

实例就是一组操作系统进程(unix系统下)或者一个多线程的进程(windows系统下)以及一些内存(主要有:SGA,PGA,UGA等,关于oracle内存结构不在这里进行阐述)。一个实例只能有一组相关的文件集合(一个实例对应一个数据库),大多数情况下,反过来也成立,一个数据库上只有一个实例对其进行操作。不过,oracle的真正应用集群(Real  Application Clusters, RAC)是个例外,这是oracle提供的一个选项,允许在集群环境中的多台计算机上操作,这样就有多个实例装载和打开同一个数据库(位于一组共享物理磁盘上)

3.       连接(Connection):

连接指oracle客户端与服务器端物理的网络连接。在已建立的连接上,建立客户端与oracle的会话,以后客户端与oracle的交互都在一个会话环境中进行。(注Oracle允许失去物理连接的会话)。

4.       会话(Session):

会话是个建立在连接到某个instance之上的一个动态概念。(注Oracle允许失去物理连接的会话)。一次会话是用户的一个活跃进程,它代表用户与系统交互。用户与会话是一对多关系,一个用户可同时打开多个会话,一个会话构成一个用户到多个角色的映射,即会话激活了用户授权角色的某个子集,这个子集称为活跃角色集。活跃角色集决定本次会话的许可集。

5.       表空间(Tablespace):

表空间是oracle数据库中最大的逻辑结构,从逻辑上说,一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是ORACL数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。从物理上说数据库的数据被存放在数据文件中,从逻辑上说数据时被存放在表空间中。每个数据库至少有一个SYSTEM表空间。SYSTEM表空间是Oracle创建数据库时候自动创建的,且SYSTEM表空间总是要保持在联机模式下,因为其包含了数据库运行所要求的基本信息,如:数据字典、联机求助机制、所有回退段、临时段和自举段、所有的用户数据库实体、其它ORACLE软件产品要求的表等等。

表空间的作用如下:

²  决定数据库实体的空间分配

²  控制数据库部分数据的可用性

²  分布数据于不同设备之间以改善性能

²  备份和恢复数据

²  设置数据库用户的空间份额(??尚未理解)

6.       用户(User):

     是数据库中的用户,包含一个缺省schema(对象集合),用户是schema的拥有者; user可通过oracle预定义或自定义的角色进行权限设置,确定该user在schema中的行使权力。用户是表空间下的一个概念,其对应一个或多个schema对象集。

7.       角色(role):

角色就是相关权限的命令集合,使用角色的主要目的就是为了简化权限的管理。角色分为预定义角色和自定义角色两类。

预定义角色是指Oracle所提供的角色,每种角色都用于执行一些特定的管理任务(具体预定义角色这里不阐述);自定义角色顾名思义就是自己定义的角色,根据自己的需要来定义,一般是DBA来建立,如果用的别的用户来建立,则需要具有create role的系统权限,在建立角色时可以指定验证方式(不验证,数据库验证等)。

8.       模式(Sc​h​e​m​a):

一个用户在数据库中创建的所有对象称为schema,schema为数据库对象的集合。schema中包含如:tables,views,sequences,procedures,functions……的对象。创建用户时,默认产生一个同名的schema(即缺省schema,还可以有其他schema)。

下面通过例子来理解下schema的概念:

    select * from scott.emp;(select col1,col2,... from schema.table)

语句中的“scott”在这里便是schema名(注意不是用户名),在这里要区分用户与schema的概念,schema为数据对象的集合,user为该数据对象集合的拥有者。一个user可能对应多个schema。正确的理解为schema.object,而不是user.object)

DB_oracle学习笔记_概念分析的更多相关文章

  1. jQuery源代码学习笔记_工具函数_noop/error/now/trim

    jQuery源代码学习笔记_工具函数_noop/error/now/trim jquery提供了一系列的工具函数,用于支持其运行,今天主要分析noop/error/now/trim这4个函数: 1.n ...

  2. SSM框架学习笔记_第1章_SpringIOC概述

    第1章 SpringIOC概述 Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架. 1.1 控制反转IOC IOC(inversion of controller)是一种概念 ...

  3. Python学习笔记_我的参考网址

    Python学习笔记, 下面记录网上搜到的可参考的网址: 一.关于Tkinter 1.Python3中tkinter模块使用方法详解 https://blog.csdn.net/Fighting_Bo ...

  4. FFT和NTT学习笔记_基础

    FFT和NTT学习笔记 算法导论 参考(贺) http://picks.logdown.com/posts/177631-fast-fourier-transform https://blog.csd ...

  5. haskell学习笔记_函数

    一开始学习函数式编程语言就被告知函数式编程语言是一种“定义式”的语言,而不是一种命令式的语言,在学习haskell的函数语法时,此感觉更加强烈,haskell的函数定义倾向于一种类似C++里面的swi ...

  6. Unity3d_学习笔记_入门

    转自:http://blog.csdn.net/zlfxy/article/details/8722437 本文内容来自“编程教父”的视频课程. 1.Unity3d一个游戏引擎,可以用来开发很多游戏. ...

  7. 学习笔记_过滤器详细(过滤器JavaWeb三大组件之一)

    过滤器详细 1 过滤器的生命周期 我们已经学习过Servlet的生命周期,那么Filter的生命周期也就没有什么难度了! (l)  init(FilterConfig):在服务器启动时会创建Filte ...

  8. 学习笔记_第一个strut程序_之中文乱码,过滤器解决方案及过程总结

    1.  第一次碰到加过滤器的过程,就是在学习struct1的时候,中文乱码 几个需要注意的关键字 2.什么叫package 所谓package就是打包的意思,就是说以下程序都是处于这个包内,所以一开始 ...

  9. No2_5.类的高级特性_Java学习笔记_抽象类和成员内部类

    一.抽象类1.所谓抽象类,只声明方法的存在而不去实现它的类:2.抽象类不能被实例化,即不能实现其对象:3.abstract class 类名{ 类体 }4.包含一个或多个抽象方法的类必须声明成抽象类: ...

随机推荐

  1. Java基础知识系列——目录操作

    Java对目录操作的许多方法与上一篇文件操作的方法很多是一样的. java.io.File file = new File( "D:\1\2\3\4"); 1.递归创建目录 fil ...

  2. Vue 过滤器与计算属性

    过滤器 V1.x 版本 过滤器基础 过滤器是一个通过输入数据,能够及时对数据进行处理并返回一个数据结果的简单函数.Vue有很多很便利的过滤器,可以参考官方文档,http://cn.vuejs.org/ ...

  3. MINA系列学习-IoBuffer

    在阅读IoBuffer源码之前,我们先看Mina对IoBuffer的描述:A byte buffer used by MINA applications. This is a replacement ...

  4. NGUI 屏幕自适应(初始设定宽高800x480只支持比其大的屏幕)

    自适应讲解部分可以参考以下网址:http://www.xuanyusong.com/archives/2536,下面代码中提到的AdaptiveManualHeight()函数就是参考该文章的. 下面 ...

  5. 【转】+【举例】ArcGIS中的坐标系统定义与投影转换

    背景知识: UTM (Universal Transverse Mercator)坐标系是由美国军方在1947提出的.虽然我们仍然将其看作与"高斯-克吕格"相似的坐标系统,但实际上 ...

  6. C# winform key value型数据如何绑定ComBox (hashtable,keyvaluepair,dictionary )

    cbUserAgent是一个combox ArrayList list = new ArrayList(); Dictionary<string, string> useragents = ...

  7. js替换选中的文字

    替换html中选中的文字 function replaceSelection() { if (window.getSelection) { var selecter = window.getSelec ...

  8. android图片处理方法

    Java代码 //压缩图片大小 public static Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ...

  9. ASI 与 AFN

    HTTP终结者.功能十分强大. 基于底层的CFNetwork框架,运行效率很高. 可惜

  10. firefox的console log功能

    http://www.ruanyifeng.com/blog/2011/03/firebug_console_tutorial.html Firebug是网页开发的利器,能够极大地提升工作效率. 但是 ...