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数据库存储结构语句,oracle之物理数据库结构描述相关推荐

  1. oracle分页查询sql语句通用,oracle分页查询sql语句,oracle分页查询sql语句详解

    oracle分页查询sql语句,oracle分页查询sql语句详解,Oracle分页查询sql语句 Oracle中分页和MySql中的分页不同,MySql中的分页使用关键字limit即可,相对简单一点 ...

  2. oracle 不能导入sql语句,oracle数据库导入.dmp脚本的sql 语句

    一.更改数据库管理员sys/system密码 1.运行到C盘根目录 2.输入:SET ORACLE_SID = 你的SID名称 3.输入:sqlplus /nolog 4.输入:connect /as ...

  3. oracle表存储表空间,Oracle的存储信息-表空间信息记录

    经过前面的介绍,我们已经能够对Oracle的存储结构有了深入的了解,总结一下前面的内容:Oracle最小的数据存储单位是数据块(Block),如果以单个数据块进行对象空间分配,那么显然分配将过于频繁, ...

  4. oracle查询学生人数语句,Oracle期末复习题-带答案

    Oracle期末复习题 1.简单介绍一下Oracle数据库管理系统 2.举例说明Oracle与SQL Server的异同(至少说出2项以上) 3.简述Oracle数据库的体系结构 4.Oracle数据 ...

  5. oracle查看创建索引语句,ORACLE下如何获得全部的索引创建语句

    ORACLE下如何获得全部的索引创建语句 ORACLE下如何获得全部的索引创建语句 今天打算将一个数据库的索引在另一个测试库上重新创建一遍,研究了一下. set pagesize 0 set long ...

  6. MySQL数据库test连接语句_【MySQL数据库开发之二】MySQL 基础语句的书写与操作!...

    本篇Himi简单介绍一些MySQL数据库的基础操作: 注:mysql 语句对大小写不敏感,语句以分号";"标识语句结束: 1.   首先使用两个简单的查询语句: 查询当前版本:se ...

  7. mysql5.7更改数据库存储位置_mysql 5.7更改数据库的数据存储位置的解决方法

    随着mysql数据库存储的数据逐渐变大,已经将原来的存储数据的空间占满了,导致mysql已经链接不上了.因此,必须要给存放的数据换个地方了.下面是操作过程中的一些步骤.记下来,以后日后查看. 1.修改 ...

  8. SpringBoot+Quartz+数据库存储(附完整代码和数据库脚本)

    目录 1.pom文件依赖 2.Druid连接池的Quartz扩展类 3 .application.yml文件 4 .修改quartz.properties配置 5 . 在数据库中创建quartz相关的 ...

  9. 创建mysql数据库快照_sql语句大全之创建数据库快照

    创建数据库快照 数据库快照是源数据库的只读.静态视图.一个源数据库可以有多个数据库快照.数据库快照的主要作用是:维护历史数据以用于制作各种报表,可以使用数据库快照将出现错误的源数据库恢复到创建快照时的 ...

最新文章

  1. IOS本地日志记录解决方案
  2. 中国女足绝地大逆转,爬取了微博评论区,评论很精彩
  3. 递归方法无限级菜单--javascript v1.0
  4. JDK 5、6、7、8、9、10、11、12、13、14 新特性汇总
  5. 报表引擎API开发入门—简单程序数据集
  6. 不拥抱算法的张小龙,还能带着微信继续避免失败?
  7. 如何linux安装apache服务器,Linux中如何安装Apache服务器
  8. 无法通过ip地址连接其它电脑的数据库,但是又可以ping通,错的不是配置,而是差了一个步骤
  9. oracle 访问adf 慢,ORACLE ADF 问题总结
  10. iOS OC和Swift相互引用,测试在swift项目
  11. ACT开发初步(二)——XML
  12. 魔鬼训练Day2作业
  13. QQ农场外挂、QQ牧场外挂专偷QQ号
  14. ubuntu结束进程快捷键_ubuntu快捷键设置大全
  15. 01_基于蒲公英R300A的异地组网PLC调试实现
  16. 微信小程序一键置顶操作详解:
  17. 如何在线将多个PDF文档进行合并
  18. 用IntelliJ IDEA开发Python
  19. pytest的mark功能
  20. 【量子计算原理】什么是量子计算?

热门文章

  1. iOS7 tabbar遮盖tableview的cell解决方法
  2. Kubernetes微服务入门教程:部署spring-boot应用
  3. 如何远程访问 Redis
  4. e3是合法浮点数吗_下列哪些是不合法的浮点数的选项是 123 2e4.2 .e5 -e3 .234 ......
  5. 给大家推荐一个卖旧衣服的,vx/zfb“麻袋到家旧衣服回收”可以下单啦,快递小哥免费上门取,0.5/kg,闲置衣服再也不用扔到垃圾桶了
  6. 等保2.0的自动代码审计及开源治理解决方案
  7. shell脚本括号使用
  8. 解决Centos8自带Firefox实现播放声音与视频-Linux、VMware
  9. 微信小程序校园论坛系统丨安卓也可以用
  10. 电子物流中的EDI 应用