1. <var id="fe6gj"></var>

    <rp id="fe6gj"><nav id="fe6gj"></nav></rp>

    <noframes id="fe6gj"><cite id="fe6gj"></cite>

    <ins id="fe6gj"><button id="fe6gj"><p id="fe6gj"></p></button></ins>
    1. <tt id="fe6gj"><i id="fe6gj"><sub id="fe6gj"></sub></i></tt>
        始創于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        Oracle中臨時表空間作用

        發布時間:  2012/8/30 17:22:42
        Oracle臨時表空間主要用來做查詢和存放一些緩沖區數據。臨時表空間消耗的主要原因是需要對查詢的中間結果進行排序。重啟數據庫可以釋放臨時表空間,如果不能重啟實例,而一直保持問題sql語句的執行,temp表空間會一直增長
        Oracle臨時表空間主要用來做查詢和存放一些緩沖區數據。臨時表空間消耗的主要原因是需要對查詢的中間結果進行排序。
        -
         
        重啟數據庫可以釋放臨時表空間,如果不能重啟實例,而一直保持問題sql語句的執行,temp表空間會一直增長。直到耗盡硬盤空間。
        網上有人猜測在磁盤空間的分配上,oracle使用的是貪心算法,如果上次磁盤空間消耗達到1GB,那么臨時表空間就是1GB。也就是說當前臨時表空間文件的大小是歷史上使用臨時表空間最大的大小。
        臨時表空間的主要作用:
        索引create或rebuild
        Order by 或 group by
        Distinct 操作
        Union 或 intersect 或 minus
        Sort-merge joins
        analyze
        查看臨時表空間大小
        查看臨時表文件大小和已使用空間
        select t1."Tablespace" "Tablespace",
        t1."Total (G)" "Total (G)",
        nvl(t2."Used (G)", 0) "Used(G)",
        t1."Total (G)" - nvl(t2."Used (G)", 0) "Free (G)"
        from
        (
        select tablespace_name "Tablespace", to_char((sum(bytes/1024/1024/1024)),'99,999,990.900') "Total (G)"
        from dba_temp_files
        groupby tablespace_name
        union
        select tablespace_name "Tablespace", to_char((sum(bytes/1024/1024/1024)),'99,999,990.900') "Total (G)"
        from dba_data_files
        where tablespace_name like'TEMP%'
        groupby tablespace_name
        ) t1,
        (
        selecttablespace, round(sum(blocks)*8/1024) "Used (G)" from v$sort_usage
        groupbytablespace
        ) t2
        where t1."Tablespace"=t2.tablespace(+)
        查看當前臨死表使用空間大小與正在占用臨時表空間的sql語句
        select sess.SID, segtype, blocks*8/1000 "MB" ,sql_text
        from v$sort_usage sort, v$session sess,v$sql sql
        wheresort.SESSION_ADDR = sess.SADDR
        andsql.ADDRESS = sess.SQL_ADDRESS
        orderby blocks desc;
        select'the ' || name || ' temp tablespaces ' || tablespace_name ||
               ' idle ' ||
               round(100 - (s.tot_used_blocks / s.total_blocks) * 100, 3) ||
               '% at ' || to_char(sysdate, 'yyyymmddhh24miss')
        from (select d.tablespace_name tablespace_name,
                       nvl(sum(used_blocks), 0) tot_used_blocks,
                       sum(blocks) total_blocks
                  from v$sort_segment v, dba_temp_files d
                 where d.tablespace_name = v.tablespace_name(+)
                 groupby d.tablespace_name) s,
               v$database;
        修改臨時文件大小
        select'ALTER database TEMPFILE ' || file_name || ' resize 100M ;'
        from dba_temp_files
        where tablespace_name = 'ONLYDWTEMP';
        ALTER database TEMPFILE '/oradata/ONLYDWTEMP06.dbf' resize 100M ;
        ALTER database TEMPFILE '/oradata/ONLYDWTEMP07.dbf' resize 100M ;
        ALTER database TEMPFILE '/oradata/ONLYDWTEMP08.dbf' resize 100M ;
        ALTER database TEMPFILE '/oradata/ONLYDWTEMP09.dbf' resize 100M ;
        ALTER database TEMPFILE '/oradata/ONLYDWTEMP10.dbf' resize 100M ;
        ALTER database TEMPFILE '/oradata/ONLYDWTEMP01.dbf' resize 100M ;
        ALTER database TEMPFILE '/oradata/ONLYDWTEMP02.dbf' resize 100M ;
        ALTER database TEMPFILE '/oradata/ONLYDWTEMP03.dbf' resize 100M ;
        ALTER database TEMPFILE '/oradata/ONLYDWTEMP04.dbf' resize 100M ;
        ALTER database TEMPFILE '/oradata/ONLYDWTEMP05.dbf' resize 100M ;
        SQL> ALTER database TEMPFILE '/oradata/ONLYDWTEMP09.dbf' resize 100M ;
        ALTER database TEMPFILE '/oradata/ONLYDWTEMP09.dbf' resize 100M
        ORA-03297: file contains used data beyond requested RESIZE value
        創建新的臨時表空間
        SQL> create temporary tablespace TEMP1 TEMPFILE '/oradata/TEMP1_01.dbf' size 100M;
        Tablespace created
        SQL> create temporary tablespace TEMP2 TEMPFILE '/oradata/TEMP2_01.dbf' size 100M;
        Tablespace created
        將當前臨時表空間指定為新的臨時表空間
        SQL> alter database default temporary tablespace TEMP1;
        Database altered

        本文出自:億恩科技【www.endtimedelusion.com】

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

      1. 您可能在找
      2. 億恩北京公司:
      3. 經營性ICP/ISP證:京B2-20150015
      4. 億恩鄭州公司:
      5. 經營性ICP/ISP/IDC證:豫B1.B2-20060070
      6. 億恩南昌公司:
      7. 經營性ICP/ISP證:贛B2-20080012
      8. 服務器/云主機 24小時售后服務電話:0371-60135900
      9. 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
      10. 專注服務器托管17年
        掃掃關注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
          0
         
         
         
         

        0371-60135900
        7*24小時客服服務熱線

         
         
        av不卡不卡在线观看_最近2018年中文字幕_亚洲欧美一区二区三区_一级A爱做片免费观看国产_日韩在线中文天天更新_伊人中文无码在线