>  기사  >  데이터 베이스  >  Oracle物理存储结构简述

Oracle物理存储结构简述

WBOY
WBOY원래의
2016-06-07 15:57:281386검색

数据库其实是由一堆物理文件组成的,主要有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

    本文永久更新链接地址

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    이전 기사:MongoDB的使用다음 기사:视图显示库存余量