oracle之物理数据库结构概述


oracle的物理结构其实是由各种各样的文件组成的,

其中与数据库相关的有:

数据文件(data file):这些文件是数据库的主要文件;其中包括数据表、索引和所有其他的段。

临时文件(temp file):这些文件用于完成基于磁盘的排序和临时存储。

控制文件(control file):这些文件能告诉你数据文件、临时文件和重做日志文件在哪里,还会指出与文件状态有关的其他元数据。

重做日志文件(redo log file):这些就是事务日志。

密码文件(password file):这些文件用于对通过网络完成管理活动的用户进行认证。它允许远程SYSDBA 或管理员访问数据库。

修改跟踪文件(change tracking file):这个文件有利于对Oracle 数据建立真正的增量备份。修改跟踪文件不一定非得放在闪回恢复区(Flash Recovery Area),不过它只与数据库备份和恢复有关。

闪回日志文件(flashback log file):这些文件存储数据库块的“前映像”,以便完成新增加的FLASHBACK DATABASE 命令。

与实例相关的文件只有:

参数文件(parameter file):这些文件告诉Oracle 实例在哪里可以找到控制文件,并且指定某些初始化参数,这些参数定义了某种内存结构有多大等设置。它有本地和服务2种形式

跟踪文件(trace file):这通常是一个服务器进程对某种异常错误条件做出响应时创建的诊断文件。

警告文件(alert file):与跟踪文件类似,但是包含“期望”事件的有关信息,并且通过一个集中式文件(其中包括多个数据库事件)警告DBA。

还有一些特殊的文件:

转储文件(dump file ,DMP file):这些文件由Export(导出)数据库实用程序生成,并由Import(导入)数据库实用程序使用。

数据泵文件(Data Pump file):这些文件由Oracle 10g 新增的数据泵导出(Data Pump Export)进程生成,并由数据泵导入(Data Pump Import)进程使用。外部表也可以创建和使用这种文件格式。

平面文件(flat file):这些无格式文件可以在文本编辑器中查看。通常会使用这些文件向数据库中加载数据。

关于数据库的各个文件,具体可以参看:http://hi.baidu.com/feixianxxx/blog/item/952188f9b91eb89858ee9060.html

关于参数文件,具体可以参看:http://hi.baidu.com/feixianxxx/blog/item/81420c57daff6b103a293595.html

下面提几个点:

1.一个数据文件可以存储表空间内各种类型的方案对象。Oracle为表空间内的方案对象分配空间时可以使用一个或多个数据文件。也就是说,方案对象是可以跨数据文件的。

2.用户也可以令一个数据文件(datafile)单独地脱机(offline),但是这种操作主要用于数据库恢复工作中


3.临时数据文件与普通数据文件类似,但有以下区别:

a.临时文件总是被设置为 NOLOGGING 模式。

b.用户不能将临时文件设为只读

c.用户不能使用 ALTER DATABASE 语句创建临时文件

d.介质恢复(media recovery)不能识别临时文件:

  BACKUP CONTROLFILE 不会产生与临时文件有关的信息

CREATE CONTROLFILE 不能设定与临时文件有关的信息

e.当用户创建临时文件或改变其容量时,Oracle并不保证按照用户指定的文件容量为其分配磁盘空间。在某些文件系统(file systems)中(例如UNIX)磁盘块(disk block)并不会在文件创建或改变容量时分配,而是在其被使用之前 才分配。

f.临时文件(tempfile)信息可以从 DBA_TEMP_FILES 数据字典表及 V$TEMPFILE 动态性能视图(dynamic performance view)中查询,但是不存在于 DBA_DATA_FILES 或 V$DATAFILE 视图中。

4.可以用4 种文件系统机制存储数据文件里的数据。这里的数据是指你的数据字典、redo 记录、undo 记录、表、索引、LOB 等,也就是你自己每天关心的数据。

