您好,欢迎访问一九零五行业门户网

Data Guard环境下Temp表空间和Temp文件管理概述

oracle表空间和数据文件里面,temp表空间和文件是比较特殊的。除了temp表空间对应的临时段(temp segment)是由oracle自动进行管
oracle表空间和数据文件里面,temp表空间和文件是比较特殊的。除了temp表空间对应的临时段(temp segment)是由oracle自动进行管理之外,稀疏文件的特性也是我们需要注意的一个方面。
常规情况下,我们创建一个数据文件,即使使用omf特性,也需要指定初始文件大小。创建数据文件之后,磁盘空间被明确的占用,我们从操作系统层面是可以看到空间的。但是,对于临时表空间文件而言,新创建出的文件也许只能看到操作系统层面的文件大小,但是却没有空间占用。我们称这个特性为“稀疏文件”。
从实现层面,稀疏文件意味着更少的redo log生成。那么,在dg环境下,temp文件的特性和普通文件有什么差异呢?下面我们通过一系列的实验来证明。
--------------------------------------分割线 --------------------------------------
相关参考:
oracle data guard 重要配置参数
基于同一主机配置 oracle 11g data guard
探索oracle之11g dataguard
oracle data guard (rac+dg) 归档删除策略及脚本
oracle data guard 的角色转换
oracle data guard的日志fal gap问题
oracle 11g data guard error 16143 heartbeat failed to connect to standby 处理方法
--------------------------------------分割线 --------------------------------------
1、实验环境介绍
我们在oracle 11gr2环境下的dataguard中进行测试。具体版本为11.2.0.4。当前primary情况如下:
--primary名称ora11g
sql> select database_role, open_mode from v$database;
database_role    open_mode
---------------- --------------------
primary          read write
当前数据库中只有一个临时文件,对应表空间temp。
sql> select file_name, tablespace_name from dba_temp_files;
file_name                                                    tablespace_name
------------------------------------------------------------ ------------------------------
/u01/app/oradata/ora11g/datafile/o1_mf_temp_9mnjxpk4_.tmp    temp
对dataguard而言,最重要的文件管理参数为standby_file_management。如果保持为auto,就可以保证数据文件同步创建。
sql> show parameter standby_file
name                                type        value
------------------------------------ ----------- ------------------------------
standby_file_management              string      auto
standby端情况也比较简单,处在mount状态。文件自动创建管理。
sql> select database_role, open_mode from v$database;
database_role    open_mode
---------------- --------------------
physical standby mounted
sql> select name, file# from v$tempfile;
name                                                                                  file#
-------------------------------------------------------------------------------- ----------
/u01/app/oradata/ora11gsy/datafile/o1_mf_temp_9pcqbdd6_.tmp                              1
sql> show parameter standby_file
name                                type        value
------------------------------------ ----------- ------------------------------
standby_file_management              string      auto
2、primary端临时表空间操作
我们首先实验在primary端进行表空间操作。
(primary)
sql> alter tablespace temp add tempfile size 100m autoextend off;
tablespace altered
sql> select file_name, tablespace_name from dba_temp_files;
file_name                                                    tablespace_name
------------------------------------------------------------ ------------------------------
/u01/app/oradata/ora11g/datafile/o1_mf_temp_9mnjxpk4_.tmp    temp
/u01/app/oradata/ora11g/datafile/o1_mf_temp_9pm3ct62_.tmp    temp
sql> alter system switch logfile;
system altered
切换之后,,正常redo log信息应该已经传递到standby端。standby端启动redo apply过程,查看临时文件是否创建。
sql> alter database recover managed standby database using current logfile disconnect from session;
database altered
sql> select name, file# from v$tempfile;
其它类似信息

推荐信息