`
sangei
  • 浏览: 337695 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

(转)table space和data file的offline

阅读更多

1、对一个datafile执行offline或offline drop本质上是一回事,但对一个datafile执行offline只能在归档模式下;而对一个datafile执行offline drop则既可以在归档模式也可以在非归档模式下;

 

2、对一个datafile无论是执行offline还是offline drop,都是只改写了control文件,不会更新file$和ts$,这就是为什么可以在mount状态下对某个datafile执行offline/offline drop的本质原因;

 

3、只有当对datafile所在的表空间执行offline normal的时候,才会既改写control文件,又更新ts$和seg$,oracle这里会把ts$的online$字段的值由1改为2,但依然不会去更新file$;

 

4、只有当对datafile所在的表空间执行drop操作的时候,oracle才会去更新ts$和file$,oracle这里会把ts$的online$字段的值由1改为3,会把file$的status$字段由2改为1;

注意,无论是file$的file#还是ts$的ts#,它们都是连续的!并且oracle会重用file$的file#,但是不会重用ts$里的ts#,这本质上是因为ts$里会记录tablespace的名字,而file$里并没有记录datafile的名字,所以file$里的记录可以重用而ts$则不能

 

5、只要你对一个datafile执行了offline或者offline drop操作,则oracle在open的时候就不会去存储上(无论是文件系统、裸设备还是ASM)校验这个文件了,所以即使这个文件已经在存储上被删掉了,此时库依然可以open。

 

6、无论你是在归档模式还是在非归档模式,且无论你对某个datafile是执行了offline还是offline drop操作,只要归档日志还在(对应于归档模式)或者相关的online redo log没有被logfile switch覆盖(对应于非归档模式),则这个datafile始终是可以online的,里面的数据都还在。当然,即使归档日志不在了,online redo log被logfile switch覆盖了,这个datafile也是可以online的,只是里面的数据可能会不一致。
 
 
一.DataFile脱机或联机的两种方法:

      1、在ARCHIVRLOG模式下的更改DataFile状态

ALTER DATABASE DATAFILE '/u02/oracle/rbdb1/stuff01.dbf' ONLINE;

2、在NOARCHIVELOG模式下使DataFile脱机(意味着数据丢失,必须加drop)

 ALTER DATABASE DATAFILE '/u02/oracle/rbdb1/users3.dbf' OFFLINE DROP;


二.表空间与数据文件 脱机的区别

1. ALTER TABLESPACE ... OFFLINE(Does a checkpoint on the datafiles )
 
Takes the datafiles offline
表空间Offline时,数据文件的SCN会被冻结,而且表空间的数据文件offline/online时又会发生文件检查点,使单个数据文件SCN和数据库其他问题不一致。
表空间online时,Oracle会取得当前SCN,解冻offline文件SCN,和当前SCN同步;tablespace offline有几种选项可供选择normal, temporary,immediate

2. ALTER DATABASE DATAFILE ... OFFLINE

单纯的offline datafile,将不会触发文件检查点,只有针对offline tablespace的时候才会触发文件检查点,这也是为什么online datafile需要media recovery而online tablespace不需要。

 

 

 

 

There is a big difference between:
Taking the tablespace offline and Taking the datafiles offline

ALTER TABLESPACE ... OFFLINE
Does a checkpoint on the datafiles 
Takes the datafiles offline


ALTER DATABASE DATAFILE ... OFFLINE
Does not perform. a checkpoint,
So that if the database is open, you may need to perform. media recovery when bringing it online.

That is the reason why:

You cannot do 'alter database datafile ... offline' if you are in noarchivelog (but tablespace offline works) 

You cannot do 'alter tablespace ... offline' if database is read-only (but datafile offline works)

分享到:
评论

相关推荐

    CREATE TABLESPACE命令详解

    spec1 [, datafile_spec2] [{MINIMUM EXTENT integer [k|m] | BLOCKSIZE integer [k] | logging_clause | FORCE LOGGING | DEFAULT {data_segment_compression} storage_clause | [online | offline] | [PERMANENT |...

    学习Oracle的总结、教程

    ALTER DATABASE DATAFILE 3 OFFLINE; - 使数据文件联机: sql ALTER DATABASE DATAFILE 3 ONLINE; - 使表空间只读: sql ALTER TABLESPACE game READONLY; - 使表空间可读写: sql ALTER ...

    oracle常用操作语句

    - `ALTER TABLESPACE mlog_norm_space ADD DATAFILE '/oracle/oms/oradata/mlog/Mlog_Norm_data001.dbf' SIZE 10M AUTOEXTEND ON MAXSIZE 20G;` - **删除表空间**: - `DROP TABLESPACE data01 INCLUDING CONTENTS...

    oracle常用命令及11GR2安装DG

    DATAFILE 'D:\ORACLE\ORADATA\SJSYJ\TEST1.ORA' OFFLINE ``` - **命令解析**: - `ALTER DATABASE`:修改数据库。 - `DATAFILE`:指定要操作的数据文件。 - `OFFLINE`:将数据文件置为离线状态,此时该数据文件...

    最全的oracle常用命令大全.txt

    where c.owner = upper('&table_owner') and c.table_name = upper('&table_name') and c.owner = cc.owner and c.constraint_name = cc.constraint_name order by cc.position; 8、存储函数和过程 查看函数...

    linux下创建oracle用户表空间

    第三个步骤是创建用户表空间:CREATE TABLESPACE NOTIFYDB DATAFILE '/oracle/oradata/test/notifydb.dbf' SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;。 第四个步骤是创建...

    6个实验参考答案-大型数据库系统.doc

    - **修改表空间大小**:通过`ALTER TABLESPACE ADD DATAFILE`增加数据文件或使用`ALTER DATABASE DATAFILE AUTOEXTEND`启用自动扩展。 - **修改表空间可用性**:使用`ALTER TABLESPACE ... OFFLINE`和`ALTER ...

    Oracle备份详解

    - 使用`ALTER TABLESPACE table_space_name OFFLINE IMMEDIATE`命令使表空间离线。 - **复制数据文件** - 使用`host copy $BACKUP\XXX.DBF $HOME\DATABASE\`命令复制数据文件。 - **恢复数据文件** - 使用`...

    oracle dba常用sql

    ALTER TABLESPACE <name> ADD DATAFILE '<file>' SIZE ; ``` - 可以通过设置`NEXT` 和 `PCT_INCREASE` 参数来自定义扩展策略。 - **检查无效对象**: - 使用以下SQL查询可以找出所有无效的对象: ```sql ...

    ORACLE 数据基础操作概要

    - `DATAFILE filespec`:定义表空间文件的文件名称及其存放的完整路径。 - `MaxSize` 和 `storage`:用来定义新创建的数据库对象在表空间中所占用的空间大小。 - `AutoExtend ON NEXT Extstorage`:设置自动扩展功能...

    ORACLE 操作指南

    DATAFILE 'filespec' SIZE SizeValue [AUTOEXTEND ON NEXT ExtStorage ON | OFF] [MAXSIZE MaxSize | UNLIMITED] [DEFAULT STORAGE (INITIAL InitialSize NEXT NextSize)]; ``` - **参数说明**: - `...

    Qemu-1.0.1 for windows

    -acpitable [sig=str][,rev=n][,oem_id=str][,oem_table_id=str][,oem_rev=n][,asl_compiler_id=str][,asl_compiler_rev=n][,{data|file}=file1[:file2]...] ACPI table description -smbios file=binary load ...

    qemu-0.13.0(编译过全处理器支持)

    -acpitable [sig=str][,rev=n][,oem_id=str][,oem_table_id=str][,oem_rev=n][,asl_compiler_id=str][,asl_compiler_rev=n][,data=file1[:file2]...] ACPI table description -smbios file=binary load SMBIOS ...

Global site tag (gtag.js) - Google Analytics