ORACLE物理存储结构
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
---------- --------- ----------- ------------ -------------------- ------------- ----------- ------------------
1392118573 ORCL 2014/11/22 ARCHIVELOG READ WRITE NO 1236387 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 16384 594
D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL NO 16384 594
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-01113: 文件 4 需要介质恢复
ORA-01110: 数据文件 4: '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 647204864 bytes
Fixed Size 2178536 bytes
Variable Size 478151192 bytes
Database Buffers 159383552 bytes
Redo Buffers 7491584 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> SELECT STATUS,ENABLED,BYTES/1024/1024 MB,NAME FROM V$TEMPFILE;
STATUS ENABLED MB NAME
------- ---------- ---------- --------------------------------------------------------------------------------
ONLINE READ WRITE 29 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
---------- ------- ------- ------------------------------------------------- ---------------------
3 ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG NO
2 ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG NO
1 ONLINE D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG NO
4 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
---------- ---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- ----------- ------------ -----------
1 1 14 52428800 512 1 YES INACTIVE 1188864 2014/12/1 2 1208046 2014/12/9 2
2 1 16 52428800 512 1 YES INACTIVE 1208411 2014/12/9 2 1234202 2014/12/10
3 1 17 52428800 512 1 NO CURRENT 1234202 2014/12/10 281474976710
4 1 15 8388608 512 1 YES INACTIVE 1208046 2014/12/9 2 1208411 2014/12/9 2
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
最早的联机日志序列 14
下一个存档日志序列 17
当前日志序列 17
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物理存储结构的更多相关文章
- ORACLE数据库存储结构简介(转)
首先,oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构,对于这两种存储结构,oracle是分别进行管理的. 逻辑存储结构:oracle内部的组织和管理数据的方式. 物理存储结构:o ...
- Oracle 11g 物理存储结构
Oracle 系统的物理存储结构比较具体和直观,它用来描述 Oracle 数据在磁盘上的物理组成情况.Oracle 系统的数据在逻辑上存储在表空间中,而在物理上存储在表空间所包含的物理文件(即数据文件 ...
- 学习笔记:oracle学习一:oracle11g体系结构之物理存储结构
目录 1.物理存储结构 1.1 数据文件 1.2 控制文件 1.3 日志文件 1.3.1 重做日志文件 1.3.2 归档日志文件 1.4 服务器参数文件 1.4.1 查看服务器参数 1.4.2 修改服 ...
- InnoDB的表类型,逻辑存储结构,物理存储结构
表类型 对比Oracle支持的各种表类型,InnoDB存储引擎表更像是Oracle中的索引组织表(index organized table).在InnoDB存储引擎表中,每张表都有个主键,如果在创建 ...
- Atitit.数据库表的物理存储结构原理与架构设计与实践
Atitit.数据库表的物理存储结构原理与架构设计与实践 1. Oracle和DB2数据库的存储模型如图: 1 1.1. 2. 表数据在块中的存储以及RowId信息3 2. 数据表的物理存储结构 自然 ...
- oracle逻辑存储结构
oracle数据库管理系统有三个重要的概念:实例.数据库.数据库服务器.oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构.逻辑存储结构用于描绘Oracle内部组织和管理数据的方式,而物理 ...
- Oracle 逻辑存储结构
一.总述 逻辑存储结构是 Oracle 数据库存储结构的核心内容,对 Oracle 数据库的所有操作都会涉及逻辑存储结构.逻辑存储结构是从逻辑的角度分析数据库的组成,是对数据存储结构在逻辑概念上的划分 ...
- (1.3)学习笔记之mysql体系结构(C/S整体架构、内存结构、物理存储结构、逻辑结构)
目录 1.学习笔记之mysql体系结构(C/S架构) 2.mysql整体架构 3.存储引擎 4.sql语句处理--SQL层(内存层) 5.服务器内存结构 6.mysql如何使用磁盘空间 7.mysql ...
- 算法与数据结构(四) 图的物理存储结构与深搜、广搜(Swift版)
开门见山,本篇博客就介绍图相关的东西.图其实就是树结构的升级版.上篇博客我们聊了树的一种,在后边的博客中我们还会介绍其他类型的树,比如红黑树,B树等等,以及这些树结构的应用.本篇博客我们就讲图的存储结 ...
随机推荐
- ionic 图片轮播问题
1.使用ion-slide可以实现图片轮播,但是如果在html中仅仅增加ion-slide是远远不够的,会出现两个问题: (注:使用的是angularjs.首先需要在,js文件中注入:$ionicSl ...
- 基于canvas图像处理的图片展示demo
图片展示网页往往色彩繁杂,当一个网页上有多张图片的时候用户的注意力就很不容易集中,而且会造成网站整个色调风格的不可把控. 能不能把所有的预览图变成灰度图片,等用户激活某张图片的时候再上色呢? 以前,唯 ...
- 使用图片拉伸resizableImageWithCapInsets
在仿写QQ会话的时候背景蓝色图片是拉伸而来,但是有些地方是受保护的不能拉伸 所以定义了下面的工具类中的一个方法,专门拉伸图片 UIImageResizingModeStretch:拉伸模式,通过拉伸U ...
- UI开发学习中遇到的问题汇总
1.给UIView设置圆角,边框,阴影绘制,需要使用layer 1)设置圆角cornerView.layer.cornerRadius = 20; //设置试图圆角的大小cornerView.laye ...
- 导入android项目在eclipse中会报@Override错误
很多时候导入android项目在eclipse中会报@Override错误,这是由于java编译器的版本不正确,Java 1.5的编译器默认对父类的方法进行覆盖,采用@Override进行说明:但1. ...
- (原)在ubuntu 中安装 swi prolog 和 简单的使用
参考网址:http://www0.cs.ucl.ac.uk/staff/mahmed/teaching/intro.html 参考网址:http://www.swi-prolog.org/build/ ...
- Laravel 模板引擎Blade中标签详细介绍
这篇文章主要介绍了Laravel模板引擎Blade中section的一些标签的区别介绍,需要的朋友可以来看看. Laravel 框架中的Blade模板引擎很好用,但是官方文档介绍的并不详细,我接下来将 ...
- 用PHP向MySql中写入图片
我们经常遇到的问题是如何将图片文件放到Mysql数据库当中,这样可以避免没有认证的用户找到我们的图片资源! 1.看看数据库里的表结构怎么写 CREATE TABLE Images ( PicN ...
- deepin 2014 静态IP无法保存,临时方法
打开终端: #临时添加静态IP ifconfig eth0 [ip] netmask [掩码] #添加默认网关 route add default gw [网关] #添加DNS vim /etc/re ...
- MVC4商城项目四:应用Bundle捆绑压缩技术
从MVC4开始,我们就发现,项目中对Global.asax进行了优化,将原来在MVC3中使用的代码移到了[App_Start]文件夹下,而Global.asax只负责初始化.其中的BundleConf ...