oracle数据库空表处理
程序员文章站
2022-05-07 09:07:10
...
最近在oracle数据库还原时,出现好多表没有导入成功,这是因为什么呢,网上查阅资料,导库前需要进行数据库的空表处理。这里记录下来,方便备查。
数据库版本:oracle 11g
第一步、设置 延迟段创建
deferred_segment_creation 延迟段创建(Oracle 11g的新特性)
alter system set deferred_segment_creation=false;
设置为 true,即创建一个表时,不分配空间,只有插入第一条数据时才分配空间。
优点:加快建表速度,节约空间
缺点:export导出是不会导出空表
第二步、查询当前用户下所有空表
Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null;
执行SQL后,会生成若干可执行的语句,即空表的更改语句 修改表extent。如下图所示
第三步、执行生成的语句
生成出来的语句就是空表的压缩空间的语句,复制出来执行即可!
第四步、执行数据库导出的脚本
创建用户:gzgl ,密码:gzgl ,默认工作空间:DATA
在windows的cmd窗口下执行数据导入命令
imp gzgl/gzgl @orcl full=y file=D:/20191231.dmp log=D:/20191231.dmp.log
空表处理后,数据库的导入就会好很多。
博客来源:
【1】https://www.cnblogs.com/guazixing/p/7600327.html
推荐阅读
-
oracle数据库中怎么查询自己建的表
-
oracle数据库中怎么查询自己建的表
-
Oracle 9.2.0.4 数据库truncate表-ORA-00600:[ktsircinfo_num1之看似bug
-
oracle数据库联机日志丢失处理方式详解
-
批量更新数据库所有表中字段的内容,中木马后的急救处理
-
在oracle 数据库查询的select 查询字段中关联其他表的方法
-
oracle数据库中如何处理clob字段方法介绍
-
Linux系统下导出ORACLE数据库出现Exporting questionable statistics.错误 处理
-
oracle表空单清理常用代码段整理
-
解析如何查看Oracle数据库中某张表的字段个数