Group temporary tablespace
Greetings,
oracle 10.2.0.4
suse linux 9
we have a group temporary tablespace called ATEMP which contains 9 tablespaces ATEMP01 - ATEMP09
but the in the alert log we have this warning
WARNING: the following temporary tablespaces contain no files.
this condition can occur when a backup controlfile has been restored.
it may be necessary to add files to these tablespace. that can be done using SQL.....
alternatively, if these temporary tablesapces are no longer needed, then
they can be dropped. Empty temporary tablespace: ATEMP
then I was confirmed on this forum after a question that...in this case oracle is using SYSTEM tablespace
as a temporary tablespace and this has a performance impact and the system may hung if SYSTEM tbs gets
full. which I totally agree according to oracle documentation
and my question for today is
how can I show to somebody that the current temp segments are in SYSTEM tablesapce because as I run
the query
SELECT TABLESPACE_NAME,BYTES_USED,BYTES_FREE FROM V$TEMP_SPACE_HEADER;
the return show the tablespaces are ATEMP01,ATEMP02....instead of SYSTEM which was my expectation.
thanks
thank you
I just passed the query to the view
select tablespace,contents from v$tempseg_usage
and what I found is
ATEMP02 and TEMPORARY
now what is contradicting for me is that...the alert log is showing as if ATEMP which is a temporary
tablespace group is not having a file and we need to add files to it ...which implies that SYSTEM tablespace
is being used as a residing place for the temp segments but the query returns ATEMP02 as the temporary
tablesapce where temp segment is residing
can you help me reconsile this seemingly confusing scenario
Similar Messages
-
Temporary tablespace groups - all available temp files not used
We have a temporary tablespace group TEMP_GROUP made of the following pre-existing temp files. I have placed the size in MB in brackets. Names have been changed to protect our privacy. NLS is spanish
SQL> select * from dba_tablespace_groups;
TEMP_GROUP TEMP1 --(1024)
TEMP_GROUP TEMP2 --(2000)
TEMP_GROUP TEMP3 --(8048)
This tablespace group is the default temp tablespace of this database, and is the default temp tablespace of sys in the example that follows
connect sys/password
alter INDEX schema1.idx1 rebuild
ERROR en línea 1:
ORA-01652: no se ha podido ampliar el segmento temporal con 128 en el tablespace TEMP1
-- this coinicdes with the TEMP1 showing 100% used
NOTE that the message refers to the tempfile TEMP1 and not the TEMP_GROUP, which has 11GB of space available
The size of the index is small enough to be handled by this TEMP_GROUP, although quite large to be handled by TEMP1 on its own.
SQL> SELECT sum(bytes)/1048576 Megs, segment_name
2 FROM dba_extents
3 WHERE segment_name = 'IDX1'
4 GROUP BY segment_name
5 /
MEGS SEGMENT_NAME
840 IDX1
What appears to be happening is that when the rebuild index has used all the space available in TEMP1 tempfile, it does not go on to use the space available in the other two tempfiles that make up the TEMP_GROUP. This seems to be contrary to the very idea of having set up a TEMP_GROUP.
This suposition is born out by the repitition of the operation using the owner of the index, whose default temp file is not TEMP_GROUP as a whole, but the component tempfile TEMP_3 which has 8048MB available
connect schema1/password
SQL> alter INDEX schema1.idx1 rebuild
Índice modificado.
-- This time the index does get rebuilt, pesumably because there is space available in TEMP_3 to carry out the rebuild.
My questions are
1. ¿Why does the original operation fail out when it has reached the limit of tempfile TEMP1 instead of using the further space availbel within TEMP_GROUP? ¿Isn´t the point of temporary tablespace groups the explicit avoidance of this type of issue?
2. Depending on the answer to #1, and asuming that the behaviour is normal (ie, that a rebuild index should not be expected to take place using more than one temp file), does anyone have any idea ¿what dicatates the order of usage of the component temp files in a group?. ¿Is it alphabetical order of tempfile name?, ¿file create time? or ¿something else?
3. As I mentioned the group was created out of existing tempfiles, rather than creating some temp file specifically to form the group. ¿Could this fact explain the inability of the operation to move onto the next temp file, once the first is exhausted. There is nothing in the documentation to suggest that there should be any difference in behaviour between a temp group created with new temp files, or the inclusion of existing temp files when creating a temp group.
As you can see, we have worked round this problem, but it is an issue of importance given that it may affect other operations that leverage this temp file group. Any information or pointers to documented instances of similar occurances would be greatly appreciated. Thank you.
Edited by: user602617 on 06-may-2009 0:57Half solved. This thread seems to suggest that there should be n expectation that a sort operation will begin to use the n+1 member of a temp tablespace group once it has exhausted member n.
TEMP Tablespace Groups
But this does not answer my secondary question as to how to determine which temp tablespace member is used first. I guess the solution would be to drop the the group and recreate it with three adequatly sized temp tablespaces. -
10G: TEMPORARY TABLESPACES GROUP
제품 : ORACLE SERVER
작성날짜 : 2004-05-25
10G: TEMPORARY TABLESPACES GROUP
==================================
PURPOSE
이 문서에서는 10g New Feature 인 Temporary tablespace 의 group 에 대해 알아 보도록 한다.
Explanation
10g 에서는 temporary tablespaces 에 대해 group 을 지정하여 생성할 수 있고
consumer group 을 지정하여 resource manager 와 함께 적용하여 사용이 가능하다.
다음은 Temporary tablespace group 지정을 위한 기본적이 사항이다.
1. 하나의 temporary tablespace group 은 적어도 하나의 tablespace 가 존재해야 하고
maximum number tablespace 에 대한 limit 은 정해져 있지 않다.
2. Ttemporary tablespace 와 group name 을 동일하게 지정할 수 없다.
3. Temporary tablespace group 은
1) 한 group 에서 다른 group 으로 move 가 가능하고
2) Group 내에서 삭제 될 수 있으며
3) 추가적으로 add 가 가능하다.
4. Temporary tablespace group 사용으로 인해
1) Sort 결과를 유지하여 space 낭비를 막을 수 있고
2) 동시에 여러개의 session connect 시에도 서로 다른 temporary tablespaces 를 사용함으로써
temporary tablespaces 의 사용을 분산 시킬 수 있다.
3) Parallel operation 시에도 multiple temporary tablespaces 사용이 가능하다.
Example
1. GROUP1 을 지정하고 GROUP1 에 속하는 temporary tablespace LMTEMP 1 를 생성한다.
이 때 GROUP 1 을 따로 생성할 필요 없고 temporary tablespace 생성시에 지정하도록 한다.
SQL> create temporary tablespace LMTEMP 1
tempfile 'D:\ORACLE10\ORCL\temp1_01.dbf' size 50M
tablespace group GROUP1;
SQL> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
GROUP1 LMTEMP1
2. LMTEMP2 를 GROUP1 에 새로 추가한다.
SQL> create temporary tablespace lmtemp2
tempfile 'D:\ORACLE10\ORCL\temp1_02.dbf' size 2M
tablespace group group1;
Tablespace created.
SQL> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
GROUP1 LMTEMP1
GROUP1 LMTEMP2
3. 기존에 존재하는 LMTEMP1 를 GROUP2 로 move 한다.
SQL> alter tablespace LMTEMP1 tablespace group GROUP2 ;
Tablespace altered.
SQL> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
GROUP2 LMTEMP1
GROUP1 LMTEMP2
4. LMTEMP1 이 속해 있던 GROUP2 에서 LMTEMP1 를 제외 시키고 다시 포함시킬 수 있다.
SQL> alter tablespace LMTEMP1 tablespace group '';
Tablespace altered.
SQL> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
GROUP1 LMTEMP2
SQL> select tablespace_name from dba_tablespaces where contents='TEMPORARY';
TABLESPACE_NAME
TEMP
LMTEMP1
LMTEMP2
SQL> alter tablespace LMTEMP1 tablespace group GROUP1;
Tablespace altered.
5. Temporary tablespace 와 group name 을 동일하게 지정할 경우 ORA-10918 에러가 발생한다.
즉, temporary tablespace 와 group name 을 동일하게 지정이 불가능하다.
SQL> create temporary tablespace lmtemp5
tempfile 'D:\ORACLE10\ORCL\temp1_05.dbf' size 50M
tablespace group lmtemp5;
create temporary tablespace lmtemp5
ERROR at line 1:
ORA-10918: TABLESPACE GROUP name cannot be the same as tablespace name
6. 존재하던 모든 temporary tablespaces 를 drop 하게 되면 group 은 자동으로 remove 된다.
SQL> create temporary tablespace LMTEMP3
tempfile 'D:\ORACLE10\ORCL\temp1_03.dbf' size 2M
tablespace group GROUP2;
Tablespace created.
SQL> create temporary tablespace LMTEMP4
tempfile 'D:\ORACLE10\ORCL\temp1_04.dbf' size 2M
tablespace group GROUP2;
Tablespace created.
SQL> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
GROUP1 LMTEMP1
GROUP1 LMTEMP2
GROUP2 LMTEMP3
GROUP2 LMTEMP4
SQL> drop tablespace lmtemp3 including contents and datafiles;
Tablespace dropped.
SQL> drop tablespace lmtemp4 including contents and datafiles;
Tablespace dropped.
SQL> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
GROUP1 LMTEMP1
GROUP1 LMTEMP2
7. Group 에 user 사용이 가능하도록 지정할 수 있다.
SQL> alter user scott temporary tablespace GROUP1;
User altered.
8. Temporary tablespace group 을 database level 의 default temporary tablespace 로도 지정할 수 있다.
SQL> alter database <db_name> default temporary tablespace GROUP1;
Database altered.
만약, temporary tablespaces 가 default database temporary tablespace group 에 속해 있는경우
drop 시 ORA-10921 에러가 발생하게 된다. 즉, default temporary tablespace group 에 속해 있는 경우
drop 할 수 없다.
SQL> drop tablespace LMTEMP2 including contents and datafiles;
drop tablespace lmtemp2 including contents and datafiles
ERROR at line 1:
ORA-10921: Cannot drop tablespace belonging to default temporary tablespace
group
Reference Documents
<NOTE. 245645.1>Hi,
Take a look in
1 - DBA_TEMP_FILES :http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96536/ch2398.htm
2 - V$TEMPFILE: http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96536/ch3225.htm
Cheers,
Marcello M. -
Temporary tablespace is not being used
hello all,
we have oracle 10g 10.2.1.0 on windows server 2003 platform (32-bit). we have 24*7 database. we have OLTP with heavy transactions. last night we ran a report which is supposed to fetch more than 2500 rows and query include group by and order by clause.
i have rebuild all indexes on index tablespace, which were previously on users tablespace where my all data resides.
but it is taking too much long to generate report more that 40 minutes (expected 5 minutes) my SGA is set to 1.2 GB shared pool sixe is 500M and db_cache_size=400M. and when i check tablespace status from enterprise manager everytime , i see that temporary tablespace is never being used..it always shows that temporary tablespace usages 0.0 and i allocated 4 GB to temp tablespace and it is also default temporary tablespace.
what else i can do to force oracle to use temporary tablespaces??? it is not using for sorting also...thats why it is taking so long to generating report..
any suggestion would be appreciable..
thanks and regards
VDvikrant dixit wrote:
we have oracle 10g 10.2.1.0 on windows server 2003 platform (32-bit). we have 24*7 database. we have OLTP with heavy transactions. last night we ran a report which is supposed to fetch more than 2500 rows and query include group by and order by clause.
i have rebuild all indexes on index tablespace, which were previously on users tablespace where my all data resides.
but it is taking too much long to generate report more that 40 minutes (expected 5 minutes) Are you saying that you tried rebuilding all your indexes because the report started to run slowly, or conversely that you rebuilt all the indexes and then the report ran slowly ?
If it's just a report that you could simply re-run, then all you have to do is re-run it and watch exactly where the time goes (you've been told about the 10046 trace already).
If it's a report that ran, and was tuned, regularly in the past then you presumably have the execution plan stored somewhere so you could even check the current execution plan compared to the old one to see if it has changed.
Regards
Jonathan Lewis
http://jonathanlewis.wordpress.com
http://www.jlcomp.demon.co.uk
To post code, statspack/AWR report, execution plans or trace files, start and end the section with the tag {noformat}{noformat} (lowercase, curly brackets, no spaces) so that the text appears in fixed format.
"There's no sense in being precise when you don't even know what you're talking about"
John von Neumann -
Hello,
Oracle 10g
when checking temporary tablespace through sql query it gives the below output. whereas when i check through enterprise manager it shows autoextentible upto 2GB.
SQL> select *from DBA_TABLESPACES
2 where
3 tablespace_name= 'TEMP'
4 /
TABLESPACE_NAME BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE MIN_EXTLEN STATUS CONTENTS LOGGING FORCE_LOGGING EXTENT_MANAGEMENT ALLOCATION_TYPE PLUGGED_IN SEGMENT_SPACE_MANAGEMENT DEF_TAB_COMPRESSION RETENTION BIGFILE
TEMP 8192 1048576 1048576 1 0 1048576 ONLINE TEMPORARY NOLOGGING NO LOCAL UNIFORM NO MANUAL DISABLED NOT APPLY NOPlease suggest. Thanks.Output:
SQL> select autoextensible,sum(maxbytes/1024/1024/1024) from dba_temp_files where tablespace_name='TEMP' group by autoextensible;
AUTOEXTENSIBLE SUM(MAXBYTES/1024/1024/1024)
YES 1.953125 -
Caclulate freespace from temporary tablespace
i want to manage temporary tablespace.
i want information like
total_space,
space_used,
free_space from temporary tablespaceRUN THIS
select substr(a.tablespace_name,1,20) "TS_name", substr(a.file_name,1,35) "File_Name",
round(sum(a.bytes)/1024/1024,2) "Size_MB",sum(NVL(b.bytes,0)) "FreeSpace" from dba_TEMP_files a,
(select substr(tablespace_name,1,20) tablespace_name,file_id, round(sum(bytes_used)/1024/1024,2) used_sp,
round(sum(blocks_free * 8192)/1024/1024,2) bytes from v$temp_space_header group by substr(tablespace_name,1,20),file_id ) b where
a.tablespace_name=b.tablespace_name(+) and a.file_id=b.file_id(+) group by
substr(a.tablespace_name,1,20), substr(a.file_name,1,35);
thanks and regards
kuljeet pal singh -
ORA-03217: invalid option for alter of TEMPORARY TABLESPACE
Hi all
I have a database with 300 Users approximantely.
Suddenly I was reported about slowly connection and looked to my database. And I saw that Temporary tablespace with name MUVTEMP is 0% used and in it there is no .dbf file
Then I do ls on my data files directory and saw there MUVTEMP01.dbf!
But it's not using it. Then I want to add another .dbf file. It created this file physically but not joined it to my temporary tablespace.
Then I did it with Oracle EM, clicked on "Show SQL" and there was written
ALTER TABLESPACE "MUVTEMP"
ADD
DATAFILE '/home/oracle/OraHome1/oradata/linux/test.dbf' SIZE
5M
I run it from EM it gave this error
ORA-03217: invalid option for alter of TEMPORARY TABLESPACE
Then I run this SQL in sqlplus
ALTER TABLESPACE "MUVTEMP"
ADD
TEMPFILE '/home/oracle/OraHome1/oradata/linux/test.dbf' SIZE
5M
it created file physically, but I can't see this file as temporary tablespace's file. It's not using....
Where is my mistake???
Thanks...Hi,
try this query:
select s.sid || ',' || s.serial# sid, s.username, u.tablespace, substr(a.sql_text, 1, (instr(a.sql_text, ' ')-1)) sql_text,
round(((u.blocks*p.value)/1024/1024),2) size_mb
from v$sort_usage u, v$session s, v$sqlarea a, v$parameter p
where s.saddr = u.session_addr
and a.address (+) = s.sql_address
and a.hash_value (+) = s.sql_hash_value
and p.name = 'db_block_size'
group by s.sid || ',' || s.serial#, s.username, substr(a.sql_text, 1, (instr(a.sql_text, ' ')-1)), u.tablespace, round(((u.blocks*p.value)/1024/1024),2); -
Switch to new temporary tablespace
How can I switch to a newly created temporary tablespace?
anyone could help provide the detailed steps of doing this?
Also, if I can see two temporary tablespaces from dba_tablespaces view, then how can I know which one is in use?
NOte: these two temporary tablespace do not belong to same tablespace group.PhoenixBai wrote:
How can I switch to a newly created temporary tablespace?
anyone could help provide the detailed steps of doing this?Assumingly that you have Temp1 as the default tablespace for the database, you would do this
alter database default temporary tablespace TEMP2;This would change the new default for the database to Temp2. For the users, who have been explicitly assigned the tablespcae Temp1 , you would need to change that using the alter user <name> default temporary tablespace Temp2
Also, if I can see two temporary tablespaces from dba_tablespaces view, then how can I know which one is in use?
NOte: these two temporary tablespace do not belong to same tablespace group.The group or not doesn't matter. Check with the view database_properties .
SQL> select property_name, property_value
2 from database_properties
3 where property_name like '%TEMP%';
PROPERTY_NAME
PROPERTY_VALUE
--------------------------------------------------------------------------------DEFAULT_TEMP_TABLESPACE
TEMPHTH
Aman....
PS: Please make sure that you always mention your 4 digit database version with every post. -
Temporary Tablespace not shrinking automatically after restarting the DB.
I had a Database with 2GB tempfile. It gave me an error that it's unable to extend the temporary segment. I added a new tempfile of 500MB. Within a few min the new file was filled. In process of shrinking the temporary files, I shutdown the DB, and restarted it. But the Tempfiles were still filled to the max. I still don't understand why? Then I attached a new tempfile of 1GB to the Temp Tablespace, but it didn't use the new tempfile. I repeated the restart process again but still the output was same.
1. Both datafiles were filled to the max
2. It didn't use the new (3rd) attached tempfile.
Finally I've created a new tablespace with new Tempfiles, and it's working now. But I'm still confused. Please suggest me with the possibilities. How can i shrink the Temporary Tablespace/Tempfiles.
Thanks & Regards
Vikas Verma
Manager (IT) / Sr. DBA
Hero Cycle Group,
IndiaIt all depends from what you understand by shrinking:
If you would like to shrink tempfile for tablespace I would suggest using following procedure:
Find out to which size you can shrink tempfile
select extent_size,current_users,total_extents,used_extents,free_extents
from v$sort_segment
where tablespace_name='TEMP';
alter database tempfile 'XXXX' resize YYM;
YY is the size which can be found by above query.
But Ithink you are more interested in following procedure:
create new
make this new one the default temporary tablespace for the database
drop old
ps. Yoogesh ask you about DB version
you can find bd version by:
select *
from v$version
select *
from product_component_version
Best Regards
Krystian Zieja / mob -
Hi all
I have created a temporary tablespace temp01 and assign it as the default temporary tablespace for the database (10.0.2.0)
How can I drop it without changing the default temporary tablespace?
thanks for helpphaeus wrote:
Hello,
create a new temporary tablespace. Make it to your default database temp tablespace and then you can drop the old one.
A couple of thoughts I'd want to check on that - based on memories of problems in the dim and distant past.
If you take this approach, do you still have to worry about users who have already got the dropped tablespace associated with their temp tablespace in dba_users ? Memory says they'll either get an error message, or they'll fall back to SYSTEM despite there being a new default.
One of the reasons for creating tablespace groups for temporary tablespaces is that you can assign a tablespace group to a user, and then invisibly create and drop temporary tablespaces in that group without having to adjust the users' details. But there used to be a bug that resulted in excessive hits on dc_tablespaces if you did this, and extreme numbers of executions of a query against ts$ (or maybe file$).
Regards
Jonathan Lewis -
Change temporary tablespace for session
hi.
i wonder if it's possible to change temporary tablespace for session in the way other then `alter user <user> temporary tablespace <tbc>'?Hi,
Temporary tablespace is set at database level and user level. It is not set at the session level.
The below is an extract from Oracle Docs for 10gR2
The DEFAULT TEMPORARY TABLESPACE clause of the CREATE DATABASE statement
creates a default temporary tablespace for the database. Oracle Database assigns this
tablespace as the temporary tablespace for users who are not explicitly assigned a
temporary tablespace.
You can explicitly assign a temporary tablespace or tablespace group to a user in the
CREATE USER statement. However, if you do not do so, and if no default temporary
tablespace has been specified for the database, then by default these users are assigned
the SYSTEM tablespace as their temporary tablespace.You can specifically assign a temporary tablespace for the user but not for the session.
regards,
Vijayaraghavan K -
When can I safely drop a temporary tablespace?
I have a temporary tablespace in my database that I would like to get ride of.
It was created with a statement similar to this:
CREATE TEMPORARY TABLESPACE "TEMP"
blah blah blah. . .
I have checked dba_users and dba_extents. It is not used in either places.
Is there anywhere else I should check prior to executing a "DROP TABLESPACE" command?
Thank you,
-KrisQuery V$SORT_SEGMENT to check CURRENT_USERS for that TABLESPACE_NAME.
If CURRENT_USERS is 0, it is not in use currently.
Of course, query DBA_USERS to check TEMPORARY_TABLESPACE to see if it has been defined as the Temporary Tablespace for any user.
If you have only created a Temporary Tablespace but not assigned it as the DEFAULT TEMPORARY TABLESPACE at the Database level or any user's Temporary Tablespace with an ALTER USER command, then it wouldn't be in use !
Oracle starts using a Temporary Tablespace if either
a. It is the DEFAULT TEMPORARY TABLESPACE
b. It has been assigned as a User's Temporary Tablespace
c. It is part of a Temporary Tablespace Group that has been assigned
Hemant K Chitale
http://hemantoracledba.blogspot.com -
Parallel execution and temporary tablespaces
I have a large long running (1 hour) data warehouse query in a materialized view.
If I parallelize it using the parallel hint then I run out of temporary tablespace.
I've tried creating a bunch of temporary tablespaces and putting them into a temp tablespace group but it still runs out of space. Parallel execution seems to use up way more temp tablespace than sequential execution.
I know it is a very general question, but what are the tips for parallelizing a long running query with respect to temporary tablespace management?
I've tried searching on the interwebs but I don't find anything that addresses this particular issue.And here is the parallel explain plan:
PLAN_TABLE_OUTPUT
Plan hash value: 1293981491
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
| 0 | SELECT STATEMENT | | 81M| 17G| | 19232 (2)| 00:00:01 | | | |
| 1 | TABLE ACCESS BY INDEX ROWID | MART$SC_SCORES | 1 | 13 | | 3 (0)| 00:00:01 | | | |
|* 2 | INDEX UNIQUE SCAN | SSCS_SDCC_FK_I | 1 | | | 2 (0)| 00:00:01 | | | |
| 3 | PX COORDINATOR | | | | | | | | | |
| 4 | PX SEND QC (RANDOM) | :TQ10017 | 81M| 17G| | 19232 (2)| 00:00:01 | Q1,17 | P->S | QC (RAND) |
|* 5 | HASH JOIN RIGHT OUTER BUFFERED | | 81M| 17G| | 19232 (2)| 00:00:01 | Q1,17 | PCWP | |
| 6 | PX RECEIVE | | 41925 | 491K| | 2 (0)| 00:00:01 | Q1,17 | PCWP | |
| 7 | PX SEND BROADCAST | :TQ10014 | 41925 | 491K| | 2 (0)| 00:00:01 | Q1,14 | P->P | BROADCAST |
| 8 | PX BLOCK ITERATOR | | 41925 | 491K| | 2 (0)| 00:00:01 | Q1,14 | PCWC | |
| 9 | INDEX FAST FULL SCAN | I_DWH_ZIP_ZIPCODE_EIDIID | 41925 | 491K| | 2 (0)| 00:00:01 | Q1,14 | PCWP | |
|* 10 | HASH JOIN | | 81M| 16G| | 19218 (2)| 00:00:01 | Q1,17 | PCWP | |
| 11 | JOIN FILTER CREATE | :BF0000 | 6414K| 159M| | 806 (2)| 00:00:01 | Q1,17 | PCWP | |
| 12 | PX RECEIVE | | 6414K| 159M| | 806 (2)| 00:00:01 | Q1,17 | PCWP | |
| 13 | PX SEND HASH | :TQ10015 | 6414K| 159M| | 806 (2)| 00:00:01 | Q1,15 | P->P | HASH |
| 14 | PX BLOCK ITERATOR | | 6414K| 159M| | 806 (2)| 00:00:01 | Q1,15 | PCWC | |
|* 15 | INDEX FAST FULL SCAN | I_DWH_ADDRESS_COMB_ZIP | 6414K| 159M| | 806 (2)| 00:00:01 | Q1,15 | PCWP | |
| 16 | PX RECEIVE | | 80M| 14G| | 18397 (2)| 00:00:01 | Q1,17 | PCWP | |
| 17 | PX SEND HASH | :TQ10016 | 80M| 14G| | 18397 (2)| 00:00:01 | Q1,16 | P->P | HASH |
| 18 | JOIN FILTER USE | :BF0000 | 80M| 14G| | 18397 (2)| 00:00:01 | Q1,16 | PCWP | |
|* 19 | HASH JOIN RIGHT OUTER BUFFERED | | 80M| 14G| | 18397 (2)| 00:00:01 | Q1,16 | PCWP | |
| 20 | PX RECEIVE | | 42M| 409M| | 827 (2)| 00:00:01 | Q1,16 | PCWP | |
| 21 | PX SEND HASH | :TQ10012 | 42M| 409M| | 827 (2)| 00:00:01 | Q1,12 | P->P | HASH |
| 22 | PX BLOCK ITERATOR | | 42M| 409M| | 827 (2)| 00:00:01 | Q1,12 | PCWC | |
| 23 | MAT_VIEW ACCESS FULL | MBI$CMN_ACTION_COST | 42M| 409M| | 827 (2)| 00:00:01 | Q1,12 | PCWP | |
| 24 | PX RECEIVE | | 80M| 14G| | 17549 (1)| 00:00:01 | Q1,16 | PCWP | |
| 25 | PX SEND HASH | :TQ10013 | 80M| 14G| | 17549 (1)| 00:00:01 | Q1,13 | P->P | HASH |
|* 26 | HASH JOIN BUFFERED | | 80M| 14G| | 17549 (1)| 00:00:01 | Q1,13 | PCWP | |
| 27 | PX RECEIVE | | 6312K| 794M| | 7519 (1)| 00:00:01 | Q1,13 | PCWP | |
| 28 | PX SEND HASH | :TQ10010 | 6312K| 794M| | 7519 (1)| 00:00:01 | Q1,10 | P->P | HASH |
|* 29 | HASH JOIN RIGHT OUTER BUFFERED | | 6312K| 794M| | 7519 (1)| 00:00:01 | Q1,10 | PCWP | |
| 30 | VIEW | | 4443K| 80M| | 2125 (2)| 00:00:01 | Q1,10 | PCWP | |
| 31 | HASH GROUP BY | | 4443K| 33M| 158M| 2125 (2)| 00:00:01 | Q1,10 | PCWP | |
| 32 | PX RECEIVE | | 10M| 78M| | 950 (1)| 00:00:01 | Q1,10 | PCWP | |
| 33 | PX SEND HASH | :TQ10007 | 10M| 78M| | 950 (1)| 00:00:01 | Q1,07 | P->P | HASH |
| 34 | PX BLOCK ITERATOR | | 10M| 78M| | 950 (1)| 00:00:01 | Q1,07 | PCWC | |
| 35 | TABLE ACCESS FULL | DWH$PHONE | 10M| 78M| | 950 (1)| 00:00:01 | Q1,07 | PCWP | |
|* 36 | HASH JOIN | | 6312K| 680M| | 5392 (1)| 00:00:01 | Q1,10 | PCWP | |
| 37 | PX RECEIVE | | 6329K| 36M| | 130 (2)| 00:00:01 | Q1,10 | PCWP | |
| 38 | PX SEND HASH | :TQ10008 | 6329K| 36M| | 130 (2)| 00:00:01 | Q1,08 | P->P | HASH |
| 39 | PX BLOCK ITERATOR | | 6329K| 36M| | 130 (2)| 00:00:01 | Q1,08 | PCWC | |
| 40 | INDEX FAST FULL SCAN | PK_DWH_DEBTOR | 6329K| 36M| | 130 (2)| 00:00:01 | Q1,08 | PCWP | |
| 41 | PX RECEIVE | | 6312K| 644M| | 5259 (1)| 00:00:01 | Q1,10 | PCWP | |
| 42 | PX SEND HASH | :TQ10009 | 6312K| 644M| | 5259 (1)| 00:00:01 | Q1,09 | P->P | HASH |
|* 43 | HASH JOIN RIGHT OUTER BUFFERED| | 6312K| 644M| | 5259 (1)| 00:00:01 | Q1,09 | PCWP | |
| 44 | PX RECEIVE | | 3689K| 31M| | 4271 (1)| 00:00:01 | Q1,09 | PCWP | |
| 45 | PX SEND HASH | :TQ10005 | 3689K| 31M| | 4271 (1)| 00:00:01 | Q1,05 | P->P | HASH |
| 46 | VIEW | | 3689K| 31M| | 4271 (1)| 00:00:01 | Q1,05 | PCWP | |
| 47 | HASH GROUP BY | | 3689K| 56M| 84M| 4271 (1)| 00:00:01 | Q1,05 | PCWP | |
| 48 | PX RECEIVE | | 3689K| 56M| | 3653 (1)| 00:00:01 | Q1,05 | PCWP | |
| 49 | PX SEND HASH | :TQ10003 | 3689K| 56M| | 3653 (1)| 00:00:01 | Q1,03 | P->P | HASH |
|* 50 | HASH JOIN | | 3689K| 56M| | 3653 (1)| 00:00:01 | Q1,03 | PCWP | |
| 51 | BUFFER SORT | | | | | | | Q1,03 | PCWC | |
| 52 | PX RECEIVE | | 3 | 21 | | 1 (0)| 00:00:01 | Q1,03 | PCWP | |
| 53 | PX SEND BROADCAST | :TQ10000 | 3 | 21 | | 1 (0)| 00:00:01 | | S->P | BROADCAST |
| 54 | INLIST ITERATOR | | | | | | | | | |
|* 55 | INDEX RANGE SCAN | I_DWH_PAYMENT_TYPE_EIDIID | 3 | 21 | | 1 (0)| 00:00:01 | | | |
| 56 | PX BLOCK ITERATOR | | 28M| 242M| | 3648 (1)| 00:00:01 | Q1,03 | PCWC | |
|* 57 | TABLE ACCESS FULL | DWH$PAYMENT | 28M| 242M| | 3648 (1)| 00:00:01 | Q1,03 | PCWP | |
| 58 | PX RECEIVE | | 6312K| 589M| | 986 (2)| 00:00:01 | Q1,09 | PCWP | |
| 59 | PX SEND HASH | :TQ10006 | 6312K| 589M| | 986 (2)| 00:00:01 | Q1,06 | P->P | HASH |
|* 60 | HASH JOIN | | 6312K| 589M| | 986 (2)| 00:00:01 | Q1,06 | PCWP | |
| 61 | PX RECEIVE | | 2937 | 172K| | 5 (20)| 00:00:01 | Q1,06 | PCWP | |
| 62 | PX SEND BROADCAST | :TQ10004 | 2937 | 172K| | 5 (20)| 00:00:01 | Q1,04 | P->P | BROADCAST |
|* 63 | HASH JOIN BUFFERED | | 2937 | 172K| | 5 (20)| 00:00:01 | Q1,04 | PCWP | |
| 64 | PX RECEIVE | | 220 | 1540 | | 2 (0)| 00:00:01 | Q1,04 | PCWP | |
| 65 | PX SEND HASH | :TQ10001 | 220 | 1540 | | 2 (0)| 00:00:01 | Q1,01 | P->P | HASH |
| 66 | PX BLOCK ITERATOR | | 220 | 1540 | | 2 (0)| 00:00:01 | Q1,01 | PCWC | |
| 67 | TABLE ACCESS FULL | DWH$MANDATOR | 220 | 1540 | | 2 (0)| 00:00:01 | Q1,01 | PCWP | |
| 68 | PX RECEIVE | | 2937 | 152K| | 2 (0)| 00:00:01 | Q1,04 | PCWP | |
| 69 | PX SEND HASH | :TQ10002 | 2937 | 152K| | 2 (0)| 00:00:01 | Q1,02 | P->P | HASH |
| 70 | PX BLOCK ITERATOR | | 2937 | 152K| | 2 (0)| 00:00:01 | Q1,02 | PCWC | |
| 71 | TABLE ACCESS FULL | DWH$PACKAGE | 2937 | 152K| | 2 (0)| 00:00:01 | Q1,02 | PCWP | |
| 72 | PX BLOCK ITERATOR | | 6312K| 228M| | 980 (1)| 00:00:01 | Q1,06 | PCWC | |
| 73 | TABLE ACCESS FULL | DWH$CASE | 6312K| 228M| | 980 (1)| 00:00:01 | Q1,06 | PCWP | |
| 74 | PX RECEIVE | | 78M| 4199M| | 10016 (1)| 00:00:01 | Q1,13 | PCWP | |
| 75 | PX SEND HASH | :TQ10011 | 78M| 4199M| | 10016 (1)| 00:00:01 | Q1,11 | P->P | HASH |
| 76 | PX BLOCK ITERATOR | | 78M| 4199M| | 10016 (1)| 00:00:01 | Q1,11 | PCWC | |
|* 77 | TABLE ACCESS FULL | DWH$ACTION | 78M| 4199M| | 10016 (1)| 00:00:01 | Q1,11 | PCWP | |
------------------------------------------------------------------------------------------------------------------------------------------------------------------ -
Although my temporary tablespace is enough space,the error occurs ORA-01652
Hello,
Although my temporary tablespace is enough space ,i am taking an error ORA-01652 and some dbfs in the tablespace are looks like as offline and it’s size looks like as 0 byte.
So that i am changing status of these datafiles to online with this command as follows;
ALTER DATABASE TEMPFILE '/QDBP/q023/q023/temp/qt_lm_tmp01.dbf' ONLINE;
Also, The disk that exist these datafiles was 0 in availibility.
When i issued the command df –k as follows
Filesystem kbytes used avail capacity Mounted on
/dev/vx/dsk/qdbpdg/volq23 20971520 20971520 0 100% /QDBP/q023
is pointed.
And then i have released space from disk
The current review is
/dev/vx/dsk/qdbpdg/volq14 157286400 21731141 127083885 15% /QDBP/q014
My queries and results are for the hint of about the problem:
SELECT A.tablespace_name TABLESPACE, D.mb_total,
SUM (A.used_blocks * D.block_size) / 1024 / 1024 mb_used,
D.mb_total - SUM (A.used_blocks * D.block_size) / 1024 / 1024 mb_free
FROM v$sort_segment A,
SELECT B.NAME, C.block_size, SUM (C.bytes) / 1024 / 1024 mb_total
FROM v$tablespace B, v$tempfile C
WHERE B.ts#= C.ts#
GROUP BY B.NAME, C.block_size
) D
WHERE A.tablespace_name = D.NAME
GROUP BY A.tablespace_name, D.mb_total;
TABLESPACE |MB_TOTAL| MB_USED| MB_FREE
QT_LM_TMP |61440 |12| 61428 --temporary
TS_TEMP_SDPA |15360 |0| 15360 –temporary
Separately,i want to see you a view about alert log like points below.
KCF: write/open error block=0x1b6e0a online=1
file=3 /QDBP/q014/q014/temp/qt_lm_tmp03.dbf
error=27063 txt: 'SVR4 Error: 28: No space left on device
Additional information: -1
Additional information: 8192'
Automatic tempfile offline due to write error on
file 3: /QDBP/q014/q014/temp/qt_lm_tmp03.dbf
With sum,i have some question like below:
1)Although there is enough space on temporary tablespace why i take error ORA-01652?
2)Although there is enough space on temporary tablespace why databasefiles have offline status suddenly?
3) is it important fully rate of disk on operating system if there is enough space on temporary tablespace which has extend properties.
Best regards
Oya YALÇINHi,
i don't make tablespaces offline mode.But neverthless i don't understant although there is enough space on tablespace why tablespaces are being offline status mode itself?
When i look at ‘ select file_name,status from dba_temp_files ‘ query on the database now.The result is like below;
FILE_NAME|STATUS
/QDBP/q023/q023/temp/qt_lm_tmp01.dbf|AVAILABLE
/QDBP/q023/q023/temp/qt_lm_tmp02.dbf|AVAILABLE
/QDBP/q014/q014/temp/qt_lm_tmp03.dbf|AVAILABLE
/QDBP/q023/q023/temp/ts_temp_sdpa01.dbf|AVAILABLE
/QDBP/q023/q023/temp/ts_temp_sdpa02.dbf|AVAILABLE
/QDBP/q014/q014/temp/qt_lm_tmp04.dbf|AVAILABLE
/QDBP/q014/q014/temp/qt_lm_tmp05.dbf|AVAILABLE
But when i look at first 3 dbf by orderly from tab of scripts about tablespaces on toad tool
i see that like below;
ALTER DATABASE TEMPFILE '/QDBP/q023/q023/temp/qt_lm_tmp01.dbf' OFFLINE;
ALTER DATABASE TEMPFILE '/QDBP/q023/q023/temp/qt_lm_tmp02.dbf' OFFLINE;
ALTER DATABASE TEMPFILE '/QDBP/q014/q014/temp/qt_lm_tmp03.dbf' OFFLINE;
And their size is look like 0 .
Regards
Oya. -
How can Temporary tablespace flush ?
Hi ,
I have user 0racle 10g on Unix platform.
My temporary tablespae alloways full , if increment tablespace size upto 2GB ,
any way to flush temporary tablespace like as shared pool.
ThanksFirst, you need to find out if your applications need all the space which they are using for the temp, and tune as appropriate.
Second, you may have falled into the trap of using OEM or some other such tool which does not show the 'true' space available in the temp tablespace. Such tools only show the maximum space ever allocated, not the current space allocated (or rather segments). A tool such as DB Console or Grid will show at any point in time the 'true' or current segments allocated. You can also use the scripts below:
SELECT SUM (u.blocks * blk.block_size) / 1024 / 1024 "Mb. in sort segments"
, (hwm.MAX * blk.block_size) / 1024 / 1024 "Mb. High Water Mark"
FROM v$sort_usage u
, (SELECT block_size
FROM DBA_TABLESPACES
WHERE CONTENTS = 'TEMPORARY') blk
, (SELECT segblk# + blocks MAX
FROM v$sort_usage
WHERE segblk# = (SELECT MAX (segblk#)
FROM v$sort_usage)) hwm
GROUP BY hwm.MAX * blk.block_size / 1024 / 1024;
Maybe you are looking for
-
I want to install Windows 7 on my band new Macbook Pro 13 inch and use Parallel Desktop 6 torun it alongside my Mac OS. Do I need to buy a specific Mac version of Windows 7 or do I install a standard Windows 7 OS on the Mac using boot camp.
-
Hyperion Reports - Row and Column templates
<p>Sorry if this may be a bit basic but we are new to Hyperionreports. Currently we are going through a redesign process and washoping to get some viewpoints on the benefits of using row andcolumn templates within reports. I am looking at this option
-
Hi all, I am unable to understand the delivery scheduling concept. For ex I am creating a sales order for the material xxx today.Requested delivery date is todays date.there is no stock available for the material xxx today. But there is a purchase o
-
Recommended way for Oracle SDO_GEOMETRY
I'm going to be using coldfusion<>oracle spatial db to retrieve location data. Oracle does this with an SDO_GEOMETRY data type which holds location data, in my case somewhere in there will be point data which will have a longitude and latitude. since
-
[SOLVED]installation: partition size FAIL, too small /var
Yeah, I managed to make a mess again. I thought I had given the /var 15 GB and it turned out to be 1.5 GB, now I'm facing this situation: [tomislav@shakenbake ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 14G 2.5G 11G 19% / udev 10M