常用腳本-獲取未分配空間的表
2021-11-02 17:44 作者:夜灬長(zhǎng)夢(mèng)多 | 我要投稿
我們知道,從11G R2開始,ORACLE引入了一個(gè)延遲段創(chuàng)建,在創(chuàng)建表時(shí),并不立即分配空間,但這樣一來(lái),導(dǎo)致使用EXP導(dǎo)出時(shí),沒(méi)有分配空間的表,就不會(huì)導(dǎo)出,導(dǎo)致備份不完整,如何查出創(chuàng)建的表,沒(méi)有分配空間呢?
可以使用一下語(yǔ)句或者對(duì)應(yīng)的表,還可以同時(shí)產(chǎn)生一個(gè)分配一個(gè)區(qū)的腳本:
select 'ALTER table ' || owner ||'.' ||table_name || ' allocate extent;' as acc
from
(
select owner,table_name from dba_tables
where owner not in ('SYS','SYSTEM','DBSNMP','SYSMAN','WMSYS','ORDDATA','OLAPSYS','MDSYS','CTXSYS','APEX_030200','MDSYS','DVSYS','APPQOSSYS','GSMADMIN_INTERNAL','LBACSYS','OJVMSYS','DBSFWUSER','FLOWS_FILES','XDB','ORDSYS','OWBSYS','SCOTT')
minus
select owner,segment_name from dba_segments
);
最后,執(zhí)行上面語(yǔ)句產(chǎn)生的語(yǔ)句即可。

標(biāo)簽: