SQL
SELECT TABLESPACE_NAME, FILE_NAME FROM DBA_TEMP_FILES WHERE FILE_ID = 201;
如果因为报错无法查询,可以通过 V$TEMPFILE 查看:
SQL
SELECT TS#, NAME FROM V$TEMPFILE;
第二步:在备库删除该找不到的临时文件
直接在备库运行以下命令,从控制文件中清理掉这个错误的临时文件关联:
SQL
ALTER DATABASE TEMPFILE '/home/u01/app/oracle/oradata/ly958ustd/datafile/tempfile/temp.428.1186263391' DROP INCLUDING DATAFILES;
第三步:为备库重新添加物理临时文件
根据第一步查到的表空间名称(假设是 TEMP),在备库中重新指定路径创建新的临时文件。为了后续规范维护,建议使用常规的文件名(如 temp01.dbf):
SQL
ALTER TABLESPACE TEMP ADD TEMPFILE '/home/u01/app/oracle/oradata/ly958ustd/datafile/tempfile/temp01.dbf' SIZE 2G AUTOEXTEND ON NEXT 128M MAXSIZE 32G;
提示:请确保 /home/u01/app/oracle/oradata/ly958ustd/datafile/tempfile/ 这个目录在备库服务器上是真实存在且 oracle 用户有读写权限的。