oracle创建索引01652,建立数据表快照导致ora-01652异常
建立數據表快照導致ora-01652錯誤
由于源表過大,數據查詢速度較慢,在做后臺的相關查詢的時候較慢,于是決定創建數據快照,提高查詢速度,快照創建語句如下:
CREATE?SNAPSHOT?sn_ydmobilebank
REFRESH?COMPLETE?START?WITH
to_date('2014-12-25?23:59:59','yyyy-mm-dd?hh24:mi:ss')
NEXT?SYSDATE?+?1
AS
SELECT?mobile,PLAN,cellbrand,cellmodel,os,jifen,arpu,wapflow,
cardnumber,bankname,cardtype
FROM?base
運行一會后報錯如下:
在百度上簡單的查了一下,說是表空間不足,但是該怎么解決?
創建快照默認的表空間現在的屬性如下:
不知道現在表空間的使用情況是怎樣的~已用多少,還剩多少
------解決思路----------------------
--查詢表空間使用情況
SELECT?UPPER(F.TABLESPACE_NAME)?"表空間名",
D.TOT_GROOTTE_MB?"表空間大小(M)",
D.TOT_GROOTTE_MB?-?F.TOTAL_BYTES?"已使用空間(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB?-?F.TOTAL_BYTES)?/?D.TOT_GROOTTE_MB?*?100,2),'990.99')
------解決思路----------------------
'%'?"使用比",
F.TOTAL_BYTES?"空閑空間(M)",
F.MAX_BYTES?"最大塊(M)"
FROM?(SELECT?TABLESPACE_NAME,
ROUND(SUM(BYTES)?/?(1024?*?1024),?2)?TOTAL_BYTES,
ROUND(MAX(BYTES)?/?(1024?*?1024),?2)?MAX_BYTES
FROM?SYS.DBA_FREE_SPACE
GROUP?BY?TABLESPACE_NAME)?F,
(SELECT?DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES)?/?(1024?*?1024),?2)?TOT_GROOTTE_MB
FROM?SYS.DBA_DATA_FILES?DD
GROUP?BY?DD.TABLESPACE_NAME)?D
WHERE?D.TABLESPACE_NAME?=?F.TABLESPACE_NAME
ORDER?BY?1;
--查詢表空間的free?space
select?tablespace_name,
count(*)?as?extends,
round(sum(bytes)?/?1024?/?1024,?2)?as?MB,
sum(blocks)?as?blocks
from?dba_free_space
group?by?tablespace_name;
--查詢表空間的總容量
select?tablespace_name,?sum(bytes)?/?1024?/?1024?as?MB
from?dba_data_files
group?by?tablespace_name;
--查詢表空間使用率
select?total.tablespace_name,
round(total.MB,?2)?as?Total_MB,
round(total.MB?-?free.MB,?2)?as?Used_MB,
round((1?-?free.MB?/?total.MB)?*?100,?2)
------解決思路----------------------
'%'?as?Used_Pct
from?(select?tablespace_name,?sum(bytes)?/?1024?/?1024?as?MB
from?dba_free_space
group?by?tablespace_name)?free,
(select?tablespace_name,?sum(bytes)?/?1024?/?1024?as?MB
from?dba_data_files
group?by?tablespace_name)?total
where?free.tablespace_name?=?total.tablespace_name;
------解決思路----------------------
沒有查詢數據字典的權限,有兩種方法解決
1、在sys用戶下面執行查詢語句
2、使用sys用戶給表所屬用戶賦查詢數據字典的權限
$?sqlplus?/?as?sysdba
SQL>?grant?select?any?dictionary?to?USERNAME;
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的oracle创建索引01652,建立数据表快照导致ora-01652异常的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 将命令结果赋给变量_不得不了解的quot
- 下一篇: 在python中可以使用for作为变量名