“Cooked”操作系统(OS)文件系统;

原始分区(raw partitions,也称裸分区);

自动存储管理(Automatic Storage Management,ASM);

集群文件系统;

5.对临时文件并不生成redo 日志,不过可以生成undo 日志。由于UNDO 总是受redo 的“保护”,因此,这就会生成使用临时表的redo 日志,

6.控制文件(control file)中主要包含以下内容:

数据库名(database name)

数据库创建时的时间戳(timestamp)

属于此数据库的数据文件(datafile)及重做日志文件(redo log file)的名称与存储位置

表空间(tablespace)信息

脱机(offline)的数据文件

日志历史信息

归档日志(archived log)信息

备份集(backup set)与备份块(backup piece)信息

数据文件与重做日志的备份信息

数据文件复制信息

当前的日志序列号(log sequence number)

检查点(checkpoint)信息

7.对于控制文件,建议如下:

在每个数据库中使用多重控制文件(multiple control file)

将控制文件的副本存储在不同的物理磁盘上

使用操作系统的镜像功能(operating system mirroring)

监控备份工作

8.重做日志文件,可用于:

系统崩溃后的实例恢复

通过备份恢复数据文件之后恢复介质

备用(standby)数据库处理

输入到流中,这是一个重做日志挖掘过程,用于实现信息共享(这也是一种奇特的复制)

9.些操作可能会以尽量少生成redo 的模式完成。例如,可以使用NOLOGGING 属性创建一个索引。但是Oracle 完成的所有递归SQL 会写入日志。

10.进行日志切换的时候可能出现暂停,因为它要确保将被覆盖的事务日志的内容已经被执行,即写入磁盘已完成.也就是说,如果事务日志保护的缓冲区数据在没有被或者正在被写入磁盘的时候,切换操作是无法进行的。

11.事务日志容量越小,日志切换发生的越频繁,影响效率


12.有什么理由不采用ARCHIVELOG 模式呢?性能不能作为理由;适当配置的归档只会增加极少的开销甚至根本不增加开销。由于这一点,再加上另外一条:如果一个系统会“丢失数据”,那它再快也是没有用的

 13.密码文件保存了一个用户名和密码列表,这些用户名和密码分别对应于可以通过网络远程认证为SYSDBA 的用户。Oracle 必须使用这个文件来认证用户,而不是数据库中存储的正常密码列表。

14.修改密码文件状态:alter system set remote_login_passwordfile=exclusive scope=spfile;(SHARED(多个数据库可以使用同样的密码文件)和EXCLUSIVE(只有一个数据库使用一个给定的密码文件)).

但是注意这里的修改不会动态起效,还是需要重启实例的。

对于新建的密码文件,只有一个合法的sysdba用户 sys。要想把其他具有sysdba的用户加入到密码文件中,需要重新对用户grant sysdba to xxxx;

15.修改跟踪文件(change tracking file)惟一的目的是跟踪自上一个增量备份以来哪些块已经修改。采用这种方式,恢复管理器(RecoveryManager,RMAN)工具就能只备份确实有变化的数据库块,而不必读取整个数据库。

alter database enable block change tracking

using file

'/home/ora10gr1/product/10.1.0/oradata/ora10gr1/ORA10GR1/changed_blocks.bct';

16.闪回日志文件(flashback log file)简称为闪回日志(flashback log),这是Oracle 10g 中为支持FLASHBACK DATABASE 命令而引入的。

假如你误删了一个重要的数据表,怎么办?

(1) DBA 关闭数据库。

(2) DBA 启动并装载数据库,可以使用SCN、Oracle 时钟或时间戳(墙上时钟时间)发出闪回数据库命令,时间可以精确到一两秒钟。

(3) DBA 以RESETLOGS 选项打开数据库。

17.Oracle 10g 中的闪回恢复区(Flash Recovery Area)是一个新位置,包含如下文件:

磁盘上数据文件的副本。

