full = y 设置了没???
解决方案 »
- java调用oracle存储过程,返回类型record
- 虚拟机配置oralcle RAC,安装集群件,在 执行root.sh时的错误
- 数据库设计的问题!都来出出主意啊!!!!!
- 分区索引失效&这样的索引是否应该存在 在线等!
- [急急急!!!]请教一个OCI函数的问题
- oracle不支持直接用update批量修改数据吗?难道只能使用游标进行批量修改吗?
- 如何在oracle中选择前10条语句?(像select top 10 from biao)一样?
- 大家看看这个函数有什么错
- 高分求救一个存储过程!在线等待!
- 客户端连接问题,100分相送?
- Oracle安装checks失败是怎么回事——求解答啊
- 关于oracle 11g R2 的服务器的tnsname的设定问题
加个deferred_segment_creation 参数的设置
设置deferred_segment_creation 参数 show parameter deferred_segment_creation NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation boolean TRUE
SQL> alter system set deferred_segment_creation=false; 该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。
原因:11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: 1、insert一行,再rollback就产生segment了。 该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。 2、设置deferred_segment_creation 参数 该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。 需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。
如 需导出之前的空表,只能用第一种方法
select table_name from user_tables where NUM_ROWS=0;
下面我们通过select 来生成修改语句:
Sql代码
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
执行上面查出来的那些sql,之后再exp
露珠说expdp比较麻烦,但是其实并不麻烦啊,而且是数据泵速度很快的。
先创建目录:
create directory directoryname as '路径';
授权:
grant read,write on directoryname to username;
通过命令进行导入导出:
expdp username/password@databasename directory=directoryname dumpfile=expname.dmp