天天看点

Oracle 12c中临时表空间丢失的处理和日志文件丢失的恢复方案

cdb,pdb分别有自己的临时表空间

SQL> select name,con_id from v$tempfile;
NAME										     CON_ID
-------------------------------------------------------------------------------- ----------
/u01/oracle/oradata/wyzc/temp01.dbf							  1
/u01/oracle/oradata/wyzc/pdbseed/pdbseed_temp012015-07-31_11-55-53-PM.dbf		  2
/u01/oracle/oradata/wyzc/pdbwyzc/pdbwyzc_temp012015-08-01_12-17-15-AM.dbf		  3

SQL> alter session set container=cdb$root;

Session altered.

SQL> alter session set container=pdb$seed;

Session altered.

SQL> alter session set container=pdbwyzc;

Session altered.
切换当相应的cdb,pdb中重建自己的临时文件即可。
           

--可以在重建控制文件中看到临时文件是如何增加的。

SQL> alter session set container=cdb$root;

Session altered.

SQL> alter database backup controlfile to trace as '/tmp/c.sql';

Database altered.


-- Commands to add tempfiles to temporary tablespaces.
-- Online tempfiles have complete space information.
-- Other tempfiles may require adjustment.
ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/oracle/oradata/wyzc/temp01.dbf' REUSE;
ALTER SESSION SET CONTAINER = PDB$SEED;
ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/oracle/oradata/wyzc/pdbseed/pdbseed_temp012015-07-31_11-55-53-PM.dbf' REUSE;
ALTER SESSION SET CONTAINER = PDBWYZC;
ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/oracle/oradata/wyzc/pdbwyzc/pdbwyzc_temp012015-08-01_12-17-15-AM.dbf' REUSE;
ALTER SESSION SET CONTAINER = CDB$ROOT;
-- End of tempfile additions.