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)
分享到:
相关推荐
spec1 [, datafile_spec2] [{MINIMUM EXTENT integer [k|m] | BLOCKSIZE integer [k] | logging_clause | FORCE LOGGING | DEFAULT {data_segment_compression} storage_clause | [online | offline] | [PERMANENT |...
ALTER DATABASE DATAFILE 3 OFFLINE; - 使数据文件联机: sql ALTER DATABASE DATAFILE 3 ONLINE; - 使表空间只读: sql ALTER TABLESPACE game READONLY; - 使表空间可读写: sql ALTER ...
- `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...
DATAFILE 'D:\ORACLE\ORADATA\SJSYJ\TEST1.ORA' OFFLINE ``` - **命令解析**: - `ALTER DATABASE`:修改数据库。 - `DATAFILE`:指定要操作的数据文件。 - `OFFLINE`:将数据文件置为离线状态,此时该数据文件...
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、存储函数和过程 查看函数...
第三个步骤是创建用户表空间:CREATE TABLESPACE NOTIFYDB DATAFILE '/oracle/oradata/test/notifydb.dbf' SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;。 第四个步骤是创建...
- **修改表空间大小**:通过`ALTER TABLESPACE ADD DATAFILE`增加数据文件或使用`ALTER DATABASE DATAFILE AUTOEXTEND`启用自动扩展。 - **修改表空间可用性**:使用`ALTER TABLESPACE ... OFFLINE`和`ALTER ...
- 使用`ALTER TABLESPACE table_space_name OFFLINE IMMEDIATE`命令使表空间离线。 - **复制数据文件** - 使用`host copy $BACKUP\XXX.DBF $HOME\DATABASE\`命令复制数据文件。 - **恢复数据文件** - 使用`...
ALTER TABLESPACE <name> ADD DATAFILE '<file>' SIZE ; ``` - 可以通过设置`NEXT` 和 `PCT_INCREASE` 参数来自定义扩展策略。 - **检查无效对象**: - 使用以下SQL查询可以找出所有无效的对象: ```sql ...
- `DATAFILE filespec`:定义表空间文件的文件名称及其存放的完整路径。 - `MaxSize` 和 `storage`:用来定义新创建的数据库对象在表空间中所占用的空间大小。 - `AutoExtend ON NEXT Extstorage`:设置自动扩展功能...
DATAFILE 'filespec' SIZE SizeValue [AUTOEXTEND ON NEXT ExtStorage ON | OFF] [MAXSIZE MaxSize | UNLIMITED] [DEFAULT STORAGE (INITIAL InitialSize NEXT NextSize)]; ``` - **参数说明**: - `...
-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 ...
-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 ...