1.查看数据库实例基本信息:

SQL> SELECT DBID,NAME,CREATED,LOG_MODE,OPEN_MODE,FORCE_LOGGING,CURRENT_SCN,FLASHBACK_ON FROM V$DATABASE;
DBID        NAME        CREATED   LOG_MODE    OPEN_MODE             FORCE_LOGGING CURRENT_SCN FLASHBACK_ON
---------- --------- ----------- ------------ -------------------- ------------- ----------- ------------------
  ORCL        ARCHIVELOG    NO

2.控制文件:
控制文件是一个二进制文件。ORACLE数据库实例启动后(即启动到NOMOUNT模式),要通过加载控制文件确定数据文件、重做日志文件的路(进入到MOUNT模式),然后才能打开数据库(OPEN)。
控制文件还包括数据库名称、数据库创建信息、表空间信息、数据文件状态、日志谁的信息、备份信息、检查点信息等。

SQL> SHOW PARAMETER CONTROL_FILES;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string D:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL, D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL

SQL> SELECT * FROM V$CONTROLFILE;
STATUS NAME IS_RECOVERY_DEST_FILE BLOCK_SIZE FILE_SIZE_BLKS
------- -------------------------------------------------------------------------------- --------------------- ---------- --------------
D:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL NO
D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL NO  

3.数据文件:

SQL> SELECT NAME FROM V$DATAFILE;
NAME
--------------------------------------------------------------------------------
D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
D:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF

3.1.数据文件的状态:
ONLINE,OFFLINE,SYSTEM,RECOVER, 只有SYSTEM表空间数据文件的状态会显示为SYSTEM。

SQL> ALTER DATABASE DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF' OFFLINE;
Database altered

SQL> ALTER DATABASE DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF' ONLINE;
ALTER DATABASE DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF' ONLINE
ORA: 文件  需要介质恢复
ORA: 数据文件 : 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF'

SQL> SELECT STATUS,NAME FROM V$DATAFILE;
STATUS NAME
------- --------------------------------------------------------------------------------
SYSTEM D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
RECOVER D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF

SQL> conn sys/PASSWD@orcl as sysdba;
已连接。

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area  bytes
Fixed Size  bytes
Variable Size  bytes
 bytes
Redo Buffers  bytes
数据库装载完毕。

SQL> recover datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF';
完成介质恢复。

SQL> alter database open;
数据库已更改。

SQL> SELECT STATUS,NAME FROM V$DATAFILE;
STATUS NAME
------- --------------------------------------------------------------------------------
SYSTEM D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
OFLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF

SQL> ALTER DATABASE DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF' ONLINE;
数据库已更改。

SQL> SELECT STATUS,NAME FROM V$DATAFILE;
STATUS NAME
------- --------------------------------------------------------------------------------
SYSTEM D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF

4、临时文件
当ORACLE在执行大规模排序时,如果PGA内存中无法存放,就会将数据存储到临时表空间中作为中转,当操作执行完后,这部分空间又会随机的被其它操作临时使用。
临时表空间必须处于Nologging模式。
临时表空间不能被置为只读。
RMAN备份时不会备份临时表空间数据文件,恢复时也不进行恢复。
查看临时表空间数据文件信息:

SQL MB,NAME FROM V$TEMPFILE;
STATUS     ENABLED     MB         NAME
------- ---------- ---------- --------------------------------------------------------------------------------
ONLINE               D:\APP\ADMINISTRATOR\ORADATA\ORCL\TEMP01.DBF

5、日志文件
在ORACLE数据库中,执行数据库修改操作后,并不是马上写入数据文件,而是首先生成重做信息,并写入SGA中的一块叫做LOG_BUFFER的固定区域,当这个区域中的数据满足一定的条件后,会有相应的进程
将LOG_BUFFER中的内容写入到重做日志文件中。例如:当日志切换时,相关进程会从重做日志文件中读取用户已提交的数据,并写入到数据文件。
重做日志文件至少两个,循环使用。
5.1查看日志文件信息:

