Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 12C RAC关于临时表空间的一点启示

通常在设计Oracle用户时我会选择为该用户创建一个单独的表空间和一个临时表空间,比如:create tablespace sales_tbs datafile "/home/oracle/dbfile/cdb/pdb1/sales_tbs01.dbf" size 10m;create temporary tablespace sales_tmp tempfile "/home/oracle/dbfile/cdb/pdb1/sales_tmp01.dbf" size 10mcreate user sales identified by sales default tablespace sales_tbs temporary tablespace sales_tmp;但是我从来没有考虑过用户的临时表空间在RAC下的变化。在RAC下临时表空间在所有实例之间共享使用,应该创建和实例数目一样多的临时文件。如果我们使用的2节点RAC,临时表空间最好设置为两个临时数据文件。如果使用的是4节点RAC,临时表空间最好设置为4个临时数据文件。这么做可以减少文件头的锁争用问题。可以通过下面的方法来增加临时表空间的临时文件来满足RAC下的需求,当然这不是硬性需求。alter tablespace temp add tempfile "/home/oracle/dbfile/cdb/pdb1/pdb1_temp02.dbf" size 20m;alter tablespace sales_tmp add tempfile "/home/oracle/dbfile/cdb/pdb1/sales_tmp02.dbf" size 10m;select tablespace_name,file_name,bytes/1024/1024 mb from dba_temp_files;TABLESPACE_NAME                FILE_NAME                                                  MB------------------------------ -------------------------------------------------- ----------TEMP                         /home/oracle/dbfile/cdb/pdb1/pdb1_temp02.dbf             20TEMP                         /home/oracle/dbfile/cdb/pdb1/pdb1_temp01.dbf             20SALES_TMP                      /home/oracle/dbfile/cdb/pdb1/sales_tmp02.dbf             10SALES_TMP                      /home/oracle/dbfile/cdb/pdb1/sales_tmp01.dbf             10以上内容来自读《Oracle RAC运行实践》得到的启示,在此分享一下。更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址