oracle数据库:数据文件_笔记9
3.5临时文件
Oracle中的临时数据文件(temporary data files)即临时文件(temp files)是一种特殊类型的数据文件。Oracle使用临时文件来存储大规模排序操作和散列操作的中间结果,如果RAM中没有足够的空间,还会用临时文件存储全局临时表数据,或结果集数据。永久数据对象(如表或索引)不会存储在临时文件中,但是临时表及其索引的内容要存储在临时文件中。所以,不可能在临时文件中创建表,但是使用临时表时完全可以在其中存储数据。
Oracle以一种特殊的方式处理临时文件。一般而言,对对象所做的每一个修改都会存储在重做日志中。这些事务日志会在以后某个时间重放以“重做事务”。临时文件不包括在这个重放过程内。对临时文件并不生成重做日志,不过可以生成undo日志,???由于UNDO总是受重做的“保护”,因此,这就会生成使用临时表的重做日志。为全局临时表生成重做日志的目的是为了hg在会话中所做的一些工作,这可能是因为处理数据时遇到一个错误,也可能因为某个一般性的事务失败。DBA不需要备份临时数据文件。
建议将数据库配置为使用本地管理的临时表空间。作为DBA,要确保使用CREATE TEMPORARY TABLESPACE命令。你肯定不想把一个永久表空间改成临时表空间,???因为这样得不到临时文件的任何好处。
关于真正的临时文件,有一个细节需要注意,如果操作系统允许创建临时文件,则会sparse地创建,也就是说,在需要之前它们不会真正占用磁盘存储空间。
idle>!df -h /tmp
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
96G 82G 9.9G 90% /
SQL> create temporary tablespace temp_huge
2 tempfile '/tmp/temp_huge.dbf' size 2048m;
Tablespace created.
SQL> !df -h /tmp
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
96G 82G 9.9G 90% /
SQL> !ls -l /tmp/temp_huge.dbf
-rw-r----- 1 oracle oinstall 2147491840 Sep 8 22:11 /tmp/temp_huge.dbf
这个问题的解决因操作系统而异。在Linux上,可以使用dd在文件中填入数据,这样,操作系统就会为文件分配物理磁盘空间,或者使用cp创建一个非稀疏的文件将稀疏的2GB文件复制到/tmp/temp_huge_not.sparse.dbf中,并使用REUSE选项利用该临时文件创建临时表空间,这样就能肯定这个临时文件已经分配了所有文件系统空间,而且数据库确实有了2GB的临时空间可以使用。
SQL> !cp --sparse=never /tmp/temp_huge.dbf /tmp/temp_huge_not_sparse.dbf
SQL> !df -h /tmp
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
96G 84G 7.9G 92% /
SQL> drop tablespace temp_huge including contents and datafiles;
Tablespace dropped.
SQL> create temporary tablespace temp_huge
2 tempfile '/tmp/temp_huge_not_sparse.dbf' reuse;
Tablespace created.
3.6控制文件
控制文件(control file)是一个相当小的文件(最多能增长到64MB左右),其中包含Oracle需要的其他文件的一个目录。参数文件告知实例控制文件的位置,控制文件则告知实例数据库和在线重做日志文件的位置。
控制文件还告知了Oracle其他一些事情,如已发生检查点的有关信息、数据库名(必须与db_name参数匹配)、创建数据库的时间戳、归档重做日志的历史(有时这会让控制文件变大)、RMAN信息等。
控制文件应该通过硬件(RAID)多路保存,如果不支持镜像,则要通过Oracle多路保存。应该有不止一个副本,而且它们应该保存在不同的磁盘上,以防止万一出现磁盘故障而丢失控制文件。丢失控制文件并不是致命的,但会使恢复变得困难得多。
http://www.52ij.com/jishu/5153.htmloracle数据库:数据文件_笔记8
本文来源 我爱IT技术网 http://www.52ij.com/jishu/5154.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
