精华内容
下载资源
问答
  • oracle增加临时表空间
    千次阅读
    2021-05-02 04:43:13

    1、查看临时表空间 (dba_temp_files视图)(v_$tempfile视图)

    selectt ablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;

    select status,enabled, name, bytes/1024/1024 file_size from v_$tempfile;--sys用户查看

    2、缩小临时表空间大小

    alter database tempfile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TELEMT\TEMP01.DBF' resize 100M;

    3、扩展临时表空间:

    方法一、增大临时文件大小:

    SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/temp01.dbf’ resize 100m;

    方法二、将临时数据文件设为自动扩展:

    SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/temp01.dbf’ autoextend on next 5m maxsize unlimited;

    方法三、向临时表空间中添加数据文件:

    SQL> alter tablespace temp add tempfile ‘/u01/app/oracle/oradata/orcl/temp02.dbf’ size 100m;

    4、创建临时表空间:

    SQL> create temporary tablespace temp1 tempfile ‘/u01/app/oracle/oradata/orcl/temp11.dbf’ size 10M;

    5、更改系统的默认临时表空间:

    --查询默认临时表空间

    select* from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';

    --修改默认临时表空间

    alter database default temporary tablespace temp1;

    所有用户的默认临时表空间都将切换为新的临时表空间:

    select username,temporary_tablespace,default_ from dba_users;

    --更改某一用户的临时表空间:

    alter user scott temporary tablespace temp;

    6、删除临时表空间

    删除临时表空间的一个数据文件:

    SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/temp02.dbf’ drop;

    删除临时表空间(彻底删除):

    SQL> drop tablespace temp1 including contents and datafiles cascade constraints;

    7、查看临时表空间的使用情况(GV_$TEMP_SPACE_HEADER视图必须在sys用户下才能查询)

    GV_$TEMP_SPACE_HEADER视图记录了临时表空间的使用大小与未使用的大小

    dba_temp_files视图的bytes字段记录的是临时表空间的总大小

    SELECT temp_used.tablespace_name,

    total - used as "Free",

    total as "Total",

    round(nvl(total - used, 0) * 100 / total, 3) "Free percent"

    FROM (SELECT tablespace_name,SUM(bytes_used) / 1024 / 1024 used

    FROMGV_$TEMP_SPACE_HEADER

    GROUP BY tablespace_name) temp_used,

    (SELECT tablespace_name,SUM(bytes) / 1024 / 1024 total

    FROM dba_temp_files

    GROUP BY tablespace_name) temp_total

    WHERE temp_used.tablespace_name = temp_total.tablespace_name

    ORDER BY B.TABLESPACE, B.SEGFILE#, B.SEGBLK#, B.BLOCKS;

    更多相关内容
  • oracle 临时表空间的增删改查操作 oracle 临时表空间的增删改查 1查看临时表空间 dba_temp_files 视图v$tempfile 视图 select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_...
  • oracle 临时表空间的增删改查操作 oracle 临时表空间的增删改查 1查看临时表空间?dba_temp_files视图v$tempfile视图 select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_...
  • 转载自:http://blog.itpub.net/29578568/viewspace-2141980/-查表空间使用率情况(含临时表空间)SELECT d.tablespace_name "Name", d.status "Status",TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99,999,990.90') ...

    转载自:http://blog.itpub.net/29578568/viewspace-2141980/

    -查表空间使用率情况(含临时表空间)

    SELECT d.tablespace_name "Name", d.status "Status",

    TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99,999,990.90') "Size (M)",

    TO_CHAR (NVL (a.BYTES - NVL (f.BYTES, 0), 0) / 1024 / 1024,

    '99999999.99'

    ) USE,

    TO_CHAR (NVL ((a.BYTES - NVL (f.BYTES, 0)) / a.BYTES * 100, 0),

    '990.00'

    ) "Used %"

    FROM SYS.dba_tablespaces d,

    (SELECT tablespace_name, SUM (BYTES) BYTES

    FROM dba_data_files

    GROUP BY tablespace_name) a,

    (SELECT tablespace_name, SUM (BYTES) BYTES

    FROM dba_free_space

    GROUP BY tablespace_name) f

    WHERE d.tablespace_name = a.tablespace_name(+)

    AND d.tablespace_name = f.tablespace_name(+)

    AND NOT (d.extent_management LIKE 'LOCAL' AND d.CONTENTS LIKE 'TEMPORARY')

    UNION ALL

    SELECT d.tablespace_name "Name", d.status "Status",

    TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99,999,990.90') "Size (M)",

    TO_CHAR (NVL (t.BYTES, 0) / 1024 / 1024, '99999999.99') USE,

    TO_CHAR (NVL (t.BYTES / a.BYTES * 100, 0), '990.00') "Used %"

    FROM SYS.dba_tablespaces d,

    (SELECT tablespace_name, SUM (BYTES) BYTES

    FROM dba_temp_files

    GROUP BY tablespace_name) a,

    (SELECT tablespace_name, SUM (bytes_cached) BYTES

    FROM v$temp_extent_pool

    GROUP BY tablespace_name) t

    WHERE d.tablespace_name = a.tablespace_name(+)

    AND d.tablespace_name = t.tablespace_name(+)

    AND d.extent_management LIKE 'LOCAL'

    AND d.CONTENTS LIKE 'TEMPORARY';

    1. 查询表空间剩余字节大小

    SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024 AS "FREE SPACE(M)"

    FROM DBA_FREE_SPACE

    WHERE TABLESPACE_NAME = '&tablespace_name'

    GROUP BY TABLESPACE_NAME;

    注:如果是临时表空间,请查询DBA_TEMP_FREE_SPACE

    SELECT TABLESPACE_NAME, FREE_SPACE/1024/1024 AS "FREE SPACE(M)"

    FROM DBA_TEMP_FREE_SPACE

    WHERE TABLESPACE_NAME = '&tablespace_name';

    2. 查询表空间所有数据文件路径

    SELECT TABLESPACE_NAME, FILE_ID, FILE_NAME, BYTES/1024/1024 AS "BYTES(M)"

    FROM DBA_DATA_FILES

    WHERE TABLESPACE_NAME = '&tablespace_name';

    注:如果是临时表空间,请查询DBA_TEMP_FILES

    SELECT TABLESPACE_NAME, FILE_ID, FILE_NAME, BYTES/1024/1024 AS "SPACE(M)"

    FROM DBA_TEMP_FILES

    WHERE TABLESPACE_NAME = '&tablespace_name';

    3. 为空间不足的表空间增加数据文件

    ALTER TABLESPACE &tablespace_name ADD DATAFILE '&datafile_name' SIZE 2G;

    注:如果要为临时表空间扩容,使用下面的语句

    ALTER TABLESPACE &tablespace_name ADD TEMPFILE '&datafile_name' SIZE 2G;

    4.查看临时表空间的大小 和 数据文件路径

    SELECT TABLESPACE_NAME, FILE_ID, FILE_NAME, BYTES/1024/1024 AS "SPACE(M)"

    FROM DBA_TEMP_FILES

    WHERE TABLESPACE_NAME = 'TEMP';

    或者

    select name, bytes/1024/1024 as "大小(M)" from v$tempfile order by bytes;

    5.重建并修改默认临时表空间办法:

    --查询当前数据库默认临时表空间名

    select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';

    --创建新的临时表空间

    create temporary tablespace temp02 tempfile 'E:\oracle\oradata\lims\TEMP02.DBF' size 1024M autoextend on;

    --修改默认表空间为刚刚建立的临时表空间

    alter database default temporary tablespace temp02;

    --查看用户所用临时表空间的情况

    SELECT USERNAME,TEMPORARY_TABLESPACE FROM DBA_USERS;

    --删除原来的临时表空间

    drop tablespace temp including contents and datafiles;

    --查看所有表空间名确认临时表空间是否已删除

    select tablespace_name from dba_tablespaces;

    展开全文
  • 查询临时表空间大小以及使用情况: SELECT D.TABLESPACE_NAME,SPACE “SUM_SPACE(M)”,BLOCKS SUM_BLOCKS, USED_SPACE “USED_SPACE(M)”,ROUND(NVL(USED_SPACE,0)/SPACE100,2) “USED_RATE(%)”, NVL(FREE_SPACE,0)...

    查询默认临时表空间名称:

    select property_name,property_value from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';
    

    查询临时表空间大小以及使用情况:

    SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",BLOCKS SUM_BLOCKS, 
    USED_SPACE "USED_SPACE(M)",ROUND(NVL(USED_SPACE,0)/SPACE*100,2) "USED_RATE(%)",
    NVL(FREE_SPACE,0) "FREE_SPACE(M)"
    FROM 
    (SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) SPACE,SUM(BLOCKS) BLOCKS
    FROM DBA_TEMP_FILES
    GROUP BY TABLESPACE_NAME) D,
    (SELECT TABLESPACE_NAME,ROUND(SUM(BYTES_USED)/(1024*1024),2) USED_SPACE,
    ROUND(SUM(BYTES_FREE)/(1024*1024),2) FREE_SPACE
    FROM V$TEMP_SPACE_HEADER
    GROUP BY TABLESPACE_NAME) F
    WHERE  D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
    

    增加临时表空间()

    ALTER TABLESPACE TEMP(临时表空间名称) ADD TEMPFILE 'temp2.dbf'(自己命名) SIZE 10M(或者G等其他单位,但10这个位置必须是整数);
    
    展开全文
  • oracle临时表空间扩容

    2022-01-21 14:25:31
    oracle临时表空间扩容 查看临时表空间 select * from (Select a.tablespace_name, to_char(a.bytes / 1024 / 1024, ‘99,999.999’) total_bytes, to_char(b.bytes / 1024 / 1024, ‘99,999.999’) free_bytes, to_...

    oracle临时表空间扩容
    查看临时表空间

    select *
    from (Select a.tablespace_name,
    to_char(a.bytes / 1024 / 1024, ‘99,999.999’) total_bytes,
    to_char(b.bytes / 1024 / 1024, ‘99,999.999’) free_bytes,
    to_char(a.bytes / 1024 / 1024 - b.bytes / 1024 / 1024,
    ‘99,999.999’) use_bytes,
    to_char((1 - b.bytes / a.bytes) * 100, ‘99.99’) || ‘%’ use
    from (select tablespace_name, sum(bytes) bytes
    from dba_data_files
    group by tablespace_name) a,
    (select tablespace_name, sum(bytes) bytes
    from dba_free_space
    group by tablespace_name) b
    where a.tablespace_name = b.tablespace_name
    union all
    select c.tablespace_name,
    to_char(c.bytes / 1024 / 1024, ‘99,999.999’) total_bytes,
    to_char((c.bytes - d.bytes_used) / 1024 / 1024, ‘99,999.999’) free_bytes,
    to_char(d.bytes_used / 1024 / 1024, ‘99,999.999’) use_bytes,
    to_char(d.bytes_used * 100 / c.bytes, ‘99.99’) || ‘%’ use
    from (select tablespace_name, sum(bytes) bytes
    from dba_temp_files
    group by tablespace_name) c,
    (select tablespace_name, sum(bytes_cached) bytes_used
    from v$temp_extent_pool
    group by tablespace_name) d
    where c.tablespace_name = d.tablespace_name)
    order by tablespace_name ;


    查看临时表分区
    SELECT *
    FROM (SELECT USERNAME,
    SESSION_ADDR,
    SQL_ID,
    CONTENTS,
    SEGTYPE,
    BLOCKS * 8 / 1024 / 1024 GB
    FROM V$SORT_USAGE
    ORDER BY BLOCKS DESC)
    WHERE ROWNUM <= 200;


    查看表空间使用率

    SELECT a.tablespace_name “表空间名称”,

    total / (1024 * 1024) “表空间大小(M)”,

    free / (1024 * 1024) “表空间剩余大小(M)”,

    (total - free) / (1024 * 1024 ) “表空间使用大小(M)”,

    total / (1024 * 1024 * 1024) “表空间大小(G)”,

    free / (1024 * 1024 * 1024) “表空间剩余大小(G)”,

    (total - free) / (1024 * 1024 * 1024) “表空间使用大小(G)”,

    round((total - free) / total, 4) * 100 “使用率 %”

    FROM (SELECT tablespace_name, SUM(bytes) free

    FROM dba_free_space

    GROUP BY tablespace_name) a,

    (SELECT tablespace_name, SUM(bytes) total

    FROM dba_data_files

    GROUP BY tablespace_name) b

    WHERE a.tablespace_name = b.tablespace_name


    1.查看临时表空间的数据文件及存放路径
    select tablespace_name,
    file_name,
    user_bytes/bytes,
    bytes / 1024 / 1024 “file_size(M)”,
    autoextensible
    from dba_temp_files t
    where t.TABLESPACE_NAME = ‘TEMP’;

    登录数据库服务器,执行扩容语句,如下

    SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/temp01.dbf’ resize 4G;

    展开全文
  • Oracle临时表空间过大解决方法

    千次阅读 2021-05-02 10:14:24
    详情:解决Oracle临时表空间过大有两种方法,方法一增加临时表空间的大小,方法二重建临时表空间,解决临时表空间过大的问题。方案一:增加临时表空间的大小--1.临时表空间的使用情况SELECT D.tablespace_name,SPACE...
  • 增加表空间大小:一种是为表空间增加数据文件/另一种方法是增加表空间原有数据文件尺寸,感兴趣的朋友可以了解下,或许对你有所帮助
  • 1、查询默认的临时表空间: select property_name,property_value from database_properties where property_name='DEFAULT_TEMP_TABLESPACE'; 2、查询临时表空间大小以及使用情况: SELECT D.TABLESPACE_NAME...
  • oracle数据库临时表空间扩容
  • oracle增加表空间大小

    千次阅读 2022-02-11 09:56:02
    oracle增加表空间大小 第一步:查看表空间的名字及文件所在位置: select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name 第二步:...
  • 管理员用户登录oracle数据库[oracle@DBORACLE ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Tue Jan 1 14:59:27 2019Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to:...
  • ORACLE修改表空间大小

    2012-04-08 17:43:45
    ORACLE临时表空间不足,修改表空间大小
  • 临时表空间是一个磁盘空间,主要用于存储用户在执行...创建临时表空间是时需要使用temprary关键字,并且与临时表空间对应的是临时文件,由tempfile关键字指定,也就是说,临时表空间中不再使用数据文件,而是用临时...
  • Oracle 临时表空间 SQL语句

    千次阅读 2021-09-11 12:51:18
    以下总结了关于 Oracle 数据库临时表空间的相关 SQL 语句: Oracle 临时表空间创建和添加数据文件: --创建临时表空间 tempdata create temporary tablespace tempdata tempfile '/oradata/orcl/tempdata01.dbf' ...
  • ORACLE临时表空间总结

    2021-06-28 11:08:42
    临时表空间用来管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT的时候,并且当PGA中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序。像数据库中一些操作: ...
  • 经常会遇到数据表文件存储满了,数据库连接不上,如何为表空间增加新的数据文件呢? 分析: 1. 查询表空间剩余字节大小 SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024 AS "FREE SPACE(M)"  FROM DBA_FREE_...
  • 2.2 修改临时表空间大小: --加大临时表空间,增加数据处理数量和效率 ALTER DATABASE TEMPFILE '/home/data/oracle/oradata/oracle/temp01.dbf' RESIZE 20480M; ALTER DATABASE TEMPFILE '/home/data/oracle/...
  • Oracle 临时表空间慢是因为有大量的排序数据或其他临时数据占用造成的,也就是说如果一个有上千万天的记录你的临时空间又很小这个时候你只要select *也许马上就就会满掉!解决此类问题的办法是为临时表空间增加临时...
  • Oracle临时表空间的清理

    千次阅读 2021-05-03 06:12:39
    Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间消耗的主要原因是需要对查询的中间结果进行排序。临时表空间的主要作用:索引create或rebuildOrder by 或 group byDistinct 操作Union 或 intersect...
  • Oracle全局临时表和私有临时表

    千次阅读 2021-12-25 18:55:54
    GTT更早。GTT是8i就有的特性,PTT是18c才有的特性。 GTT和PTT的数据都是会话私有的,而且会话结束后数据就没有了,但GTT的定义是全局的...GTT的定义是所有会话共享的;PTT的定义是会话私有的。 关于GTT和PTT的实验
  • 临时表空间收缩1.1 说明关于Oracle临时表空间,之前有整理过一篇Blog:以下操作会占用大量的temporary:1、用户执行imp/exp 导入导出操作时,会使用大量的temporary段2、用户在rebuild index时3、执行create ...
  • 1. 查看所有表空间大小selecttablespace_name,sum(bytes)/1024/1024fromdba_data_filesgroupbytablespace_name;2. 未使用的表空间大小selecttablespace_name,sum(bytes)/1024/1024fromdba_free_...
  • 解决oracle临时表空间的报错

    千次阅读 2021-05-02 00:49:42
    报错信息:[HY000](1652) [Oracle][ODBC][Ora]ORA-01652:无法通过128 (在表空间TEMP中)扩展temp段原因分析:oracle临时表空间不足,事务执行一般将会报ora-01652无法扩展临时段的错误。因为oracle总是尽量分配连续...
  • 临时表空间作用Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间消耗的主要原因是需要对查询的中间结果进行排序。重启数据库可以释放临时表空间,如果不能重启实例,而一直保持问题sql语句的执行,...
  • 背景:当通过ORACLE中的create table ... as select 语句创建...这个错误信息暗示表空间大小不够,需要为表空间增加数据文件。分析:1.查询表空间剩余字节大小SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024 AS "F...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,317
精华内容 16,126
关键字:

oracle增加临时表空间