表空间与数据文件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中逻辑结构包括 ...
随机推荐
- P1045
问题 A: P1045 时间限制: 1 Sec 内存限制: 128 MB提交: 145 解决: 127[提交][状态][讨论版] 题目描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加 ...
- unserialize() [function.unserialize]: Error at offset
$a = 'a:1:{i:0;s:12:"1,10,93,";}'; var_dump( unserialize( $a ) ); 运行之后页面上显示Notice: unseria ...
- dets
模块说明 提供基于文件的项式存储,项式以元组表示,其中某个位置为键,默认第1位置 Dets为Mniesia所用,后者增加了事务.查询.和分布式支持. Dets文件不能超过2GB. Dets只有set ...
- 适配ios11与iphone x实践
一.适配iOS11 问题1:项目中有原生与H5的交互,运行在iOS11时,直接漰溃在框架WebViewJavascriptBridge内部. 报错信息:Completion handler passe ...
- python concurrent.futures
python因为其全局解释器锁GIL而无法通过线程实现真正的平行计算.这个论断我们不展开,但是有个概念我们要说明,IO密集型 vs. 计算密集型. IO密集型:读取文件,读取网络套接字频繁. 计算密集 ...
- Arrays.asList () 不可添加或删除元素的原因
Java中奖数组转换为List<T>容器有一个很方便的方法 Arrays.asList(T ... a),我通过此方法给容器进行了赋值操作,接着对其进行 添加元素,却发现会抛出一个(jav ...
- Scala-Spark digamma stackoverflow问题
Scala-Spark digamma stackoverflow问题 这两天在用spark做点击率的贝叶斯平滑,参考雅虎的论文进行了一番尝试. 先上代码: # click_count, show_c ...
- Hadoop(八)Java程序访问HDFS集群中数据块与查看文件系统
前言 我们知道HDFS集群中,所有的文件都是存放在DN的数据块中的.那我们该怎么去查看数据块的相关属性的呢?这就是我今天分享的内容了 一.HDFS中数据块概述 1.1.HDFS集群中数据块存放位置 我 ...
- socket__服务端、客户端(注释版)
# !/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/8/22 16:14 # @Author : Mr_zhang # @Sit ...
- Linux入门(11)——Ubuntu16.04安装texlive2016并配置texmaker和sublime text3
安装过程中需要调用 Perl 的模块 Digest::MD5 来检测 ISO 文件的完整性:升级过程中界面需要调用 Perl 的模块 Tk: sudo apt-get install libdiges ...