Heim  >  Artikel  >  Datenbank  >  Oracle物理存储结构简述

Oracle物理存储结构简述

WBOY
WBOYOriginal
2016-06-07 15:57:281328Durchsuche

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

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

1.控制文件

控制文件是数据库的root file,由他来定位数据库文件
里面有:

控制文件他有两个目的

  • 包含一些data files,redo files存放在哪里的信息。所以没有control file,数据库是没办法mount的,因为他定位不到基本的数据文件。
  • 数据库允许的一些元数据会记录在里面,比如检查点的相关信息等。
  • 查询控制文件信息 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 01145 01145, 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 mode No Archive Mode Automatic archival Disabled Archive destination /u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch Oldest online log sequence 36 Current log sequence 38

    2.备份数据库

    3.编辑pfile

    LOG_ARCHIVE_DEST="/u01/app/oracle/oradata/test58/archive"

    确保有这个目录。

    4.启动数据库,但是不要open
    startup mount

    5.开启归档模式,并且打开数据库

    ;

    6.查看状态

    SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination /u01/app/oracle/oradata/test58/archive Oldest online sequence to archive 38 Current log sequence 38

    本文永久更新链接地址

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Vorheriger Artikel:MongoDB的使用Nächster Artikel:视图显示库存余量