SQL> SELECT * FROM V$LOGFILE;
GROUP# STATUS TYPE MEMBER IS_RECOVERY_DEST_FILE
---------- ------- ------- ------------------------------------------------- ---------------------
 ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG NO
 ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG NO
 ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG NO
 ONLINE D:\TESTADDLOG.LOG NO
SQL> SELECT * FROM V$LOG;
GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME
---------- ---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- ----------- ------------ -----------
      YES INACTIVE
      YES INACTIVE
      NO
      YES INACTIVE      

5.2 日志文件的STATUS:
UNUSED:还未写入过数据,刚创建的联机重做日志文件就是这种状态。
CURRENT: 当前正在使用。
ACTIVE:表示虽然当前未使用,不过该文件中内容尚未归档,或者文件中的内容还淌有全部写入数据文件中,实例恢复时必须借助该文件中的内容。
INACTIVE:表示该文件中的内容已被妥善处理,此时正处于空闲状态。
CLEARING:表示该日志文件正在被重建。
CLEARING_CURRENT:表示该日志文件重建时出现错误。
如果用户在执行某些DDL语句时附加NOLOGING子句或执行DML时指定HINT APPEND方式操作数据,则这种操作不会产生重做日志记录。
如果想让所有操作均记录重做日志,可以将数据库属性修改为Force Logging.

SQL> SELECT FORCE_LOGGING FROM V$DATABASE;
FORCE_LOGGING
-------------
NO

默认情况下,数据处于NOForce Logging状态。要修改为Foce Logging模式,执行下列操作:

ALTER DATABASE FORCE LOGGING;
ALTER DATABASE NO FORCE LOGGING;--取消该模式。

6.归档日志文件
联机重做日志文件保存了数据库所做的修改。所谓归档就是ORACLE自动将写满或被切换的联机重做日志文件复制一份到指定的路径下,并按照相应的规则重新命名。
每个联机重做日志文件组中可以有多个成员,但是归档时每组仅会产生一个归档文件。
数据库只有处于归档模式才会产生归档日志文件。
查看数据库是否处理归档模式:

SQL> ARCHIVE LOG LIST;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列
下一个存档日志序列
当前日志序列
SQL> SELECT NAME,LOG_MODE FROM V$DATABASE;
NAME LOG_MODE
--------- ------------
ORCL ARCHIVELOG

如果数据库处理非归档模式,可用如下的语句修改为归档模式:

ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=E:\ORACLE\ORCL\ARCHIVE'; --修改路径档路径,将归档文件存放在用户自己定义的目录下。也可以不指定路径,则存放在安装路径的默认的路径下。
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;--通过该命令将数据库置于归档。
ALTER DATABASE OPEN;

在默认情况下,ORACLE会等第一组联机重做日志文件被写满后再触发归档操作,DBA也可执行下列命令进行手动归档:
ALTER SYSTEM ARCHIVE LOG ALL;

