现象:查询select * from v$sql时提示“Ora-01652无法通过128(在temp表空间中)扩展temp段的过程”
临时文件是不存储的,可以将数据库重启,重启后重建临时表空间;
shutdown immediate;--关库
startup;--启库
alter pluggable database db_** open;--打开
alter session set container=db_**;--切到目的数据库
select * from v$tempfile;--查看临时文件状态
或者手动创建临时文件。下面是手动创建临时文件的步骤:
解决步骤
1、查询当前临时表空间的信息
select * from dba_temp_files
FILE_NAME FILE_ID TABLESPACE_NAME BYTES BLOCKS STATUS RELATIVE_FNO AUTOEXTENSIBLE MAXBYTES MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS SHARED INST_ID
(null) 3 TEMP (null) (null) OFFLINE (null) (null) (null) (null) (null) (null) (null) SHARED (null)
发现数据库并没有临时表空间
2、查询库中的临时文件状态
select name,status from v$tempfile;
NAME STATUS
/oradata/cdbtest/CDB_TEST/91C8CF1A0C80626CE0535465A8C0455F/datafile/o1_mf_temp_gq1852yy_.dbf OFFLINE
临时文件处于OFFLINE状态
3、给临时表空间增加临时文件
alter tablespace temp add tempfile '/oradata/cdbtest/CDB_TEST/temp/datafile/temp_clear_01.dbf' size 1024M
此时需注意,数据库中需要存在目录“/oradata/cdbtest/CDB_TEST/temp/datafile/”,临时文件添加成功
至于为什么在“/oradata/cdbtest"目录下,是通过show parameter db_create_file_dest参数,查看value值获得的。
“CDB_TEST/temp/datafile”目录要提前准备好
4、再次验证临时文件状态
select name,status from v$tempfile;
NAME STATUS
/oradata/cdbtest/CDB_TEST/91C8CF1A0C80626CE0535465A8C0455F/datafile/o1_mf_temp_gq1852yy_.dbf OFFLINE
/oradata/cdbtest/CDB_TEST/91C8CF1A0C80626CE0535465A8C0455F/datafile/o1_mf_temp_gq1852yy_.dbf ONLINE
同时查询“select * from v$sql”能获得相应的结果集
手机扫一扫
移动阅读更方便
你可能感兴趣的文章