最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle臨時表空間管理和優(yōu)化操作

 更新時間:2024年07月11日 09:36:06   作者:V1ncent Chen  
Oracle臨時表空間(Temporary Tablespace)主要用來存儲數(shù)據(jù)庫運行中產生的臨時對象,例如SQL排序結果集,臨時表等,這些對象的生存周期只有會話,本文總結了Oralce中涉及臨時表空間的管理和優(yōu)化操作,需要的朋友可以參考下

一、臨時表空間簡介

在執(zhí)行SQL時,經常會遇到排序操作,當結果集無法放在內存中時,Oracle就會使用臨時表空間來排序。臨時表空間中不能創(chuàng)建持久性對象,用戶唯一能創(chuàng)建的就是臨時表,而且隨著用戶會話退出,臨時表也會被刪除。

當Oracle安裝完成時,默認就已經創(chuàng)建了1個臨時表空間TEMP,且所有未顯式指定使用其他臨時表空間的用戶,都會使用這個臨時表空間,使用下面的SQL可以查詢數(shù)據(jù)庫的默認臨時表空間:

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

在這里插入圖片描述

臨時表空間的底層使用的是臨時文件(tempfile),通常采用本地管理策略(Locally Management),臨時表空間不會生成redo日志,根據(jù)其服務的實例數(shù)量還可以分為:

  • 本地臨時表空間,通常保存在本地磁盤,只能給一個實例訪問
  • 共享臨時表空間:通常保存在共享存儲上,可以被多個實例同時訪問

二、臨時表空間管理

雖然Oracle初始已經建立了一個臨時表空間,但用戶也可以根據(jù)自身需求對臨時表空間進行定制。

2.1 創(chuàng)建臨時表空間

使用create temporary tablespace語句創(chuàng)建臨時表空間,語法和創(chuàng)建普通表空間類似,不同點在于其需要指定temporary和tempfile關鍵字。

示例:創(chuàng)建一個臨時表空間temptbs01,文件大小20M,reuse關鍵字指示如果文件已存在則重用:

create temporary tablespace temptbs01 
tempfile '/u01/app/oracle/oradata/PROD/temptbs01.dbf' size 20m reuse;

在這里插入圖片描述

如果開啟了OMF特性,可以不指定文件屬性,只提供表空間名稱即可:

create temporary tablespace temptbs02;

在這里插入圖片描述

創(chuàng)建好的臨時表空間及其臨時文件信息可以通過dba_temp_files查看:

select tablespace_name, file_name,status, autoextensible from dba_temp_files;

在這里插入圖片描述

2.2 修改臨時表空間

可以用alter tablespace語句修改表空間屬性,例如添加,刪除臨時文件,修改在線/離線狀態(tài),調整臨時文件大小等。

示例:為temptbs01添加一個數(shù)據(jù)文件,大小10M,自動擴展:

alter tablespace temptbs01 
add tempfile '/u01/app/oracle/oradata/PROD/temptbs01_2.dbf' size 10M 
autoextend on next 10m; 

在這里插入圖片描述

示例:將上面添加的數(shù)據(jù)文件刪除:

alter tablespace temptbs01 
drop tempfile '/u01/app/oracle/oradata/PROD/temptbs01_2.dbf';

在這里插入圖片描述

示例:修改temptbs01臨時文件的在線/離線狀態(tài)(不能修改臨時表空間的在線/離線狀態(tài)):

alter database tempfile '/u01/app/oracle/oradata/PROD/temptbs01.dbf' offline;
alter database tempfile '/u01/app/oracle/oradata/PROD/temptbs01.dbf' online;

在這里插入圖片描述

示例:修改臨時文件的大小,將temptbs01的臨時文件修改為30m:

alter database tempfile '/u01/app/oracle/oradata/PROD/temptbs01.dbf' resize 30m;

在這里插入圖片描述

2.3 查看空間使用情況

