Useful links
Shrinking temporary tablespace in Oracle 10g
Switch all existing users from old TEMP to new TEMP02 tablespace:
- CREATE TEMPORARY TABLESPACE TEMP02 TEMPFILE
- '/oracle/oradata/db/TEMP_02.dbf' SIZE 50M AUTOEXTEND ON;
- ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP02;
- set serveroutput on
- -- Switch all existing users to new temp tablespace.
- BEGIN
- FOR cur_user IN (SELECT username FROM dba_users WHERE temporary_tablespace = 'TEMP') LOOP
- dbms_output.put_line('ALTER USER ' || cur_user.username || ' TEMPORARY TABLESPACE TEMP02');
- EXECUTE IMMEDIATE 'ALTER USER ' || cur_user.username || ' TEMPORARY TABLESPACE TEMP02';
- END LOOP;
- END;
- /
Waiting for release old TEMP tablespace usage by applications/sessions:
- lsof | grep temp01.dbf | wc -l
- 124
- select count(*) from V$TEMPSEG_USAGE
- where tablespace = 'TEMP';
- COUNT(*)
- ----------
- 91
when count become zero then drop unused old TEMP tablespace and files:
- select tablespace, username, count(*)
- from V$TEMPSEG_USAGE
- where 1 = 1
- --and tablespace in ('TEMP', 'TEMP02')
- and tablespace = 'TEMP'
- group by tablespace, username;
- DROP TABLESPACE TEMP INCLUDING CONTENTS AND DATAFILES;
Recreate old TEMP tablespace and if you want switch back from TEMP02
Switch all existing users back to TEMP tablespace:
- CREATE TEMPORARY TABLESPACE TEMP TEMPFILE
- '/oracle/oradata/db/TEMP_01.dbf' SIZE 50M AUTOEXTEND ON;
- ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP;
- set serveroutput on
- -- Switch all existing users to new temp tablespace.
- BEGIN
- FOR cur_user IN (SELECT username FROM dba_users WHERE temporary_tablespace = 'TEMP02') LOOP
- dbms_output.put_line('ALTER USER ' || cur_user.username || ' TEMPORARY TABLESPACE TEMP');
- EXECUTE IMMEDIATE 'ALTER USER ' || cur_user.username || ' TEMPORARY TABLESPACE TEMP';
- END LOOP;
- END;
- /
Waiting for release TEMP02 tablespace usage by applications/sessions:
- lsof | grep temp02.dbf | wc -l
- 124
- select count(*) from V$TEMPSEG_USAGE
- where tablespace = 'TEMP02';
- COUNT(*)
- ----------
- 91
when count become zero then drop unused TEMP02 tablespace and files:
- select tablespace, username, count(*)
- from V$TEMPSEG_USAGE
- where 1 = 1
- --and tablespace in ('TEMP', 'TEMP02')
- and tablespace = 'TEMP02'
- group by tablespace, username;
- DROP TABLESPACE TEMP02 INCLUDING CONTENTS AND DATAFILES;
Temporary Tablespace Enhancements in Oracle Database 11g
- alter tablespace temp shrink space [keep 100m];
The shrink can also be directed to a specific tempfile using the TEMPFILE clause.
- ALTER TABLESPACE temp SHRINK TEMPFILE '/oracle/oradata/db/temp01.dbf' KEEP 30M;
View V$TEMPSEG_USAGE
- lsof | grep temp01.dbf | wc -l
- 124
- select * from V$TEMPSEG_USAGE
- select count(*)
- from V$TEMPSEG_USAGE
- where tablespace = 'TEMP';
- select tablespace, username, count(*)
- from V$TEMPSEG_USAGE
- where 1 = 1
- --and tablespace in ('TEMP', 'TEMP02')
- --and tablespace = 'TEMP'
- group by tablespace, username;
Issue: Shrinking of Temp Tablespace does not take effect
Run this query to find if there are any sessions using your temp tablespace a long time:Check if you can drop those sessions and then try shrink. Or you can create a new tablespace move every user to that temp tablespace and than drop this old one.
- SELECT se.username username,
- se.SID sid, se.serial# serial#,
- se.status status,
- 'alter system kill session ''' || se.sid || ',' || se.serial# || ''' immediate;' kill_session_cmd,
- se.sql_hash_value, se.sql_id,
- se.prev_hash_value,se.machine machine,
- su.TABLESPACE tablespace,su.segtype,
- su.CONTENTS CONTENTS
- FROM v$session se,
- v$tempseg_usage su /* v$sort_usage */
- WHERE se.saddr=su.session_addr
- AND status = 'ACTIVE'
- ;
Titanium Max Trimmer is the perfect tool for your projects - IT
ОтветитьУдалитьThis makes you titanium properties an ideal tool for titanium flash mica your projects and projects, titanium mug whether you work in iron titanium your home or office. This versatile titanium wood stoves tool has the potential to make
f014z7dmlfl275 horse dildo,vibrators,male sex toys,masturbators,prostate massagers,vibrators,sex chair,G-Spot Vibrators,dog dildo y379g5efyzb812
ОтветитьУдалить