数据库的增量备份。

重做日志(归档重做日志)。

控制文件和控制文件的备份。

闪回日志。

18.Oracle 10g 中至少有两个工具使用数据泵(data pump)文件格式。外部表(external table)可以加载和卸载数据泵格式的数据文件。

19.有了SPFILE,可以消除传统参数文件存在的两个严重问题:

可以杜绝参数文件的繁殖。SPFILE 总是存储在数据库服务器上;必须存在于服务器主机本身,不能放在客户机上。对参数设置来说, 这样就可以只有一个“信息来源”。

无需在数据库之外使用文本编辑器手动地维护参数文件(实际上,更确切的说法是不能手动地维护)。利用ALTER SYSTEM 命令,完 全可以直接将值写入SPFILE。管理员不必再手动地查找和维护所有参数文件。

20.删除spfile上的某个参数?alter system reset 参数名 scope=spfile sid='*';

21.Oracle 数据库(以及应用服务器和Oracle 应用)都是可以充分测量的。数据库中这种测量性反映在以下几方面:

a.V$视图:大多数V$视图都包含“调试”信息。V$WAITSTAT、V$SESSION_EVENT 还有其他许多V$视图之所以存在,就是为了让 我们知道内核内部到底发生了什么。

b.审计命令:利用这个命令,你能指定数据库要记录哪些事件以便日后分析。

c.资源管理器(DBMS_RESOURCE_MANAGER):这个特性允许你对数据库中的资源( CPU、I/O 等)实现微管理。正是因为数据 库能访问描述资源使用情况的所有运行时统计信息,所以才可能有资源管理器。

d.Oracle“事件”:基于Oracle 事件,能让Oracle 生成所需的跟踪或诊断信息。

e.DBMS_TRACE:这是PL/SQL 引擎中的一个工具,它会全面地记录存储过程的调用树、所产生的异常,以及遇到的错误。

f.数据库事件触发器:这些触发器(如ON SERVERERROR)允许你监控和记录你觉得“意外”或非正常的情况。例如,可以记录发 生“临时空间用尽”错误时正在运行的SQL。

g.SQL_TRACE:这个SQL 跟踪工具还可以采用一种扩展方式使用,即通过10046 Oracle e事件。

22.不论是使用SQL_TRACE 还是扩展的跟踪工具,Oracle 都会在数据库服务器主机的以下两个位置生成一个跟踪文件:

如果使用专用服务器连接,会在USER_DUMP_DEST 参数指定的目录中生成跟踪文件。

如果使用共享服务器连接,则在BACKGROUND_DUMP_DEST 参数指定的目录中生成跟踪文件"

23.警告文件(也称为警告日志(alert log)) 就是数据库的日记。这是一个简单的文本文件,从数据库“出生”(创建)那一天起就会编写该文件,直到数据库“完结”(被你删除)为止。