查詢dba_temp_free_space視圖可以查看當前臨時表空間的使用情況,free_space字段指示了可用空間:

select * from dba_temp_free_space;

在這里插入圖片描述

2.4 收縮臨時表空間

對于文件可以自動擴展的臨時表空間,當空間不夠時,Oracle會自動擴展文件大小,一個很大的任務,就可以導致臨時表空間消耗很多磁盤。如果日常用不到這么大的表空間,可以手動收縮以回收磁盤空間。

回收表空間是一個在線操作,正在使用的會話可以正常分配空間,不受影響。

示例:用alter tablespace … shrink space …; 可以回收可用空間,keep子句指示盡量收縮到25m:

alter tablespace temptbs01 shrink space keep 25m;

在這里插入圖片描述

或:用alter tablespace … shrink tempfile …; 指定收縮某個臨時文件:

alter tablespace temptbs01 shrink tempfile '/u01/app/oracle/oradata/PROD/temptbs01.dbf' keep 20m;

在這里插入圖片描述

2.5 刪除臨時表空間

使用alter tablespace … drop…;語句可以刪除臨時表空間,你可以選擇是否保留臨時文件,如果保留臨時文件,下次再次指定同名文件時需要用reuse關鍵字重用文件。

示例:刪除臨時表空間temptbs01及其臨時文件,省略including contents and datafiles子句則會保留臨時文件:

drop tablespace temptbs01 including contents and datafiles;

在這里插入圖片描述

三、使用臨時表空間組

臨時表空間組是一個邏輯概念,它由1或多個臨時表空間組成,可以作為一個整體分配給數(shù)據(jù)庫或用戶使用。在高并發(fā)環(huán)境,多個臨時表空間可以更好的減少爭用現(xiàn)象,并且Oracle的并行執(zhí)行特性也可以利用多個臨時表空間提升執(zhí)行性能。

臨時表空間組不需要顯式創(chuàng)建,只需要使用alter tablespace … tablespace group …; 將某個臨時表空間加入組即可(創(chuàng)建表空間時也可加入)。

第一步,將temptbs01加入組group1,這會隱式創(chuàng)建group1:

alter tablespace temptbs01 tablespace group group1;

在這里插入圖片描述

第二步(可選),可以繼續(xù)將其他臨時表空間加入組,組成員的數(shù)量沒有限制:

alter tablespace temptbs02 tablespace group group1;

在這里插入圖片描述

通過dba_tablespace_groups可以看到目前group1中已經有2個表空間:

select * from dba_tablespace_groups;

在這里插入圖片描述

第三步:將組指定為數(shù)據(jù)庫默認臨時表空間(alter database)或指定給用戶(alter user):

alter database default temporary tablespace group1;
alter user hr temporary tablespace group1;

在這里插入圖片描述

使用alter database指定空的組名可以將臨時表空間移出組,當最后一個表空間移出組時,組自動刪除(先取消引用):

alter tablespace temptbs01 tablespace group '';

在這里插入圖片描述

以上就是Oracle臨時表空間管理和優(yōu)化操作的詳細內容,更多關于Oracle臨時表空間的資料請關注腳本之家其它相關文章!

