Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • To see how much time or progress of long transaction Oracle
  • find_err.sql for finding errors from dba_errors. Oracle
  • sesswait.sql Oracle
  • Test Case for Inserting Multiple (2.3 Million rows in 26 Seconds) Oracle
  • For Search and replace unix command. Linux/Unix
  • Resolving RMAN Hung Jobs Oracle
  • xargs use Linux/Unix
  • pvm_pre_change.sql Oracle
  • T-SQL Vs PL/SQL Syntax SQL Server
  • Pending Distributed Transations Oracle
  • Creating never expiring DB user accounts in Oracle Oracle
  • Jai Shree Ram Oracle
  • Exadata Basics Oracle
  • catting.sh Linux/Unix
  • Rename Tablespace Oracle

Temporary tablespace explaination

Posted on 10-Apr-2008 By Admin No Comments on Temporary tablespace explaination

A new mechanism to control the allocation of temporary storage space was

introduced in 7.3, initially as support for OPS, but it is equally applicable

to non-OPS environments. This requires the creation of a designated temporary

tablespace, that is one created with the designation TEMPORARY. The effect of

this is twofold:

1. No permanent objects (tables, indexes, etc.) can be stored in such a

tablespace.

2. A temporary segment created in this tablespace will not be de-allocated

at the end of the sort. Instead the extents are MARKED as free, are not

placed back on the freelist, and are retained for reuse. An element called

the Sort Extent Pool (SEP) is created in the SGA to describe them.

Subsequent sort operations will then be allocated extents from this pool

via a memory lookup, thereby avoiding most of the space management tasks

described above.

The temporary segment containing this “pool” of extents is referred to as an

“instance” and there will be one for each OPS instance opening the database.

Each instance will maintain its own SEP. The view V$SORT_SEGMENT makes these

visible. It contains information about every sort segment created in the

LOCAL instance. So, if node 1 executed a statement which created a sort

segment, node 2 will not see the entry in V$SORT_SEGMENT unless it has

already executed some statements which created a sort segment in node 2’s

instance.

The view DBA_SEGMENTS contains information about segments in the entire

database. So, if all nodes create sort segments, there will be multiple

entries in DBA_SEGMENTS, one for each node.

A single instance configuration will have just the one segment, hence one

pool of extents.

Another advantage for an OPS environment occurs when a sort requires an extent

and there are none free in the pool. The segments may grow in the usual way,

but if another instance does have a free extent, this can be re-assigned from

one pool to the other.

During a sort operation, the number of sort segment(s) created should

eventually grow to a stable point where no new extents are allocated. If

large sorts are occurring, which take up all of the available space, then

the operation may receive an ORA-1652. The solution here is to add additional

files to the tablespace.

It has also been observed that in an OPS environmemt ORA-1652 messages occur

in the alert.log while the re-assignment from one instance’s SEP free extents

to the requesting one seems to be working fine because client sessions

do not get the ORA-1652. This suggests that the re-allocation is internally

triggered by event 1652, and the ORA-1652 is not surpressed from being

written to the alert.log. This can be quite confusing for DBA’s.

SQL commands

============

1. CREATE TABLESPACE

DATAFILE …

DEFAULT STORAGE (…)

TEMPORARY;

or

ALTER TABLESPACE

TEMPORARY;

2. ALTER USER TEMPORARY TABLESPACE ;

N.B. The DEFAULT STORAGE clause governs the size of the sort extents created

within a tablespace. This should always be a multiple of the SORT_AREA_SIZE

specified in the init.ora file for each instance.

Oracle, SQL scripts

Post navigation

Previous Post: restarting network in linux
Next Post: changing kernel parameter in Oracle Enterpise Linux

Related Posts

  • Restoring a user’s original password 1051962.101 Oracle
  • Goldengate document from Porus Oracle
  • Formatter Explain plan Output 1 Oracle
  • TOP-N Sql to find Nth max or Top N rows Oracle
  • GSQ.sql Oracle
  • How to check current redo log progress redo_progress.sql Oracle

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Categories

  • Ansible (0)
  • AWS (2)
  • Azure (1)
  • Django (0)
  • GIT (1)
  • Linux/Unix (149)
  • MYSQL (5)
  • Oracle (403)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (1)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (18)
  • rman-dataguard (26)
  • shell (150)
  • SQL scripts (350)
  • SQL Server (6)
  • Uncategorized (5)
  • Videos (0)

Recent Posts

  • Key Management in Oracle: The Core Issue: Missing Master Key12-May-2026
  • SAT Mathematics 10 questions and answer at the end.30-Apr-2026
  • top 10 AI news today30-Apr-2026
  • runon_allpdbs_show_conname.sh23-Apr-2026
  • runon_allcdbs_find_pdbs.sql23-Apr-2026
  • Running PDB on single node in RAC09-Apr-2026
  • find_arc.sql09-Apr-2026
  • pvm_pre_change.sql08-Apr-2026
  • find_encr_wallet.sql08-Apr-2026
  • find_pdbs.sql08-Apr-2026

Archives

  • 2026
  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • How To Resolve Stranded DBA_2PC_PENDING Entries ID 401302.1 (Very Good prooven) Oracle
  • When error comes for temporary tablespace with version <= 9i Oracle
  • This is im telling Kishore Oracle
  • Passing from Unix to PLSQL using bind variables Linux/Unix
  • newupload.html PHP/MYSQL/Wordpress
  • Complete Git Tutorial for Beginners GIT
  • cold backup scripts to copy locally Linux/Unix
  • Wait Based Tuning Step by step with SQL statement Oracle

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme