这期内容当中小编将会给大家带来有关表空间与数据文件的offline和online操作是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
1. 表空间与数据文件 offline 的区别
在对表空间进行 offline 时, oracle 需要针对表空间进行检查点, 刷新表空间中数据文件的相关事务, 更新控制文件中与数据文件的 SCN, 达到一致状态
当表空间被再次 online 时, oracle 会使用 online 时刻的 SCN, 更新上面各个位置的 SCN (当然文件结束 SCN 号会置为无穷大), 将数据文件都打开
在对单个数据文件做 offline 时, 是立即 offline, 此时不会针对数据文件进行检查点, 所以数据文件的终止 SCN 为无穷大, 处于不一致状态, 数据文件也需要恢复, 在v$recover_file 视图也可以看到这个文件的信息, 要想将数据文件 online, 必须先对文件执行 recover 操作, 所以建议 offline 数据文件后应该立刻执行 recover 操作, 使他处于一致状态, 以免后面出现不必要的麻烦
对于非归档模式下进行数据文件 offline 操作需要加 drop 子句, 他不会物理删除文件, 在归档模式下指定 drop 子句会被忽略
对于 offline 的数据文件, 重启数据库是不能对他进行 recover 的, 因为他的状态是offline, 数据库启动时是不检查 offline 文件的 SCN 是否一致的, 所以启动后仍然可以在 v$recover_file 视图中看到他们, 需要手工对他进行 recover 才能恢复, 如果应用的联机日志已经 switch 掉, 则要从归档中进行恢复, 没有归档的话, 文件就只能一直处于 recover 状态
2. 操作
以下操作中如果涉及到恢复操作, 则可能需要归档文件或 redo 文件, 如果数据库处于非归档模式, 而 redo 文件被切覆盖掉的话将不能恢复
2-1. 表空间的 offline
2-1-1. normal (默认模式)
对表空间所有数据文件做检查点, 所有数据文件必须为 online 状态, 再次 online 时不需要恢复
alter tablespace idx offline;
select tablespace_name,status from dba_tablespaces;
select file_name,online_status from dba_data_files;
select * from v$recover_file;
2-1-2. temporary
只对当前 online 的数据文件做检查点, 所有数据文件不必全为 online, 再次 online 时, 之前 offline 的数据文件要恢复, 其他不需要
alter tablespace idx offline temporary;
2-1-3. immediate/for recover(10g 不推荐使用)
所有数据文件都不做检查点, 所有数据文件不必全为 online, 再次 online 时所有数据文件要恢复, 非归档模式时不可用
alter tablespace idx offline immediate;
2-2. 数据文件的 offline
2-2-1. 归档模式
alter database datafile 5 offline;
recover datafile 5;alter database datafile 5 online;
2-2-2. 非归档
alter database datafile 5 offline drop;
recover datafile 5;
alter database datafile 5 online;
上述就是小编为大家分享的表空间与数据文件的offline和online操作是怎样的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/203864.html