亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

解決表空間填充滿時出現的ORA-1652錯誤

2024-07-21 02:42:39
字體:
來源:轉載
供稿:網友
在實際的應用中,很多人經常會遇到“ORA-1652: unable to extend temp segment”臨時表空間被資源中的多個會話共享的情況,并且quotas不能限制每個用戶使用的臨時表空間數量,當臨時表空間被填充滿時,任何嘗試獲得更多的臨時表空間的用戶將會得到“ORA-1652: unable to extend temp segment”錯誤。

Oracle數據庫排序基礎

Oracle會話首先在內存中進行排序,當Oracle需要存儲數據到臨時表或者為哈西排序建立哈希表時,并且也會首先在內存中進行操作,雖然這兩個操作不需要排序操作,但是它們在Oracle中的處理方式是相同的。

如果操作使用內存超過了閾值,Oracle會將操作分為多個較小的操作以使每個可以在內存中操作。部分結果將會被寫入磁盤的臨時表空間,任何一個會話可以使用的內存數依賴于初始化參數的設置,如果workarea_size_policy為auto,則由pga_aggregate_target控制,否則由sort_area_size, hash_area_size,和bitmap_merge_area_size控制內存的使用。

當排序操作太大以至于不能在內存中執行時,Oracle將在臨時表空間中分配空間以執行操作。臨時段在臨時表空間中—也稱為“排序段”,sys擁有,而不是執行排序操作的用戶。通常每個表空間中只有一個排序段,因為多個會話可以共享排序段,用戶使用臨時表空間不需要在其上有quota,事實上會被Oracle忽略。

臨時表空間中只能包含臨時段,因此臨時段上的操作不會產生undo和redo,同時分配臨時段給用戶也不需要記錄在dd或位圖塊上。因為臨時表空間不會超過創建它的會話的生命周期。

一個SQL可以有多個排序操作,一個數據庫會話同時可以有多個活動的SQL,當到磁盤上的排序結果不再需要時,其在排序段中的塊會標記為不再使用并可以被分配給其他排序操作。

如果發生以下情況排序操作將會失?。号判蚨沃袥]有不再使用的塊;臨時表空間中沒有空間可以供排序段分配額外的分區。這在大多數情況下會導致語句發生以下錯誤:“ORA-1652: unable to extend temp segment.”并記錄在實例的alert log中。

不過需要注意的是ORA-1652并不全部指示臨時表空間問題,ALTER TABLE…MOVE也會發生該錯誤,如果目標表空間沒有足夠的空間容納移動的表空間。

識別由于缺少臨時表空間失敗的SQL語句

雖然Oracle logs ORA-1652錯誤到警告日志中通知dba發生了空間問題,但是Oracle不會識別那條錯誤的語句。

可以使用Oracle診斷事件跟蹤ORA-1652事件,該診斷事件的影響很小,僅在發生ORA-1652錯誤時才會寫入信息。

ALTER session SET EVENTS '1652 trace name errorstack';

在會話范圍內設置;

ALTER SYSTEM SET EVENTS '1652 trace name errorstack';

永久性設置:

ALTER SYSTEM SET EVENT = '1652 trace name errorstack' SCOPE = SPFILE;

還可以在其他會話內使用“oradebug event”進行跟蹤。

可以使用以下語句關閉:

ALTER SYSTEM RESET EVENT SCOPE = SPFILE SID = '*';

ALTER SYSTEM SET EVENTS '1652 trace name context off';

ALTER SESSION SET EVENTS '1652 trace name context off';

如果一個SQL語句由于缺少臨時表空間失敗并且ORA-1652診斷事件已經激活,那么

Oracle服務器進程將會在遇到錯誤時在user_dump_dest目錄的跟蹤文件寫入錯誤信息,并且警告日志會指示出相關跟蹤文件。如:

Tue Jan 2 17:21:14 2007

Errors in file

/u01/app/oracle/admin/rpkPRod/udump/rpkprod_ora_10847.trc: ORA-01652: unable to extend temp segment by 128 in tablespace TEMP

跟蹤文件中將包含類似如下的信息:

Oracle Database 10g Release 10.2.0.2.0 - 64bit Production

ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_2

System name: SunOS

Node name: rpk

Release: 5.8

Version: Generic_108528-27

Machine: sun4u

Instance name: rpkprod

Redo thread mounted by this instance: 1

Oracle process number: 18

Unix process pid: 10847, image: oracle@rpk (TNS V1-V3)

*** ACTION NAME:() 2007-01-02 17:21:14.871

*** MODULE NAME:(SQL*Plus) 2007-01-02 17:21:14.871

*** SERVICE NAME:(SYS$USERS) 2007-01-02 17:21:14.871

