表空间与数据文件Offline,online的区别
首先明确,表空间与数据文件的关系:Oracle数据库表空间有两种,一种smallfile小文件表空间(默认),另一种bigfile大文件表空间;
默认表空间与数据文件的关系:允许一对多的处理方式,一个表空间可以有多个数据文件,一个数据文件只能存在一个表空间内;
而bigfile表空间,是一对一的关系,一个表空间对应一个数据文件;
SQL> create bigfile tablespace big_tbs2 datafile '/u01/app/big02.dbf' size 5m autoextend on maxsize 4097g;
--Yes or no查询是否是bigfile表空间
SQL> select tablespace_name,bigfile from dba_tablespaces;
TABLESPACE_NAME BIG ------------------------------ --- SYSTEM NO
--本次实验测试均采用默认smallfile表空间管理,测试;
SQL> select file_id,TABLESPACE_NAME,ONLINE_STATUS from dba_data_files where tablespace_name='YA';
FILE_ID TABLESPACE ONLINE_ ---------- ---------- ------- 7 YA ONLINE
---OFFLINE,ONLINE 操作有什么意义呢? --可以维护操作,表空间数据文件的迁移,改名称;
alter tablespace ya offline;
SQL> host cp /u01/app/oracle/ya.dbf /picclife/app/hukou/data/ya.dbf
SQL> alter database rename file '/u01/app/oracle/ya.dbf' to '/picclife/app/hukou/data/ya.dbf';
SQL> alter tablespace ya online;
——————————————————————**********以上操作表空间******以下数据文件---------
SQL> alter database datafile 7 offline;
SQL> host cp /picclife/app/hukou/data/ya.dbf /picclife/app/hukou/data/ya1.dbf
SQL> alter database rename file '/picclife/app/hukou/data/ya.dbf' to '/picclife/app/hukou/data/ya1.dbf';
SQL> recover datafile 7 ;
SQL> alter database datafile 7 online;
细心的朋友已经发现了,表空间不需要recover;
细节衍生:---为了快速查询--先查询表空间对应的数据文件ID号;
SQL> select FILE_ID,TABLESPACE_NAME from dba_data_files where TABLESPACE_NAME='YA';
FILE_ID TABLESPACE ---------- ---------- 7 YA
SQL> alter system checkpoint;
SQL> select FILE#,CHECKPOINT_CHANGE#,STATUS from v$datafile where file# in(6,7,8);
FILE# CHECKPOINT_CHANGE# STATUS
---------- ------------------ -------
6 466041 ONLINE
7 466041 ONLINE
8 466041 ONLINE ---操作执行完全检查点后,统一;控制文件记录数据文件的SCN号
SQL> select FILE#,CHECKPOINT_CHANGE#,STATUS from v$datafile_header where file# in(6,7,8);
FILE# CHECKPOINT_CHANGE# STATUS ---数据文件头部记录自身的SCN号
---------- ------------------ -------
6 466041 ONLINE
7 466041 ONLINE
8 466041 ONLINE
---执行操作:A 表空间OFFLINE ,ONLINE;
--再次查询对比:
SQL> alter tablespace ya offline;
v$datafile 控制文件记录自身的SCN
6 466041 ONLINE
7 466122 OFFLINE
8 466041 ONLINE
v$datafile_header 数据文件头部记录自己的
6 466041 ONLINE
7 0 OFFLINE
8 466041 ONLINE
SQL> alter tablespace ya online;
v$datafile 控制文件记录自身的SCN
6 466041 ONLINE
7 466231 ONLINE
8 466041 ONLINE
v$datafile_header 数据文件头部记录自己的
6 466041 ONLINE
7 466231 ONLINE
8 466041 ONLINE
----------------------------------------------------表空间状态变化,在表空间脱机时,CKPT进程会通知dbwr进程将表空间对应的脏块,写出,写入数据文件;
因此,在表空间Online的时候不需要redo恢复,并且数据文件头部scn冻结-------------------------------------
select * from scott.emp ---------------查询表空间存储的表将出现如下报错
*
ERROR at line 1:
ORA-00376: file 4 cannot be read at this time
--------------执行操作B : 数据文件offline;
7 466353 ONLINE
SQL> alter database datafile 7 offline;
v$datafile 控制文件记录自身的SCN
6 466353 ONLINE
7 466353 RECOVER
8 466353 ONLINE
v$datafile_header 数据文件头部记录自己的
6 466353 ONLINE
7 466353 OFFLINE
8 466353 ONLINE
recover datafile 7;
v$datafile 控制文件记录自身的SCN
6 466353 ONLINE
7 466384 OFFLINE
8 466353 ONLINE
v$datafile_header 数据文件头部记录自己的
6 466353 ONLINE
7 466384 OFFLINE
8 466353 ONLINE
alter database datafile 7 online;
---------------数据文件offline,控制文件、数据文件头部记录的SCN号,停留最后一刻,类似存储掉电,所以数据文件在线需要应用redo恢复---
表空间与数据文件Offline,online的区别的更多相关文章
- Oracle的表空间和数据文件
一. 概念 表空间:是一个或多个数据文件的逻辑集合 表空间逻辑存储对象: 永久段-->如表与索引 临时段-->如临时表数据与排序段 回滚段-->用于事物回滚或闪回内存的撤销数据 表空 ...
- 管理表空间和数据文件<六>
数据库管理 -- 管理表空间和数据文件 介绍 表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库则是存放在表空间中,表 空间由一个或多个数据文件组成. 数据库 ...
- 【转】Oracle 表空间与数据文件
--============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或 ...
- 【基础】Oracle 表空间和数据文件
多个表空间的优势:1.能够将数据字典与用户数据分离出来,避免由于字典对象和用户对象保存在同一个数据文件中而产生的I/O冲突2.能够将回退数据与用户数据分离出来,避免由于硬盘损坏而导致永久性的数据丢失3 ...
- RMAN数据库恢复之恢复表空间和数据文件
执行表空间或数据文件恢复时,数据库既可以是MOUNT状态,也可以是OPEN状态.1.恢复表空间在执行恢复之前,如果被操作的表空间未处理OFFLINE状态,必须首先通过ALTER TABLESPACE… ...
- oracle维护表空间和数据文件
1:重要参考 wiki 2: oracle doc 表空间参考 3:来自dba-oracle的参考 26,27,28,29 一:oracle 表空间概念 表空间是联系数据库的物理磁盘(数据文件)和逻辑 ...
- 十四、oracle 数据库管理--管理表空间和数据文件
一.概念表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库数据则是存放在表空间中,表空间由一个或多个数据文件组成. 二.数据库的逻辑结构oracle中逻辑结构包括 ...
- ORACLE - 管理表空间和数据文件
ORACLE表空间是一个逻辑分区,一个数据文件只能属于一个表空间,一个表空间可以拥有多个数据文件. 一般情况下,如果一个实例分配给多个应用使用,需要创建不同的表空间,每个用户使用自己的表空间. 一.表 ...
- oracle 数据库管理--管理表空间和数据文件
一.概念表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库数据则是存放在表空间中,表空间由一个或多个数据文件组成. 二.数据库的逻辑结构oracle中逻辑结构包括 ...
随机推荐
- 前端基础之初识 HTML
HTML HTML(Hypertext Markup Language)即超文本标记语言,是WWW的描述语言.设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便 ...
- Postgresql在线备份和恢复
1.实验环境 OS: RedHat Linux Enterprisedb 6.3 DB: postgresql 9.3 PGHOME: /opt/PostgreSQL/9.3 PGDATA: /opt ...
- asp.net 的发布与执行
asp.net的工程文件在测试完成后就是发布(部署)和执行. 发布 本地发布的例子 1,菜单项 生成--发布 2,如果是第一次发布,点击自定义,设置配置文件的名称 3,发布方法--文件系统,设置本地 ...
- 表空间tablespace,数据文件datafiles,和控制文件control files介绍
https://docs.oracle.com/cd/B19306_01/server.102/b14220/physical.htm#i5919 本文系翻译 表空间tablespace,数据文件da ...
- 数据库中删除语句Drop、Delete、Truncate的相同点和不同点的比较
数据库删除语句的分别介绍: Delete:用于删除表中的行(注:可以删除某一行:也可以在不删除表的情况下(即意味着表的结构.属性.索引完整)删除所有行) 语法:删除某一行:Delete From 表名 ...
- PHP字符串替换str_replace()函数4种用法详解
mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )该函数返回一个字符串 ...
- 热门开源项目:Guns-后台管理系统
Guns基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springmvc + shiro + mybatis-plus + beetl!Guns项目代码简洁,注释丰富,上手容易,同时 ...
- win10 uwp 获得缩略图
有时候需要获得文件或视频的缩略图. 本文提供两个方法,用于获得文件的缩略图和截取视频指定时间的显示图片. 文件缩略图 如果有一个文件需要获得缩略图,可以使用 GetThumbnailAsync 或 G ...
- JS高级. 05 词法作用域、变量名提升、作用域链、闭包
作用域 域,表示的是一个范围,作用域,就是作用范围. 作用域说明的是一个变量可以在什么地方被使用,什么地方不能被使用. 块级作用域 JavaScript中没有块级作用域 { var num = 123 ...
- Spring读书笔记——bean创建(上)
通过<Spring读书笔记--bean加载>和<Spring读书笔记--bean解析>,我们明白了两件事. Spring如何加载消化一个xml配置文件 Spring如何将xml ...