ORACLE物理存储结构的更多相关文章

  1. ORACLE数据库存储结构简介(转)

    首先,oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构,对于这两种存储结构,oracle是分别进行管理的.   逻辑存储结构:oracle内部的组织和管理数据的方式.  物理存储结构:o ...

  2. InnoDB的表类型,逻辑存储结构,物理存储结构

    表类型 对比Oracle支持的各种表类型,InnoDB存储引擎表更像是Oracle中的索引组织表(index organized table).在InnoDB存储引擎表中,每张表都有个主键,如果在创建 ...

  3. Atitit.数据库表的物理存储结构原理与架构设计与实践

    Atitit.数据库表的物理存储结构原理与架构设计与实践 1. Oracle和DB2数据库的存储模型如图: 1 1.1. 2. 表数据在块中的存储以及RowId信息3 2. 数据表的物理存储结构 自然 ...

  4. 算法与数据结构(四) 图的物理存储结构与深搜、广搜(Swift版)

    开门见山,本篇博客就介绍图相关的东西.图其实就是树结构的升级版.上篇博客我们聊了树的一种,在后边的博客中我们还会介绍其他类型的树,比如红黑树,B树等等,以及这些树结构的应用.本篇博客我们就讲图的存储结 ...

  5. ORACLE管理存储结构之物理机构+逻辑结构【weber出品】

    一.数据库的存储结构有物理结构和逻辑结构组成的 物理结构:物理上,oracle是由一些操作系统文件组成的 SQL> select name from v$datafile; NAME ----- ...

  6. Oracle 体系结构四 逻辑和物理存储结构之间的关系

    Oracle数据库从物理存储中完全抽象出逻辑存储.逻辑数据存储采用“段”的形式.段的类型有很多种:典型的段是“表”.这些段以物理形式存储在数据文件中.通过表空间将逻辑存储从物理存储中抽象出来.逻辑结构 ...

  7. ORACLE数据库存储结构

    一.数据块 Oracle对数据库数据文件中的存储空间进行管理的单位是数据块.数据块是数据库中最小的(逻辑)数据单位,是最小的I/O单位.与数据块对应的,所有数据在操作系统级的最小物理存储单位是字节.每 ...

  8. Innodb物理存储结构系列1

    本篇先介绍 下Innodb表空间,文件相关的内存数据结构. 1. 数据结构 Innodb的tablespace和文件的关系,是一对多的关系,先来看三个结构体 1. fil_system_struct: ...

  9. MongoDB【第二篇】MongoDB逻辑与物理存储结构

    基本的操作 一.常用的命令和基础知识 1.进入MongoDB sehll 首先我们进入到MongoDB所在目录执行 cd /work/app/mongodb/bin/ #启动 ./mongo 为了方便 ...

随机推荐

  1. 从零3D基础入门XNA 4.0(2)——模型和BasicEffect

    [题外话] 上一篇文章介绍了3D开发基础与XNA开发程序的整体结构,以及使用Model类的Draw方法将模型绘制到屏幕上.本文接着上一篇文章继续,介绍XNA中模型的结构.BasicEffect的使用以 ...

  2. NYOJ 461

    Fibonacci数列(四) 描述  数学神童小明终于把0到100000000的Fibonacci数列(f[0]=0,f[1]=1;f[i] = f[i-1]+f[i-2](i>=2))的值全部 ...

  3. Spring MVC 详解(一)

    springmvc是spring的一个模块,提供web层解决方案(基于mvc设计架构),mvc是一个设计模式,在b/s系统的应用: spring 的架构 mvc设计模式 spring MVC的框架 第 ...

  4. IntelliJ IDEA使用SSH功能

    Tools→Start SSH session... 选择Edit credentials... 输入SSH登录信息即可 输入SSH登录信息,Port默认为22 来自为知笔记(Wiz)

  5. MQ-传输方式Topic和Queue的对比

    Jms规范里的两种message传输方式Topic和Queue,两者的对比如下表():   Topic Queue 概要 Publish  Subscribe messaging 发布订阅消息 Poi ...

  6. Android开发:TextView真正可控、不需要焦点的水平滚动--这才是真正的跑马灯

    网上的TextView做跑马灯,大多都是要用到焦点,而且字数要超出滚动区域宽度才能实现滚动,使用起来十分不方便. 这里实现一种真正可控的滚动 (1)不需要焦点 (2)任意字数 (3)滚动从滚动区域右边 ...

  7. sql语句分页代码

    SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO alter proc sp_SelectInfomationByKeyWord--创建一个存储过程 - ...

  8. js中表单的聚焦失焦事件

    焦点事件: 不是所有元素都有焦点事件,只有可交互性的元素才有,比如表单元素,a标签.页面中只能有一个元素有焦点,一个聚焦,另一个就失焦,默认在document. 例子结构如下: <form> ...

  9. MySQL数据库全备

    #function:MYSQL自动全备 #version:1.0.0 #author:wangyanlin #date:2017/08/03 #---------------------------- ...

  10. sqlmap 基本应用

    sqlmap 基本应用: sqlmap详细命令: -is-dba 当前用户权限(是否为root权限) -dbs 所有数据库 -current-db 网站当前数据库 -users 所有数据库用户 -cu ...