*** SESSION ID:(130.13512) 2007-01-02 17:21:14.871

*** 2007-01-02 17:21:14.871

ksedmp: internal or fatal error

ORA-01652: unable to extend temp segment by 128 in tablespace TEMP

Current SQL statement for this session:

SELECT "A1"."INVOICE_ID", "A1"."INVOICE_NUMBER", "A1"."INVOICE_DAT

E", "A1"."CUSTOMER_ID", "A1"."CUSTOMER_NAME", "A1"."INVOICE_AMOUNT",

"A1"."PAYMENT_TERMS", "A1"."OPEN_STATUS", "A1"."GL_DATE", "A1"."ITE

M_COUNT", "A1"."PAYMENTS_TOTAL"

FROM "INVOICE_SUMMARY_VIEW" "A1"

ORDER BY "A1"."CUSTOMER_NAME", "A1"."INVOICE_NUMBER"

----- Call Stack Trace -----

雖然使用這種方法可以得到相當詳細的信息,但是需要注意的是,這種方法捕獲到的語句并不一定是問題的根源,因為有可能前一個語句消耗了99.9%臨時空間,而第二個語句被捕獲到跟蹤文件中。

跟蹤文件同時還會包含如調用棧跟蹤和二進制棧dump,該信息通常沒有價值,除非想要了解Oracle內部。

通常不應該在實例級別設置該診斷事件。如果經常在批處理期間遇到該錯誤,可以在批處理開始設置alter session進行會話級跟蹤。

監控臨時表空間

可以在發生錯誤前實時監控數據庫中臨時表空間的使用情況,以避免出現錯誤。任何時候,Oracle都可以告訴dba數據庫中的臨時表空間,會話使用的排序空間,以及語句使用的排序空間。所有這些信息都可以通過v$得到。

臨時段

Oracle會在第一次執行磁盤排序時創建排序段,并且根據需要擴展,但是不會收縮。

SELECT A.tablespace_name tablespace,

D.mb_total,

SUM(A.used_blocks * D.block_size) / 1024 / 1024 mb_used,

D.mb_total - SUM(A.used_blocks * D.block_size) / 1024 / 1024 mb_free

FROM v$sort_segment A,

(SELECT B.name, C.block_size, SUM(C.bytes) / 1024 / 1024 mb_total

FROM v$tablespace B, v$tempfile C

WHERE B.ts# = C.ts#

GROUP BY B.name, C.block_size) D

WHERE A.tablespace_name = D.name

GROUP by A.tablespace_name, D.mb_total;

會話使用的排序空間

SELECT S.sid || ',' || S.serial# sid_serial,

S.username,

S.osuser,

P.spid,

S.module,

S.program,

SUM(T.blocks) * TBS.block_size / 1024 / 1024 mb_used,

T.tablespace,

COUNT(*) sort_ops

FROM v$sort_usage T, v$session S, dba_tablespaces TBS, v$process P

WHERE T.session_addr = S.saddr

AND S.paddr = P.addr

AND T.tablespace = TBS.tablespace_name

GROUP BY S.sid,

S.serial#,

S.username,

S.osuser,

P.spid,

S.module,

S.program,

TBS.block_size,

T.tablespace

ORDER BY sid_serial;

語句使用的臨時空間

SELECT S.sid || ',' || S.serial# sid_serial,

S.username,

T.blocks * TBS.block_size / 1024 / 1024 mb_used,

T.tablespace,

T.sqladdr address,

Q.hash_value,

Q.sql_text

FROM v$sort_usage T, v$session S, v$sqlarea Q, dba_tablespaces TBS

WHERE T.session_addr = S.saddr

AND T.sqladdr = Q.address(+)

AND T.tablespace = TBS.tablespace_name