oracle之物理数据库结构概述(数据文件、重做日志文件,控制文件等各种数据库文件)相关推荐

  1. datagrip 导出 Oracle 数据库结构和数据到sql脚本中

    文章目录 1. 问题描述 2. 数据库右键 -- 仅对 MySQL 和 PostgreSQL 有效 1. MySQL 备份 -- mysqldump 2. PostgreSQL 备份 -- pgdum ...

  2. 异构数据库结构与数据同步工具dbswitch

    一.背景 开源MPP数据库Greenplum是一种基于PostgreSQL的分布式数据库,其采用shared-nothing架构,其架构专门用于管理大规模分析数据仓库,Greenplum主要定位在OL ...

  3. Navicat实现数据库结构和数据同步

    本文属于个人原创作品.个人总结,谢绝转载.抄袭.如果您有疑问或者希望沟通交流,可以联系QQ:865562060. 一.简述 Navicat 是一套快速.可靠并价格相宜的数据库管理工具,专为简化数据库的 ...

  4. 数据库结构以及数据对比工具方法使用教程

    针对数据库 多表 多字段 多数据使用. 1.百度下载Navicat Premium,此工具是Navicat MySql升级版工具.(有试用期限,使用期限到期,在去找绿色版就好) 2.电脑运行sql服务 ...

  5. 数据库结构及数据对比

    关键词:SQLServer.MySql.表结构对比.数据对比.按行对比数据 简介 数据库数据对比工具是针对Postgresql.MS SQL Server.MySql的一款工具,可以针对两个数据进行表 ...

  6. 数据库单表数据过亿_最受欢迎的三大数据库,你用过吗?

    随着市场的多元化,需求场景多样化,数据库也层出不穷,来适应不同的业务场景,今天小编就给大家总结一下目前下面来总结下目前最受欢迎的三大数据库,快来看看你有没有用过吧. 1.MySQL MySQL是一种关 ...

  7. 属于oracle的物理存储结构,说明 Oracle 数据库物理存储结构的组成及其功能。

    [多选题]各类型汽车的转向桥结构基本相同,组成主要包括? ( ) [单选题]亚当与夏娃赤身露体便拿什么树的叶子为自己编作裙子? [多选题]烘焙专用油脂主要包括?( ). [单选题]对创业活动的目标及实 ...

  8. impdp oracle 只导入表结构_Oracle数据导入导出(expdp impdp)

    oracle数据泵的使用方式, 以及数据泵命令的参数说明 使用expdp和impdp时应该注重的事项: 1.exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. 2.expdp ...

  9. mysql migrations_Code First Migrations更新数据库结构(数据迁移)

    背景 code first起初当修改model后,要持久化至数据库中时,总要把原数据库给删除掉再创建(DropCreateDatabaseIfModelChanges),此时就会产生一个问题,当我们的 ...

最新文章

  1. 【PyTorch学习笔记】4:在Tensor上的索引和切片
  2. DCMTK:演示状态的VR和IOD检查器
  3. Yii调用参数配置文件params
  4. Ж孤云Ж真的很适合我
  5. 摩托罗拉ex232java_摩托罗拉ex232r如何刷机?摩托罗拉ex232r评测
  6. springboot中使用@Value读取配置文件
  7. PHP在Linux上上传文件的注意事项
  8. Linux编译安装qemu
  9. SQL:postgresql中合并多个查询结果UNION (ALL)
  10. 同样的事情,小孩叫逆反,大人叫抬杠
  11. 传感器实训心得体会_传感器心得体会范文
  12. 编译libpng + zlib
  13. OkHttp3 源码解读
  14. 曲线运动与万有引力公式_高中物理公式大全!
  15. 无法识别 移动固态硬盘_固态硬盘不识别怎么办 固态硬盘不认盘解决方法介绍...
  16. 10_07【Java】Map集合详述
  17. Java(springboot)连接MongoDB,终于成功啦T_T【呸】
  18. TDSQL携手金蝶云·苍穹,发布“国产数据库联合解决方案”
  19. 【压缩感知合集7】压缩感知RIP有限等距性:定义解析,理解说明,数学原理推导
  20. android pak文件_android 文件读写I/O 大集合 (持续更新)

热门文章

  1. 算法题6 b站扭蛋机
  2. Mysql 数据库(4)
  3. 广告投放的相关名词CPM/CPT/CPC/CPD/CPI/CPS
  4. c++ hash函数
  5. solidworks批量图号分离_SolidWorks2014基于宏实现快速图号名称分离.docx
  6. mSystems:土壤化学计量特性影响土壤C、N和P循环微生物丰度及其对全球变化的抵抗力(一作解读)...
  7. php手机投屏功能,电脑手机投屏怎么操作设置?
  8. 计算机专业笔记本显卡,笔记本显卡排名图及显卡等级分类【图文】
  9. dede标签帮助手册参考
  10. 求命题公式的真值表及主范式(栈实现)