玩转oracle 11g(43):oracle导出空表
因為11G數據庫在CREATE表后數據庫不會立刻給該表分配物理存儲空間,所以導出數據庫的時候自然而然不會導出該表。
解決方案:在導出表服務器上找出所有數據為空的表,批處理的給沒有數據行的數據表分配存儲空間。
方法1.此為分步驟執行: 如有報錯可明確知道哪張表有問題
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 中使用對應用戶登錄后,把生成的sql 直接復制粘貼 執行就可以了。 ?
?
方法2. 在sqlplus 中執行
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;
?
總結
以上是生活随笔為你收集整理的玩转oracle 11g(43):oracle导出空表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pyqt 鼠标离开按钮_小米 Smart
- 下一篇: vue怎么插入接口demo_前端学起来特