ORA-01652 unable to extend temp segment

标签:
itora-01652 |
分类: SAP_Basis |
ORA-01652 unable to extend temp segment by 1024
in tablespace PSAPSR3USR
SQL> show user;
USER is "JASON"
SQL> set pagesize 2000
linesize 1000
SQL> create table t7 as
select rownum as id ,rownum+1 as id2,rpad('*',1000,'*') as contents
from dual connect by level<=1000000;
create table t7 as select
rownum as id ,rownum+1 as id2,rpad('*',1000,'*') as contents from
dual connect by level<=1000000
*
ERROR at line 1:
ORA-01652: unable to extend
temp segment by 1024 in tablespace PSAPSR3USR
--查询临时表空间
SQL> select
tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible
from dba_temp_files;
TABLESPACE_NAME FILE_NAME
FILE_SIZE
AUT
---------------
--------------------------------------------- ---------
---
PSAPTEMP
/oracle/PRD/sapdata2/temp_1/temp.data1
16384
NO
PSAPTEMP
/oracle/PRD/sapdata2/temp_2/temp.data2
16384
NO
TEMP_JASON
/oracle/PRD/sapdata2/temp_2/tempjason.dbf
4096 NO
--查询表空间整体情况,确定PSAPSR3USR仍有剩余
SQL>
SELECT A.TABLESPACE_NAME "表空间名",
表空间名
总空间(G) 剩余空间(G) 使用空间(G)
剩余百分比%
------------------------------
---------- ----------- ----------- -----------
TBS_JASON
0
0
0
0
UNDOTBS2
0
0
0
0
PSAPSR3USR
24
.64
23.36
2.66
PSAPSR3
1176
67.95
1108.05
5.77
PSAPUNDO
24
1.61
22.39
6.7
PSAPSR3700
72
11.1
60.9
15.41
SYSTEM
2
.44
1.56
22
SYSAUX
2
.58
1.42
29
PERFSTAT
.48
.34
.14
70.83
--查询当前用户的默认表空间
select * from
database_properties where property_name =
'DEFAULT_PERMANENT_TABLESPACE';
显示SYSTEM
--修改用户的默认表空间
alter database default
tablespace PSAPSR3;
--查盾表空间与其数据文件的对应关系
oraqas> du -sm
/oracle/QAS/sapdata1/sr3usr_1/sr3usr.data1
24576.38
/oracle/QAS/sapdata1/sr3usr_1/sr3usr.data1
--尝试对PSAPSR3USR扩容
oraqas>mkdir -p
/oracle/QAS/sapdata1/sr3usr_2/
ALTER TABLESPACE PSAPSR3 ADD
DATAFILE '/oracle/QAS/sapdata1/sr3usr_2/sr3usr.data2' SIZE
24576M;
--查看指定用户的默认表空间、默认临时表空间
col USERNAME format
a8;
col DEFAULT_TABLESPACE format
a20;
col TEMPORARY_TABLESPACE format
a20;
select
username,default_tablespace,temporary_tablespace
from dba_users
where username =
'JASON';
USERNAME DEFAULT_TABLESPACE
TEMPORARY_TABLESPACE
-------- --------------------
--------------------
JASON
PSAPSR3USR
PSAPTEMP
--调整JASON的默认表空间
ALTER USER JASON DEFAULT
TABLESPACE PSAPSR3;
select
username,default_tablespace,temporary_tablespace
from dba_users
where username =
'JASON';
USERNAME DEFAULT_TABLESPACE
TEMPORARY_TABLESPACE
-------- --------------------
--------------------
JASON
PSAPSR3
PSAPTEMP
--终于解决了
SQL> create table t7 as
select rownum as id ,rownum+1 as id2,rpad('*',1000,'*') as contents
from dual connect by level<=1000000;
Table created.
最关键的地方:
心得体会:
(1)开始胡乱加这空间,加那空间,其实不用加空间。
(2)一定围绕警告,深入挖掘,不要“想当然”,否则易跑偏。
(3)熟练运用脚本,也重要。
(4)最重要的一点:就是调查,调查这个用户,这个表空间,它们有何关系。