亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle Temp表空間切換方法是什么

發布時間:2021-11-09 14:43:27 來源:億速云 閱讀:353 作者:iii 欄目:關系型數據庫

這篇文章主要介紹“Oracle Temp表空間切換方法是什么”,在日常操作中,相信很多人在Oracle Temp表空間切換方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Oracle Temp表空間切換方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

一.TEMP表空間作用

 臨時表空間主要用途是在數據庫進行排序運算、管理索引、訪問視圖等操作時提供臨時的運算空間,當運算完成之后系統會自動清理。當 oracle 里需要用到 sort 的時候, PGA 中 sort_area_size 大小不夠時,將會把數據放入臨時表空間里進行排序,同時如果有異常情況的話,也會被放入臨時表空間 , 正常來說,在完成 Select 語句、create index 等一些使用 TEMP 表空間的排序操作后, Oracle 是會自動釋放掉臨時段的。注意這里的釋放,僅僅是將這些空間標記為空閑,并可重用,真正占用的磁盤空間并沒有釋放。所以 Temp 表空間可能會越來越大。

排序是很耗資源的, Temp 表空間滿了 , 關鍵是優化你的語句,盡量使排序減少才是上策 .

總結為:

臨時表空間的主要作用:
  索引create或rebuild;
  Order by 或 group by;
  Distinct 操作;
  Union 或 intersect 或 minus;
  Sort-merge joins;
  analyze.

二、oracle temp表空間切換

2.1 查詢TEMP表空間使用情況:

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
            FROM GV$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; 數據庫默認表空間:

SQL> SELECT PROPERTY_NAME, PROPERTY_VALUE
  2    FROM DATABASE_PROPERTIES
  3   WHERE PROPERTY_NAME = 'DEFAULT_TEMP_TABLESPACE';

2.2 新建Temp2表空間

create temporary tablespace temp1 tempfile   'D:\APP\ADMINISTRATOR\ORADATA\SDXJ\TEMP2.dbf' size 20M autoextend on next 1M maxsize unlimited
tablespace group ''
extent management local uniform size 1M;

2.3 修改數據庫默認表空間為Temp1

SQL> alter database default temporary tablespace temp1;
  數據庫已更改。

2.4 刪除原來表空間

退出session,刪除原表空間

DROP TABLESPACE TEMP INCLUDING CONTENTS AND DATAFILES;

刪除完成。

三、Temp 表空間一些常用查詢

3.1、更改系統的默認臨時表空間:
      --查詢默認臨時表空間
    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;

3.2 查找消耗資源比較的sql語句
/* Formatted on 2015/7/14 21:58:17 (QP5 v5.163.1008.3004) */
  SELECT se.username,
         se.sid,
         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

3.3、查看當前臨時表空間使用大小與正在占用臨時表空間的sql語句
select sess.SID, segtype, blocks * 8 / 1000 "MB", sql_text
  from v$sort_usage sort, v$session sess, v$sql sql
 where sort.SESSION_ADDR = sess.SADDR
   and sql.ADDRESS = sess.SQL_ADDRESS
 order by blocks desc;

4.4 對臨時表空間進行shrink(11g新增的功能)
--將temp表空間收縮為20M
alter tablespace temp1 shrink space keep 20M;
--自動將表空間的臨時文件縮小到最小可能的大小
ALTER TABLESPACE temp1 SHRINK TEMPFILE ’.../temp01.dbf’

到此,關于“Oracle Temp表空間切換方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西林县| 五大连池市| 正安县| 绩溪县| 济阳县| 大悟县| 康定县| 扶风县| 锡林郭勒盟| 玛纳斯县| 出国| 图木舒克市| 奈曼旗| 高淳县| 房山区| 册亨县| 临汾市| 革吉县| 大悟县| 德令哈市| 专栏| 铜鼓县| 岳池县| 潜山县| 微山县| 洱源县| 山阳县| 林西县| 苏尼特右旗| 兴国县| 江油市| 沙坪坝区| 区。| 衡山县| 江西省| 偃师市| 胶州市| 乌拉特前旗| 太和县| 无锡市| 五家渠市|