欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 12C RAC关于临时表空间的一点启示

程序员文章站 2024-01-14 18:41:22
...

通常在设计Oracle用户时我会选择为该用户创建一个单独的表空间和一个临时表空间,比如:create tablespace sales_tbs datafile

通常在设计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 10m

create 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 20

TEMP /home/oracle/dbfile/cdb/pdb1/pdb1_temp01.dbf 20

SALES_TMP /home/oracle/dbfile/cdb/pdb1/sales_tmp02.dbf 10

SALES_TMP /home/oracle/dbfile/cdb/pdb1/sales_tmp01.dbf 10

以上内容来自读《Oracle RAC运行实践》得到的启示,在此分享一下。