备份数据库时(11G):
一定要注意处理空表,否则可能导致备份的数据库出现问题,丢失数据,无法还原
以下为处理空表的两张方法:
- 临时处理空表:当次有效,下次还需重新执行-推荐。
begin
for obj in (select 'alter table '||table_name||' allocate extent' objsql from user_tables where segment_created = 'NO') loop
execute immediate obj.objsql;
end loop;
end;
- 永久处理空表:设置完成后需要在电脑的服务中重启数据库-不推荐。
- 在plsql的命令窗口(Command Window)输入:
show parameter deferred_segment_creation; 回车
- 如果显示deferred_segment_creation的value是true,则输入:
alter system set deferred_segment_creation=false; 回车
- 注意:执行完成之后需要重启数据库