玩转oracle 11g(43):oracle导出空表
因?yàn)?1G數(shù)據(jù)庫(kù)在CREATE表后數(shù)據(jù)庫(kù)不會(huì)立刻給該表分配物理存儲(chǔ)空間,所以導(dǎo)出數(shù)據(jù)庫(kù)的時(shí)候自然而然不會(huì)導(dǎo)出該表。
解決方案:在導(dǎo)出表服務(wù)器上找出所有數(shù)據(jù)為空的表,批處理的給沒(méi)有數(shù)據(jù)行的數(shù)據(jù)表分配存儲(chǔ)空間。
方法1.此為分步驟執(zhí)行: 如有報(bào)錯(cuò)可明確知道哪張表有問(wèn)題
select 'alter table ' || OWNER || '.' || table_name || ' allocate extent;' as sqlSTR
? from all_tables
?where num_rows = 0
?? and OWNER = 'MEDSURGERY'
?order by sqlSTR asc
-- OWNER = 'MEDSURGERY' 分別更改: MEDICU , MEDCOMM, MEDSURGERY
PLSQL DEV 中使用對(duì)應(yīng)用戶登錄后,把生成的sql 直接復(fù)制粘貼 執(zhí)行就可以了。 ?
?
方法2. 在sqlplus 中執(zhí)行
DECLARE
SMLSQL? VARCHAR2(100);
BEGIN
FOR I IN (select 'alter table '||OWNER||'.' || table_name || ' allocate extent' as sqlSTR from all_tables
where num_rows = 0 and OWNER ('MEDSURGERY','MEDCOMM','MEDICU') order by sqlSTR asc)
LOOP
SMLSQL := I.SQLSTR;
execute immediate SMLSQL;
SMLSQL :='';
end loop;
end;
?
總結(jié)
以上是生活随笔為你收集整理的玩转oracle 11g(43):oracle导出空表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: pyqt 鼠标离开按钮_小米 Smart
- 下一篇: vue怎么插入接口demo_前端学起来特