ORDER BY S.sid;


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色yeye香蕉凹凸一区二区av| 久久露脸国产精品| 国产精品中文久久久久久久| 久久99视频精品| 91影院在线免费观看视频| 精品爽片免费看久久| 亚洲国产天堂网精品网站| 欧美在线视频一区| 亚洲一区二区在线播放| 一本大道久久加勒比香蕉| 欧美午夜www高清视频| 久久人91精品久久久久久不卡| 亚洲男人天天操| 久久综合久久八八| 国产精品久久久久aaaa九色| 少妇高潮久久77777| 欧美电影免费观看高清完整| 亚洲精品国产精品久久清纯直播| 久久久久99精品久久久久| 国产精品久久久久久超碰| 久久久精品国产亚洲| 国产一区二区三区在线播放免费观看| 欧美在线视频一区| 久久久国产一区| 欧美精品手机在线| 一区二区三区美女xx视频| 韩国精品美女www爽爽爽视频| 精品国产91乱高清在线观看| 国产免费观看久久黄| 日韩av免费在线| 亚洲国产成人精品女人久久久| 国产精品入口免费视频一| 亚洲性夜色噜噜噜7777| 亚洲一区二区在线| 91精品国产91久久久久久最新| 久久久免费电影| 日韩av在线天堂网| 国模gogo一区二区大胆私拍| 国产欧美日韩中文| 欧美激情第一页xxx| 国产精品毛片a∨一区二区三区|国| 成人444kkkk在线观看| 97成人精品视频在线观看| 久久天天躁夜夜躁狠狠躁2022| 欧美日韩国产专区| 国产精品91在线观看| 97在线视频免费播放| 91牛牛免费视频| 1769国内精品视频在线播放| 美日韩在线视频| 欧美日韩黄色大片| 国产精品日本精品| 亚洲视频一区二区三区| 欧美高清一级大片| 国产成+人+综合+亚洲欧洲| 亚洲欧美成人一区二区在线电影| 欧洲美女7788成人免费视频| 97精品视频在线观看| 国产精品男人的天堂| 欧美激情亚洲国产| 91精品久久久久久久久久另类| 久久久久久久91| 毛片精品免费在线观看| 色综合视频网站| 美女久久久久久久| 国产精品日韩一区| 成人字幕网zmw| 91国产精品视频在线| 亚洲精品少妇网址| 高清欧美性猛交| 色香阁99久久精品久久久| 国产精品国产三级国产专播精品人| 成人有码在线播放| 亚洲xxxx3d| 国产精品久久久久久久久男| 精品久久香蕉国产线看观看亚洲| 欧美成年人视频| 欧洲成人在线视频| 亚洲热线99精品视频| 久久精品成人一区二区三区| 亚洲人免费视频| 久久久天堂国产精品女人| 色悠悠国产精品| 在线午夜精品自拍| 日韩av成人在线观看| 久久精品视频在线| 欧美国产日产韩国视频| 亚洲自拍偷拍第一页| 久久国内精品一国内精品| 韩日精品中文字幕| 久久精品国产99国产精品澳门| 97视频免费看| 久久人人爽人人爽人人片av高请| 亚洲欧美日本伦理| 欧美一区亚洲一区| 亚洲欧美日韩中文在线| 91九色综合久久| 久久精品男人天堂| 亚洲美女喷白浆| 日韩精品高清在线| 国产精品久久久久9999| 国产日韩欧美在线视频观看| 欧美日韩亚洲精品内裤| 92国产精品久久久久首页| 国产日韩欧美中文| 日韩69视频在线观看| 久久久久久久久久国产精品| 日韩一区二区三区xxxx| 一区二区三区无码高清视频| 亚洲福利视频免费观看| 欧洲成人在线观看| 国产日韩欧美综合| 97激碰免费视频| 国产精品99蜜臀久久不卡二区| 国产精品对白刺激| 在线成人中文字幕| 国产精品青青在线观看爽香蕉| 欧美大片va欧美在线播放| 最近2019年好看中文字幕视频| 久久福利网址导航| 中文字幕欧美日韩精品| 精品久久久香蕉免费精品视频| 久久国产精品电影| 欧美另类极品videosbest最新版本| 国产精品久久久久99| 久久久久久久香蕉网| 九九热精品在线| 色偷偷噜噜噜亚洲男人| 懂色av中文一区二区三区天美| 亚洲午夜未删减在线观看| 国产精品69精品一区二区三区| 国产精品无码专区在线观看| 日本精品一区二区三区在线| 中文字幕亚洲自拍| 日韩欧美视频一区二区三区| 日韩a**中文字幕| 91夜夜未满十八勿入爽爽影院| 韩国视频理论视频久久| 中文字幕亚洲综合久久筱田步美| 亚洲欧美国产日韩中文字幕| 性日韩欧美在线视频| 日韩大片免费观看视频播放| 国产精品xxx视频| 日韩风俗一区 二区| 亚洲aa中文字幕| 日韩中文字幕免费看| 亚洲午夜精品久久久久久久久久久久| 成人免费网站在线看| 亚洲日本中文字幕免费在线不卡| 国产精品午夜国产小视频| 韩曰欧美视频免费观看| 亚洲国产精品资源| 国产精品高潮呻吟久久av黑人| 中文在线不卡视频| 国产精品男女猛烈高潮激情| 日韩高清av在线| 欧美视频二区36p| 日本精品免费一区二区三区| 国产精品mp4| 欧美一区二区大胆人体摄影专业网站| 欧美性少妇18aaaa视频| 亚州av一区二区| 久久精品视频亚洲| 亚洲欧美色图片|