物理存储结构

物理存储结构

 

一个oracle dabatase是一组文件,一个oracle instance是管理文件的一组内存结构。

执行create database后,会创建下列文件

Data files(存储表,索引等), temp files(临时表空间)

Control files

Online redo log files

 

管理数据库文件的机制:

ASM – Automatic Storage Management

OS file system

Raw device 磁盘分区或者逻辑卷,没有被文件系统格式化

 

一个cluster file system是一个软件,可以让多台电脑共享文件存储,并且同时保证空间分配和文件内容的一致性。这样一个电脑的failure不会导致文件系统不可用。

 

存储机制是可以混合搭配使用的,比如可以将控制文件和online redo log file放在传统文件系统中,一些用户数据文件在raw partitions中,其余文件在oracle ASM,存档的redo log filescluster file system中。

 

ASM管理磁盘空间,均衡i/o夫在,优化性能。

跳过ASM专题几页

 

表空间和data file:

一个表空间可以包含一个或多个数据文件

一个段可以跨越一个或多个数据文件,但不可跨越多个表空间

一个数据库必须有SYSTEM,SYSAUX表空间,在数据库建库阶段,oracle自动将数据文件分配在SYSTEM表空间。

System表空间包含数据字典,包含了元数据。一个数据库通常还有undo表空间和临时表空间。

 

持久表空间、临时表空间

临时表空间包含只在一个session中的对象,比如hash, sort的数据,当内存不够时,临时文件也可能存放一些数据。

 

永久数据对象从不存放在临时文件中。

临时文件总是NOLOGGING模式

临时文件不能read only

不能用ALTER DATABASE创建临时文件

当你创建或者resize临时文件时,它们并不总被保证有足够的磁盘空间分配。

临时文件信息在DBA_TEMP_FILES, V$TEMPFILE

 

每个数据文件要么online要么offlineOffline的文件不可访问。同样的,表空间也可以onlineoffline

 

Oracle 给数据文件分配空间时,不仅要分配指定空间,还要分配一个数据文件头。文件头包含了数据文件大小,checkpoint SCN号。还包含了绝对文件号和相对文件号。绝对文件号唯一的标识了整个数据库中的这个文件,相对文件号唯一标识了该表空间中的这个文件。

oracle创建数据文件时,就会把指定的空间预留出来。

 

控制文件包含:

数据库名和数据库唯一标识

数据库创建时间戳

数据文件,online redo log file 归档日志文件的信息

表空间信息

RMAN备份

控制文件的作用:

1。包含一些文件的信息

2.包含在数据库未打开时的元数据信息,包含checkpoint信息

 

控制文件中包含两类信息:

1.可循环重用纪录:不是关键信息,在需要的时候可以覆写,比如归档重做日志文件和RMAN备份

2.不可循环重用纪录:关键信息,不可覆写,比如表空间,数据文件,在线重做日志文件。

 

对控制文件的读写和对数据块的读写是不同的。Oracle直接把控制文件信息从磁盘上读到PGA中,每个进程为控制文件分配一小块它自己的PGA

 

在线重做日志:当数据库实例发生错误时,在线重做日志可以帮助恢复那些已经提交,但还未写到数据文件中的操作。

数据库把每个操作同步的写到重做日志缓存,然后写到在线重做日志。日志的内容包含未被提交的事务,undo数据,schemaobject管理与据。在线重做日志可以通过LogMiner的接口去访查询。

 

一个在线重做日志包含两个或多个重做日志文件,最少要有两个。

oracle每次写一个日志文件,当前被LGWR写的那个文件被称为当前在线重做日志文件。

 

Log switch发生在数据库停止写一个文件,而转向写另一个日志文件。通常情况下,log switch是因为当前文件写满了。当然,你也可以配置以多久的时间间隔来log switch,或者手动的强制log switch

Log file是循环写的,比如log writer写完最后一个文件后,就会转到第一个文件继续写。

 

写满的日志文件是否可以重用取决于归档模式:

1.如果没有归档,那么在该文件中被修改的纪录被DBWn写到磁盘后,该日志文件就可以被覆写了。

2.如果开启了归档,那么当被修改的纪录被DBWn写到磁盘,且日志文件被归档后,该日志文件才可以重用。

 

在线重做日志文件可以有多个备份,并且多个备份最好在不同的磁盘上。

比如:

                        DiskA                                      DiskB

Group1       redo01a.log                               redo01b.log

Group2       redo02a.log                               redo02b.log

01a 01b的内容是相同的,在一个group中。

LGWR先同时写group1中的两个文件,再写group2中的文件,再group1

 

归档日志文件堆数据库备份和恢复很重要,可以用来:

恢复一个数据库备份

更新一个standby数据库

LogMiner获取数据库历史信息

 

在线重做日志文件中的条目包含如下信息:

ChangeSCN号和时间戳

事务的事务号

事务提交时的SCN和时间戳

操作的类型

修改的数据段的名字和类型

 

 

 

 

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11903161/viewspace-681863/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/11903161/viewspace-681863/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值