oracle 数据库就是指的oracle 整体,一般一个机器上只安装一个oracle数据库
oracle建立好以后,实际上oracle是一个一个的DBF文件,然后N个DBF文件组成一个表空间
你的表就建立在表空间下,比如我举个例子:
一个数据库叫jack,
jack下用户使用的表空间有3个: users , abc, jacc
其中
users由d:\1.dbf组成
abc由d:\11.dbf d:\22.dbf组成
jacc 由 d:\jacc.dbf组成
你建的表可以选择放在这3个表空间的任意一个里(如果不写,就放在你这个用户的默认表空间里,一般都是users,这个表空间是系统自己建立的)
临时表空间你也可以用,但是只能将临时表放在里面,临时表空间主要放置一些临时数据,比如你查询一个复杂的sql语句,系统会将中间数据放在临时表空间里暂存
临时表空间会自己删除(可以选择会话结束就删除)
不知道我说明白了没,有问题欢迎继续追问
追问
首先先谢谢您的热心解答。
我在系统默认的数据库文件夹里面看到了几种文件(比如.ctl,.dbf等)
我听我朋友说oracle是先读取.ctl然后读dbf然后读日志(好像是这样,不知道记错没)
请问oracle这个控制文件.ctl到底是做什么用的呢?

回答
你这个问题,就涉及到Oracle的启动机制了,如果你没有看过书的,我给你你讲起来也不太容易,简单说几句,
oracle启动的时候,读取ctl文件(叫控制文件),这个控制文件里记录的内容告诉oracle目前这个数据库都是由哪些dbf组成的。然后读取所有的dbf文件,看这些dbf文件的最后修改时间是否和控制文件中记录的一样(同事还要比对日志文件中记录的最后修改时间),如果这些文件的最后修改时间都一致,那么说明oracle上次关闭是正常的,假如不一致,则利用日志文件重现之前的操作(日志文件里记录oracle的所有操作),最终时所有类型的文件的最后修改时间一致,然后打开,相信你已经看出来了,如果ctl文件坏了的话,你的数据实际上全都无法读取,因为oracle已经不知道自己的结构了。因此oracle默认将控制文件复制3份保存,足见其重要性。
因为估计你没有看过书,所以我用了浅显易懂的词来描述,他们在oracle中应该叫:
最后修改时间: SCN(System Change Number)
日志文件:redo log(可能还涉及到Archive 归档文件)
重现操作:roll forward (前滚)(实际上发生SCN不一致时需要进行恢复,在前滚后还要回滚,以后再说)
以上,请您参考

oracle 的数据库、表空间、表是什么关系相关推荐

  1. oracle查看表空间的内容,学习笔记:Oracle查看object对象 表空间 表 索引 数据文件的使用空间...

    天萃荷净 运维DBA咨询想要查看Oracle的object对象的使用空间大小,包括表空间 表 索引 数据文件的使用空间 1.查看Oracle表空间大小 Select Tablespace_Name,S ...

  2. oracle表空间表分区详解及oracle表分区查询使用方法

    此文从以下几个方面来整理关于分区表的概念及操作: 1.表空间及分区表的概念 2.表分区的具体作用 3.表分区的优缺点 4.表分区的几种类型及操作方法 5.对表分区的维护性操作. 表空间及分区表的概念 ...

  3. oracle 表空间 表权限 用户

    启动数据库命令分为三个阶段: startup nomount alter database mount alter database open 1.查看所有用户: select * from dba_ ...

  4. oracle shrink 表空间,表空间(数据文件shrink)收缩示例

    正常的数据库管理中会碰到空间不足的情况,一些表空间因为总的磁盘空间有限影响了其正常的扩展,但还有些表空间空余空间很大却不能分给别的表空间使用,这里进行一个表空间的收缩测试. 以收缩数据文件方式为例,吧 ...

  5. oracle跨数据库复制数据表-dblink

    -一.最近有一个这样的需求,之前的数据库(部署在4.9),进程不足,需要迁移 到新的数据库(2.77),包括表结构和表数据,一个一个复制着实比较麻烦,在网上百度了下,才知道有dblink这种实现方式, ...

  6. oracle创建bigfile表空间,表空间管理之bigfile表空间设置

    我们有两个途径创建bigfile表空间 1.在数据库创建时指定缺省表空间类型为bigfile create database aa set default bigfile tablespace... ...

  7. oracle表空间.表名,【oracle】 表名,表字段,表空间等的操作

    1.修改表名 rename prevIoUs_tableName to new_tableName 2.给表新增一个字段 alter table [tableName] add [columnName ...

  8. PLSQL 表空间 \表操作语言

    目录 一.表空间操作 1. 创建表空间 2. 在表空间下增加新的数据文件,并设置数据文件大小 3. 查看所有的表空间 4. 查看某个用户的默认表空间 5. 查看表空间剩余容量 6. 给表空间重命名 7 ...

  9. oracle查看数据库剩余空间,Oracle 查看数据库空间使用情况

    1.查看Oracle所有表空间大小 select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespac ...

  10. Oracle将数据库中的表数据导入到另一个数据库中

    因为工作需要,把Oracle数据库1中的表数据导入到相同数据结构的数据库2表中,下面将数据库1简称为DB1,数据库2简称为DB2,刚开始的时候我只是简单的将DB1的表数据导出成sql脚本,然后导入到D ...

最新文章

  1. 字符串转 Json 数组
  2. DDD助力平台能力复用
  3. python饼状图颜色一样_Python饼状图的绘制实例
  4. 车主无忧:为什么放弃开源Kafka?
  5. cloudstack java api_CloudStack API编程指引
  6. oracle11g设置数据库归档,oracle_Oracle11g RAC开启关闭、设置归档小结,关闭 1.先关数据库: 复制代 - phpStudy...
  7. 我看《Linux0.11内核完全注释2.01》的方法
  8. webpack初体验_使用webpack打包js文件_json文件_使用webpack开发模式_生产模式打包---webpack工作笔记003
  9. ThreadLocal设计
  10. React-Native学习指南 1
  11. python utf编码 查询_python数据库查询中文乱码
  12. IP报文格式及各字段的意义
  13. HAL库 STM32 串口通信函数
  14. 盘点常用的IDC综合业务、财务及用户管理平台
  15. python bottle框架使用beaker支持session
  16. 【强化学习】用强化学习通关超级马里奥!
  17. Linux操作系统~什么是虚拟地址?深度剖析进程地址空间
  18. Sybase建设上海社保卡数据仓库案例
  19. Windows认证机制详解(借物表在文章末尾)
  20. 基于树莓派的语音识别和语音合成

热门文章

  1. String类的两种赋值
  2. MySQL数据库远程连接开启方法
  3. IDEA中java文件的左下角有个像乐符一样的J符号
  4. 从Retrofit的源码来看 HTTP
  5. 详解Java异常Throwable、Error、Exception、RuntimeException的区别
  6. 选择排序之python
  7. 近一周学习之-----npm换源工具之nrm
  8. cron 任务执行表达式
  9. 用request.getParameterMap()获得jsp页面元素的集合出现[Ljava.lang.String;@的问题解决
  10. JVM内存大小配置方式