精华内容
下载资源
问答
  • 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临时表空间扩容

    千次阅读 2021-05-07 07:36:05
    查看临时表空间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 ...

    查看临时表空间

    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‘;

    5fdfd7b7562f0383d35f9e36d2e92c65.png

    2.

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

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

    原文:https://www.cnblogs.com/liqing1009/p/14478398.html

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

    千次阅读 2021-05-02 10:14:24
    详情:解决Oracle临时表空间过大有两种方法,方法一增加临时表空间的大小,方法二重建临时表空间,解决临时表空间过大的问题。方案一:增加临时表空间的大小--1.临时表空间的使用情况SELECT D.tablespace_name,SPACE...

    详情:

    解决Oracle临时表空间过大有两种方法,方法一增加临时表空间的大小,方法二重建临时表空间,解决临时表空间过大的问题。

    方案一:增加临时表空间的大小

    --1.临时表空间的使用情况

    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(%)",

    SPACE - used_space "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,

    Round(SUM(blocks * 8192) / (1024 * 1024), 2) USED_SPACE

    FROM v$sort_usage

    GROUP BY tablespace) F

    WHERE D.tablespace_name = F.tablespace(+)

    AND D.tablespace_name like 'TEMP%';

    --查看临时表空间的总大小和最大扩展大小(能看到数据文件)

    select file_name,

    tablespace_name,

    bytes / 1024 / 1024 MB,

    autoextensible,

    maxbytes / 1024 / 1024 MAX_MB

    from dba_temp_files;

    --增加临时表空间的大小

    alter tablespace temp1 add tempfile '/data/prod/proddata/temp013.dbf' size 4G;

    alter tablespace temp2 add tempfile '/data/prod/proddata/temp024.dbf' size 4G;

    --方案二:重建临时表空间,解决临时表空间过大的问题。

    --0.查看目前默认的临时表空间

    select *

    from database_properties

    where property_name = 'DEFAULT_TEMP_TABLESPACE';

    --1.创建中转临时表空间

    create temporary tablespace temp3 tempfile '/data/prod/proddata/temp31.dbf' size 4G tablespace group temp;

    create temporary tablespace temp4 tempfile '/data/prod/proddata/temp41.dbf' size 4G tablespace group temp;

    --2.删除原临时表空间组中的临时表空间

    --2.1从默认临时表空间组temp中移除temp1和temp2;

    ALTER TABLESPACE temp1 TABLESPACE GROUP '';

    ALTER TABLESPACE temp2 TABLESPACE GROUP '';

    --2.2删除临时表空间temp1和temp2

    drop tablespace temp1 including contents and datafiles;

    drop tablespace temp2 including contents and datafiles;

    --2.3如果删除表空间的时候,hang住的话,可以使用下列语句,先把运行在temp临时表空间的sql语句kill掉,这样的sql语句多为排序的语句

    Select se.username,

    se.sid,

    se.serial#,

    su.extents,

    su.blocks * to_number(rtrim(p.value)) as Space,

    tablespace,

    segtype,

    sql_text

    from v$sort_usage su, v$parameter p, v$session se, v$sql s

    where p.name = 'db_block_size'

    and su.session_addr = se.saddr

    and s.hash_value = su.sqlhash

    and s.address = su.sqladdr

    order by se.username, se.sid;

    --2.4 kill相关进程

    alter system kill session '584,23181';

    alter system kill session '196,64972';

    alter system kill session '262,19832';

    alter system kill session '324,40273';

    alter system kill session '326,38967';

    alter system kill session '1266,54596';

    or

    --重启DB

    --关闭应用-->关闭监听-->shutdown immediate

    --startup-->启动监听-->执行以下操作后打开应用

    --2.5 创建临时表空间,并加入临时表空间组temp

    create temporary tablespace temp1 tempfile '/data/prod/proddata/temp11.dbf' size 4G tablespace group temp;

    create temporary tablespace temp2 tempfile '/data/prod/proddata/temp21.dbf' size 4G tablespace group temp;

    --2.6 给临时表空间组temp的成员temp1,temp2,temp3,temp4 各增加一个成员。

    alter tablespace temp1 add tempfile '/data/prod/proddata/temp12.dbf' size 4G;

    alter tablespace temp2 add tempfile '/data/prod/proddata/temp22.dbf' size 4G;

    alter tablespace temp3 add tempfile '/data/prod/proddata/temp32.dbf' size 4G;

    alter tablespace temp4 add tempfile '/data/prod/proddata/temp42.dbf' size 4G;

    --2.7查看临时表空间组temp

    select * from dba_tablespace_groups;

    --3 临时表空间组仍然使用99.98%,

    --3.1为每个临时表空间添加4G空间

    alter tablespace temp1 add tempfile '/data/prod/proddata/temp13.dbf' size 4G;

    alter tablespace temp2 add tempfile '/data/prod/proddata/temp23.dbf' size 4G;

    alter tablespace temp3 add tempfile '/data/prod/proddata/temp33.dbf' size 4G;

    alter tablespace temp4 add tempfile '/data/prod/proddata/temp43.dbf' size 4G;

    展开全文
  • oracle数据库临时表空间扩容

    这段时间发现生产环境数据库查询变得异常慢,即使是只有两条数据的表查询也要花6s!!

    推测是最近测试系统功能,点开了一张以前没有点开过的表,表里390w+数据,造成临时表空间爆了。

    查看表空间使用率

    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;

    查看临时表空间的数据文件及存放路径

    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';

    发现只有29M(图片是扩大后的)

    执行sql扩大到4G

     alter database tempfile 'FILE_NAME' resize 4G;

    速度显著提升!

    但没过十分钟,又开始卡起来,但这次不是数据库卡了

    检查了系统进程和内存占用也没到60%

    jvisualvm显示线程内存占用也不高

    测速网测试延迟也只有20ms,上下都有500+mbps

    实在找不到原因了

    求知道的大神提供一点思路

     

    展开全文
  • Oracle临时表空间作用

    2022-08-05 00:22:47
    关于临时表空间,之前已经聊了一些了,《Oracle中对临时表空间执行shrink操作》《Oracle一个诡异的临时表空间不足的问题》借鉴老杨的这篇文章《聊一聊Oracle临时表空间》,了解一下临时表空间究竟是做什么的。...
  • oracle修改临时表空间

    2021-05-01 10:22:34
    1652: unable to extend temp segment by 128 in tablespace TEMP Thu Nov 03 13:17:07 2011 一看就是临时表空间满了,所以准备扩展临时表空间 先查看下默认的临时表空间是哪个 select * from database_properties ...
  • Oracle查询临时表空间的占用

    千次阅读 2021-05-07 09:51:26
    可以使用以下语句查询是哪个session number的哪个sql占用了较大的临时表空间select inst_id,username,session_num,sql_id,tablespace,segtype,sum(blocks)*8/1024/1024 size_in_gb from gV$TEMPSEG_USAGE group by ...
  • oracle.sysman.emSDK.admObj.AdminObjectException:java.sql.SQLException: ORA-01652: unable to extend temp segment by128 in tablespace TEMPTS1如果临时表空间没有设置为自动扩展,则临时表空间不够时事务执行...
  • 解决oracle临时表空间的报错

    千次阅读 2021-05-02 00:49:42
    报错信息:[HY000](1652) [Oracle][ODBC][Ora]ORA-01652:无法通过128 (在表空间TEMP中)扩展temp段原因分析:oracle临时表空间不足,事务执行一般将会报ora-01652无法扩展临时段的错误。因为oracle总是尽量分配连续...
  • 增加自动扩展临时表空间及改变默认表空间1、查看临时表空间的大小SQL> l1 select a.name "tablespace",b.name "name",b.bytes/1024/1024 "MB"2 from v$tablespace a,v$tempfile b3* where a.ts#=b.ts#SQL> /...
  • ORACLE数据库临时表空间不足通用解决方案原因分析:1.ORACLE临时表空间是由oracle数据库定时对表空间进行释放,但也会出现表空间释放不及时的现象。这属于oracle问题,无参数进行配置来解决,只能通过重定向临时表...
  • Oracle临时表空间

    2021-05-01 08:02:48
    Oracle临时表空间通过Oracle表空间的讲解,我们了解到表空间是Oracle数据库存储数据和对象的逻辑容器,那临时表空间呢?Oracle临时表空间主要是存储数据库的排序操作、临时表、中间排序结果等临时对象。例如,我们...
  • Oracle 临时表空间 SQL语句

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

    千次阅读 2021-05-07 01:25:01
    1、查看临时表空间 (dba_temp_files视图)(v_$tempfile视图)select tablespace_name,file_name,bytes/1024/1024 file_size,au1、查看临时表空间 (dba_temp_files视图)(v_$tempfile视图)select tablespace_name,file_...
  • 通常在设计Oracle用户时我会选择为该用户创建一个单独的表空间和一个临时表空间,比如:create tablespace sales_tbs datafile通常在设计Oracle用户时我会选择为该用户创建一个单独的表空间和一个临时表空间,比如:...
  • oracle临时表空间释放

    千次阅读 2022-02-18 11:28:46
    oracle数据库出现 ora-01652 temp表空间无法扩展时,可以通过 select c.tablespace_name, c.bytes/1024/1024/1024 total_bytes, (c.bytes-d.bytes_used)/1024/1024/1024 free_bytes, d.bytes_used/1024/1024/1024 ...
  • ORACLE临时表空间总结

    千次阅读 2021-06-28 11:08:42
    临时表空间用来管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT的时候,并且当PGA中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序。像数据库中一些操作: ...
  • --创建临时表空间 create temporary tablespace wdy_temp tempfile 'D:\oracle\app\oracle\oradata\XE\wdy_temp.DBF' size 50m autoextend on next 50m maxsize unlimited extent management local; --修改默认表...
  • 1、查看临时表空间 (dba_temp_files视图)(v_$tempfile视图) select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files; select status,enabled, name, bytes/1024/1024 ...
  • 表空间是数据库最大的逻辑存储结构,包含了表段、索引段、临时段等,在物理层面是有数据文件组成。 二、创建表空间 1.默认表空间 oracle默认至少创建两个表空间:SYSTEM和SYSAUX。SYSTEM表空间存储oracle系统的数据...
  • 扩展临时表空间

    千次阅读 2021-06-15 14:45:00
    扩展临时表空间: 查看表空间: select tablespace_name,file_name,bytes/1024/1024file_size,autoextensible from dba_temp_files; select status,enabled, name, bytes/1024/1024 file_size from v_$tempfile;--...
  • 进行oracle程序性能优化时,还要注意undo空间和临时表空间的使用率,如果过高的话,也会导致程序运行缓慢。一般使用率至少需要小于80%。程序运行中报错:ORA-01652:无法通过128(在表空间TEMP中)扩展temp段。数据库...
  • 重建及切换临时表空间

    千次阅读 2021-05-03 10:27:56
    來源網絡1、查看临时表空间(dba_temp_files视图)(v_$tempfile视图)select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;select status,enabled, name, bytes/1024/1024...
  • 1. 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....
  • 临时表空间作用Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间消耗的主要原因是需要对查询的中间结果进行排序。重启数据库可以释放临时表空间,如果不能重启实例,而一直保持问题sql语句的执行,...
  • oracle扩展表空间以及清空临时表

    千次阅读 2016-06-30 17:28:17
    一、Oracle扩展表空间 *********************************查询表空间大小(单位G)****************************************** SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024 * 1024)), 0) ts...
  • oracle临时表用法总结oracle 临时表原理、作用、语法、例子oracle临时表在应用系统中有很大作用,他可以让用户只操作自己的数据而不相互干扰。不用担心破坏或影响其他SESSION或TRANSACTION的数据。也是数据安全的...
  • Oracle10g自带的企业管理器或PL/SQL图形化的方法创建表空间和用户以及分配权限是相对比较简单的,本文要介绍的是另一种方法,使用Oracle 9i所带的命令行工具:SQLPLUS 来创建表空间,这个方法用起来更加简明快捷。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,942
精华内容 10,776
关键字:

oracle扩展临时表空间