Welcome 微信登录

首页 / 数据库 / MySQL / Oracle物理存储结构简述

数据库其实是由一堆物理文件组成的,主要有4个:
1. 控制文件(control files)
2. 数据文件(Date files)
3. 重做日志文件(redolog)

1.控制文件

控制文件是数据库的root file,由他来定位数据库文件
里面有:
  • 数据库的name ,DBID,数据库唯一标识符。
  • 数据库创建日期
  • 数据文件,重做日志,归档日志文件的信息。
  • tablespace的信息。
  • rman 备份
控制文件他有两个目的
  1. 包含一些data files,redo files存放在哪里的信息。所以没有control file,数据库是没办法mount的,因为他定位不到基本的数据文件。
  2. 数据库允许的一些元数据会记录在里面,比如检查点的相关信息等。

查询控制文件信息

show parameter control_files;select name from v$controlfile;

control file的指定

其实是在pfile 里面指定的,dbca创建数据库的时候会指定。

2. 数据文件

数据库的数据实际存放在数据文件中(data file)。他一般跟tablesapce的关系比较密切,一个tablespace可以由好几个数据文件,但是一个数据文件只能对于一个tablespace。tablespace是逻辑上的概念。数据文件则是一个物理概念。

查询数据文件

SQL> select name,status from v$datafile;

数据文件的状态

online,offline,system,主要是前2个,联机和脱机状态,脱机状态下,数据就没办法访问了。
比如将某个数据文件offline可以执行SQL> alter database datafile "/u01/app/Oracle/oradata/test58/zabbix.dbf" offline;但要注意,只有在db开启归档模式时,才可以将数据文件offline,否则会报错ORA-01145: offline immediate disallowed unless media recovery enabled查看错误信息SQL> !oerr ora 0114501145, 00000, "offline immediate disallowed unless media recovery enabled"// *Cause: ALTER TABLESPACE ... OFFLINE IMMEDIATE or ALTER DATABASE DATAFILE// ... OFFLINE is only allowed if database is in ARCHIVELOG mode.// *Action:Take tablespace offline normally or shutdown abort. Reconsider your// backup strategy. You could do this if you were archiving your logs.什么是归档模式,请看redo log里面的相关操作。

3. 重做日志文件

redo log其实是非常重要的东西,redo一般在建库的时候指定。SQL> select * from v$log

开启归档模式

1.查看是否在归档模式下:SQL> archive log list;Database log modeNo Archive ModeAutomatic archival DisabledArchive destination/u01/app/oracle/product/11.2.0/dbhome_1/dbs/archOldest online log sequence 36Current log sequence 382.备份数据库3.编辑pfileLOG_ARCHIVE_DEST="/u01/app/oracle/oradata/test58/archive"确保有这个目录。4.启动数据库,但是不要open
startup mount5.开启归档模式,并且打开数据库alter database ARCHIVELOG;alter database open;6.查看状态SQL> archive log list;Database log modeArchive ModeAutomatic archival EnabledArchive destination/u01/app/oracle/oradata/test58/archiveOldest online log sequence 36Next log sequence to archive 38Current log sequence 38更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址