相關文章

  • Oracle 中 decode 函數(shù)用法

    Oracle 中 decode 函數(shù)用法

    這篇文章主要介紹了Oracle 中 decode 函數(shù)用法的相關資料,需要的朋友可以參考下
    2017-10-10
  • 獲取Oracle表大小的三種方法

    獲取Oracle表大小的三種方法

    在 Oracle 數(shù)據(jù)庫中,獲取表的大小可以通過查詢數(shù)據(jù)字典視圖 DBA_SEGMENTS、USER_SEGMENTS 或 ALL_SEGMENTS,具體取決于你的權限范圍和需求,本文通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2025-04-04
  • 解決PL/SQL修改Oracle存儲過程編譯就卡死的問題

    解決PL/SQL修改Oracle存儲過程編譯就卡死的問題

    這篇文章主要介紹了PL/SQL修改Oracle存儲過程編譯就卡死,本文給大家分享問題原因及解決方法,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • oracle 更改數(shù)據(jù)庫名的方法

    oracle 更改數(shù)據(jù)庫名的方法

    這兩天一朋友問如何更改數(shù)據(jù)庫名,于是做個測試,簡單記錄下,以便說明問題。
    2009-10-10
  • Oracle過程與函數(shù)的區(qū)別分析

    Oracle過程與函數(shù)的區(qū)別分析

    在Oracle數(shù)據(jù)庫中,過程和函數(shù)都以編譯后的形式存放在數(shù)據(jù)庫中,二者的主要區(qū)別在于他們的調用方式,下文對二者的區(qū)別作了詳盡的描述,供您參考
    2014-08-08
  • 通過PLSQL Developer創(chuàng)建Database link,DBMS_Job,Procedure,實現(xiàn)Oracle跨庫傳輸數(shù)據(jù)的方法(推薦)

    通過PLSQL Developer創(chuàng)建Database link,DBMS_Job,Procedure,實現(xiàn)Oracle

    這篇文章主要介紹了通過PLSQL Developer創(chuàng)建Database link,DBMS_Job,Procedure,實現(xiàn)Oracle跨庫傳輸數(shù)據(jù),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • oracle表空間不足ORA-01653的問題:?unable?to?extend?table

    oracle表空間不足ORA-01653的問題:?unable?to?extend?table

    這篇文章主要介紹了oracle表空間不足ORA-01653:?unable?to?extend?table的問題?,出現(xiàn)這種表空間不足的問題一般有兩種情況:一種是表空間的自動擴展功能沒有打開,另一種確實是表空間確實不夠用了,已經達到了擴展的極限,本文給大家分享解決方法,需要的朋友參考下
    2022-08-08
  • oracle數(shù)據(jù)庫慢查詢SQL實例詳解

    oracle數(shù)據(jù)庫慢查詢SQL實例詳解

    一般的業(yè)務系統(tǒng)如果遇到性能問題,絕大部分都是來自數(shù)據(jù)庫的,有的業(yè)務一個查詢執(zhí)行時間好幾秒,這就是我們說說的SQL慢查詢,這篇文章主要給大家介紹了關于oracle數(shù)據(jù)庫慢查詢SQL的相關資料,需要的朋友可以參考下
    2024-06-06
  • Oracle11g audit審計配置全過程

    Oracle11g audit審計配置全過程

    Oracle審計功能是數(shù)據(jù)庫安全管理的重要組成部分,能夠幫助管理員監(jiān)控和記錄數(shù)據(jù)庫操作,確保安全和合規(guī),審計分為標準審計、細粒度審計和統(tǒng)一審計等類型,可通過設置AUDIT_TRAIL參數(shù)和相關命令開啟和配置,同時,審計記錄需要定期查看和清理,以維護系統(tǒng)性能和存儲空間
    2024-10-10
  • oracle em 按鈕亂碼解決辦法及em網頁變成英文

    oracle em 按鈕亂碼解決辦法及em網頁變成英文

    oracle em 按鈕亂碼,該問題很是麻煩啊,不過本文介紹了一些解決方法,有需要的你可千萬不要錯過啊,好了,話不多說切入主題
    2013-01-01

最新評論

定陶县| 新闻| 施甸县| 乡宁县| 蒲江县| 定日县| 德庆县| 常熟市| 信阳市| 驻马店市| 通许县| 琼结县| 司法| 济源市| 旺苍县| 监利县| 温州市| 九龙城区| 吉林省| 霍山县| 安徽省| 盐山县| 化州市| 琼海市| 徐闻县| 拜泉县| 尚志市| 新乡市| 怀远县| 栾城县| 德兴市| 璧山县| 屯昌县| 运城市| 靖西县| 农安县| 沁源县| 永吉县| 云霄县| 洪江市| 陇南市|