ORACLE DG临时表空间管理

实施目标:由于磁盘空间不足,将主库的临时表空间修改位置

 standby_file_management 管理方式:AUTO

SQL> show parameter standby_file

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
standby_file_management string AUTO

在primary上创建一个临时表空间,而物理standby中的只是修改了数据字典而没有创建数据文件,即:

master:

数据库的默认临时表空间为TEMP

SQL>select * from database_properties where property_name ='DEFAULT_TEMP_TABLESPACE';

PROPERTY_NAME                                  PROPERTY_VALUE    DESCRIPTION

DEFAULT_TEMP_TABLESPACE             TEMP                        Name of default temporary tablespace

创建新的临时表空间

SQL>create temporary tablespace TEMP1 TEMPFILE '/data/app/oracle/oradata/prod/temp01.dbf' size 512M autoextend on ;

修改数据库的默认临时表空间

SQL>alter database default  temporary tablespace  TEMP1;

standby:

物理standby中的只是修改了数据字典而没有创建数据文件

SQL>SELECT TABLESPACE_NAME FROM DBA_TABLESPACES;

TABLESPACE_NAME

------------------------------

TEMP1

SQL>SELECT NAME FROM V$TEMPFILE;

no rows selected

此时,连接备库的应用报错:

alert.log

Thu Dec 06 19:01:14 2018
Errors in file /data/app/oracle/diag/rdbms/prod/prod/trace/prod_ora_3045.trc:
ORA-25153: Temporary Tablespace is Empty

因此:standby_file_management参数设置auto时,对于临时表空间的创建,standby库还是需要手动在物理standby上创建一次;手动创建可以通过主备切换的方式来完成。否则不能新增临时表空间。

因为备库为read only,如果保证db_file_name_convert参数设置完整的话,可以通过新增临时表空间数据文件的方式,进行扩容

ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/zetian/tempfile/temp01.dbf'  size 1g autoextend on;

原文地址:https://www.cnblogs.com/elontian/p/10079701.html