HomePage » Database » Oracle » OracleTablespaces


Listing tablespace storage usage

COLUMN file_name format A40;
COLUMN tablespace_name format A10;
SELECT b.file_id, b.tablespace_name, b.file_name, b.bytes/1048575 AS AllocatedMb,
    (b.bytes-sum(nvl(a.bytes,0)))/1048576 AS UsedMb,
    sum(nvl(a.bytes,0))/1048576 AS FreeMb,
    sum(nvl(a.bytes,0))/(b.bytes)*100 AS FreePct
    FROM dba_free_space a,dba_data_files b
    WHERE a.file_id=b.file_id AND b.tablespace_name = 'DSR'
    GROUP BY b.tablespace_name,b.file_name,b.file_id,b.bytes;


List all tablespace usage

SET linesize 200
SET pagesize 200
COLUMN file_name format A50;
COLUMN tablespace_name format A13;

SELECT b.file_id, b.tablespace_name, b.file_name, b.bytes/1048575 AS AllocatedMb,
    (b.bytes-sum(nvl(a.bytes,0)))/1048576 AS UsedMb,
    sum(nvl(a.bytes,0))/1048576 AS FreeMb,
    sum(nvl(a.bytes,0))/(b.bytes)*100 AS FreePct
    FROM dba_free_space a,dba_data_files b
    WHERE a.file_id=b.file_id
    GROUP BY b.tablespace_name,b.file_name,b.file_id,b.bytes
    ORDER BY b.tablespace_name;


Listing temp tablespace usage

SELECT tablespace_name, SUM(bytes_used)/1048576 UsedMB, SUM(bytes_free)/1048576 AS TotalMB
FROM   V$temp_space_header
GROUP  BY tablespace_name;


Create tablespace

CREATE tablespace xxx_data logging
datafile '+DATA/xxx/xxx01.dbf' size 500m autoextend ON next 50m maxsize 5000m extent management LOCAL;

CREATE user xxxdba IDENTIFIED BY yyy
DEFAULT tablespace coaction quota unlimited ON xxx_data;

GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE ROLE, CREATE PROCEDURE,
CREATE ANY SYNONYM, CREATE PUBLIC SYNONYM, CREATE ANY SEQUENCE TO xxxdba;


Adding temp tablespace to a specific tablespace

ALTER TABLESPACE TEMP ADD TEMPFILE '/path/temp01.dbf'
SIZE 512M REUSE AUTOEXTEND OFF;
Comments [Hide comments/form]
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki