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

Oracle 臨時(shí)表空間SQL語(yǔ)句的實(shí)現(xiàn)

 更新時(shí)間:2021年09月24日 10:50:43   作者:Lucifer三思而后行  
臨時(shí)表空間用來(lái)管理數(shù)據(jù)庫(kù)排序操作以及用于存儲(chǔ)臨時(shí)表、中間排序結(jié)果等臨時(shí)對(duì)象,本文主要介紹了Oracle 臨時(shí)表空間SQL語(yǔ)句的實(shí)現(xiàn),感興趣的可以了解一下

臨時(shí)表空間概念

臨時(shí)表空間用來(lái)管理數(shù)據(jù)庫(kù)排序操作以及用于存儲(chǔ)臨時(shí)表、中間排序結(jié)果等臨時(shí)對(duì)象,當(dāng)ORACLE里需要用到SORT的時(shí)候,并且當(dāng)PGA中sort_area_size大小不夠時(shí),將會(huì)把數(shù)據(jù)放入臨時(shí)表空間里進(jìn)行排序。像數(shù)據(jù)庫(kù)中一些操作: CREATE INDEX、 ANALYZE、SELECT DISTINCT、ORDER BY、GROUP BY、 UNION ALL、 INTERSECT、MINUS、SORT-MERGE JOINS、HASH JOIN等都可能會(huì)用到臨時(shí)表空間。當(dāng)操作完成后,系統(tǒng)會(huì)自動(dòng)清理臨時(shí)表空間中的臨時(shí)對(duì)象,自動(dòng)釋放臨時(shí)段。這里的釋放只是標(biāo)記為空閑、可以重用,其實(shí)實(shí)質(zhì)占用的磁盤(pán)空間并沒(méi)有真正釋放。這也是臨時(shí)表空間有時(shí)會(huì)不斷增大的原因。

臨時(shí)表空間存儲(chǔ)大規(guī)模排序操作(小規(guī)模排序操作會(huì)直接在RAM里完成,大規(guī)模排序才需要磁盤(pán)排序Disk Sort)和散列操作的中間結(jié)果.它跟永久表空間不同的地方在于它由臨時(shí)數(shù)據(jù)文件(temporary files)組成的,而不是永久數(shù)據(jù)文件(datafiles)。臨時(shí)表空間不會(huì)存儲(chǔ)永久類(lèi)型的對(duì)象,所以它不會(huì)也不需要備份。另外,對(duì)臨時(shí)數(shù)據(jù)文件的操作不產(chǎn)生redo日志,不過(guò)會(huì)生成undo日志。

創(chuàng)建臨時(shí)表空間或臨時(shí)表空間添加臨時(shí)數(shù)據(jù)文件時(shí),即使臨時(shí)數(shù)據(jù)文件很大,添加過(guò)程也相當(dāng)快。這是因?yàn)镺RACLE的臨時(shí)數(shù)據(jù)文件是一類(lèi)特殊的數(shù)據(jù)文件:稀疏文件(Sparse File),當(dāng)臨時(shí)表空間文件創(chuàng)建時(shí),它只會(huì)寫(xiě)入文件頭部和最后塊信息(only writes to the header and last block of the file)。它的空間是延后分配的.這就是你創(chuàng)建臨時(shí)表空間或給臨時(shí)表空間添加數(shù)據(jù)文件飛快的原因。

另外,臨時(shí)表空間是NOLOGGING模式以及它不保存永久類(lèi)型對(duì)象,因此即使數(shù)據(jù)庫(kù)損毀,做Recovery也不需要恢復(fù)Temporary Tablespace。

以下總結(jié)了關(guān)于 Oracle 數(shù)據(jù)庫(kù)臨時(shí)表空間的相關(guān) SQL 語(yǔ)句:

Oracle 臨時(shí)表空間創(chuàng)建和添加數(shù)據(jù)文件:

--創(chuàng)建臨時(shí)表空間 tempdata
create temporary tablespace tempdata tempfile '/oradata/orcl/tempdata01.dbf' size 30g autoextend off;
--新增臨時(shí)表空間數(shù)據(jù)文件
alter tablespace tempdata add tempfile '/oradata/orcl/tempdata02.dbf' size 30g autoextend off;
--刪除臨時(shí)表空間數(shù)據(jù)文件
alter tablespace tempdata drop tempfile '/oradata/orcl/tempdata02.dbf' including datafiles;
--調(diào)整臨時(shí)表空間數(shù)據(jù)文件大小
alter database tempfile '/oradata/orcl/tempdata01.dbf' resize 2G;
--設(shè)置自動(dòng)擴(kuò)展
alter database tempfile '/oradata/orcl/tempdata01.dbf' autoextend on;
--切換默認(rèn)臨時(shí)表空間
alter database default temporary tablespace tempdata;
--刪除臨時(shí)表空間
drop tablespace temp including contents and datafiles cascade constraints;
--收縮臨時(shí)表空間
alter tablespace temp shrink space keep 8G;
alter tablespace temp shrink tempfile '/oradata/orcl/tempdata01.dbf';

查看當(dāng)前默認(rèn)臨時(shí)表空間:

SELECT PROPERTY_NAME, PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE';

查詢temp表空間使用率:

select  df.tablespace_name "Tablespace",
       df.totalspace "Total(MB)",
       nvl(FS.UsedSpace, 0)  "Used(MB)",
       (df.totalspace - nvl(FS.UsedSpace, 0)) "Free(MB)",
       round(100 * (1-( nvl(fs.UsedSpace, 0) / df.totalspace)), 2) "Pct. Free(%)"
FROM  (SELECT tablespace_name, round(SUM(bytes) / 1048576) TotalSpace
        FROM   dba_TEMP_files
        GROUP  BY tablespace_name) df,
       (SELECT tablespace_name, ROUND(SUM(bytes_used) / 1024 / 1024)  UsedSpace
        FROM   gV$temp_extent_pool
        GROUP  BY tablespace_name) fs  WHERE  df.tablespace_name = fs.tablespace_name(+)

查看臨時(shí)表空間對(duì)應(yīng)的臨時(shí)文件的使用情況:

SELECT TABLESPACE_NAME         AS TABLESPACE_NAME    ,
    BYTES_USED/1024/1024/1024    AS TABLESAPCE_USED  ,
    BYTES_FREE/1024/1024/1024  AS TABLESAPCE_FREE
FROM V$TEMP_SPACE_HEADER
ORDER BY 1 DESC;

查詢實(shí)時(shí)使用temp表空間的sql_id和sid:

set linesize 260 pagesize 1000
col machine for a40
col program for a40
SELECT se.username,
       sid,
       serial#,
       se.sql_id
       machine,
       program,
       tablespace,
       segtype,
       (su.BLOCKS*8/1024/1024) GB
  FROM v$session se, v$sort_usage su
 WHERE se.saddr = su.session_addr
 order by su.BLOCKS desc;

 
/*需要注意的是這里查詢sql_id要用v$session視圖的sql_id,而不要用v$sort_usage視圖的sql_id,v$sort_usage視圖里面的sql_id是不準(zhǔn)確的*/

查詢歷史的temp表空間的使用的SQL_ID:

select a.SQL_ID,
       a.SAMPLE_TIME,
       a.program,
       sum(trunc(a.TEMP_SPACE_ALLOCATED / 1024 / 1024)) MB
  from v$active_session_history a
 where TEMP_SPACE_ALLOCATED is not null 
 and sample_time between
 to_date('&date1', 'yyyy-mm-dd hh24:mi:ss') and
 to_date('&date2', 'yyyy-mm-dd hh24:mi:ss')
 group by a.sql_id,a.SAMPLE_TIME,a.PROGRAM
 order by 2 asc,4 desc;

到此這篇關(guān)于Oracle 臨時(shí)表空間SQL語(yǔ)句的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Oracle 臨時(shí)表空間語(yǔ)句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Oracle數(shù)據(jù)庫(kù)優(yōu)化策略總結(jié)篇

    Oracle數(shù)據(jù)庫(kù)優(yōu)化策略總結(jié)篇

    本文介紹了一些很實(shí)用但卻不是很常見(jiàn)的Oracle數(shù)據(jù)庫(kù)的優(yōu)化策略,包括批量FETCH、SQL預(yù)解析等,需要的朋友可以參考下
    2015-08-08
  • 處理Oracle監(jiān)聽(tīng)程序當(dāng)前無(wú)法識(shí)別連接描述符中請(qǐng)求的服務(wù)異常(ORA-12514)

    處理Oracle監(jiān)聽(tīng)程序當(dāng)前無(wú)法識(shí)別連接描述符中請(qǐng)求的服務(wù)異常(ORA-12514)

    這篇文章介紹了處理Oracle監(jiān)聽(tīng)程序當(dāng)前無(wú)法識(shí)別連接描述符中請(qǐng)求的服務(wù)異常(ORA-12514),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • 快速解除oracle dataguard的方法

    快速解除oracle dataguard的方法

    文章介紹了如何快速解除Oracle Data Guard配置的過(guò)程,包括備份SPFILE到PFILE、調(diào)整主庫(kù)模式、修改主庫(kù)DG配置參數(shù)、刪除Standby Log以及重啟數(shù)據(jù)庫(kù)等步驟,感興趣的朋友一起看看吧
    2025-03-03
  • Oracle實(shí)現(xiàn)細(xì)粒度訪問(wèn)控制的步驟

    Oracle實(shí)現(xiàn)細(xì)粒度訪問(wèn)控制的步驟

    細(xì)粒度訪問(wèn)控制是Oracle數(shù)據(jù)庫(kù)中用于提供行級(jí)和列級(jí)安全控制的強(qiáng)大功能,本文主要給大家介紹了Oracle實(shí)現(xiàn)細(xì)粒度訪問(wèn)控制的步驟,并通過(guò)代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • Oracle中實(shí)現(xiàn)行列互轉(zhuǎn)的方法分享

    Oracle中實(shí)現(xiàn)行列互轉(zhuǎn)的方法分享

    這篇文章主要為大家總結(jié)了Oracle中實(shí)現(xiàn)行列互轉(zhuǎn)的簡(jiǎn)單方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-06-06
  • Oracle?11g+windows?環(huán)境下Ecology7系統(tǒng)安裝過(guò)程

    Oracle?11g+windows?環(huán)境下Ecology7系統(tǒng)安裝過(guò)程

    這篇文章主要介紹了Oracle?11g+windows?環(huán)境下Ecology7系統(tǒng)安裝,安裝步驟是以管理員模式運(yùn)行Oracle setup.exe文件,根據(jù)提示安裝Oracle,創(chuàng)建數(shù)據(jù)庫(kù),注意修改連接數(shù),本文給大家詳細(xì)講解,需要的朋友可以參考下
    2022-10-10
  • Oracle In和exists not in和not exists的比較分析

    Oracle In和exists not in和not exists的比較分析

    一個(gè)是問(wèn)in exist的區(qū)別,一個(gè)是not in和not exists的區(qū)別
    2009-08-08
  • Oracle的RBO和CBO詳細(xì)介紹和優(yōu)化模式設(shè)置方法

    Oracle的RBO和CBO詳細(xì)介紹和優(yōu)化模式設(shè)置方法

    這篇文章主要介紹了Oracle的RBO和CBO詳細(xì)介紹和優(yōu)化模式設(shè)置方法,RBO即基于規(guī)則的優(yōu)化方式(Rule-Based Optimization),CBO即基于代價(jià)的優(yōu)化方式(Cost-Based Optimization),需要的朋友可以參考下
    2014-07-07
  • Oracle 10g利用amdu抽取數(shù)據(jù)文件的方法教程

    Oracle 10g利用amdu抽取數(shù)據(jù)文件的方法教程

    這篇文章主要給大家介紹了關(guān)于Oracle 10g利用amdu抽取數(shù)據(jù)文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • oracle 數(shù)據(jù)庫(kù)連接分析

    oracle 數(shù)據(jù)庫(kù)連接分析

    oracle 數(shù)據(jù)庫(kù)連接個(gè)各種環(huán)境分析,讓大家較快的解決一些數(shù)據(jù)庫(kù)連接問(wèn)題。
    2009-07-07

最新評(píng)論

南开区| 德兴市| 泰宁县| 富民县| 习水县| 静安区| 定边县| 潮州市| 新乡市| 高雄市| 昆明市| 卓尼县| 顺昌县| 红安县| 元谋县| 平山县| 台南市| 清镇市| 鹤峰县| 石景山区| 古丈县| 城步| 盐山县| 岐山县| 凤台县| 桓台县| 布尔津县| 藁城市| 仁怀市| 镇赉县| 武鸣县| 抚州市| 廊坊市| 宁安市| 长垣县| 普宁市| 周至县| 吉木乃县| 肇东市| 芜湖县| 巴林右旗|