- 浏览: 591276 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (231)
- JAVA (64)
- Oracle (50)
- JAVA IDE (10)
- AJax (8)
- Spring (12)
- hibernate (10)
- Struts (9)
- Jquery (7)
- EXT js (9)
- Tomcat (2)
- MySql (13)
- SQLServer 2005 (3)
- java script (10)
- DB2 (6)
- Linux (15)
- solaris (3)
- 开发模式 (16)
- windows (15)
- 硬件 (2)
- PHP (3)
- 框架整合 (17)
- Weblogic (12)
- JBOSS (1)
- 协议 (7)
- 云计算 (6)
- JSF (1)
- richfaces (1)
- python (1)
最新评论
-
woshiicesky:
怎么使用的?
解决jdk1.7 不支持TLS1.2的问题 -
sunzbking:
哇!大佬谢谢分享解决问题啦
解决jdk1.7 不支持TLS1.2的问题 -
doren:
谢谢,很好解决我们的问题
解决jdk1.7 不支持TLS1.2的问题 -
贝塔ZQ:
PageOffice插件,挺好使得,可以试试
POI解析Excel 文件读取,修改,另存等功能 -
程俊2009:
需要用哪些jar,可以说下吗
jdom读写XMl文件
ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间
解决方法:
1、insert一行,再rollback就产生segment了。
该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。
2、设置deferred_segment_creation 参数
SQL>show parameter deferred_segment_creation NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ deferred_segment_creation boolean TRUE SQL> alter system set deferred_segment_creation=false; 系统已更改。 SQL> show parameter deferred_segment_creation NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ deferred_segment_creation boolean FALSE
该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。
需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。
搞了我好久,最后查到这个方法。
先查询一下当前用户下的所有空表
select table_name from user_tables where NUM_ROWS=0;
用以下这句查找空表
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
把查询结果导出,执行导出的语句
'ALTERTABLE'||TABLE_NAME||'ALLOCATEEXTENT;' ----------------------------------------------------------- alter table AQ$_AQ$_MEM_MC_H allocate extent; alter table AQ$_AQ$_MEM_MC_G allocate extent; alter table AQ$_AQ$_MEM_MC_I allocate extent; alter table AQ$_AQ_PROP_TABLE_T allocate extent; alter table AQ$_AQ_PROP_TABLE_H allocate extent; alter table AQ$_AQ_PROP_TABLE_G allocate extent; alter table AQ$_AQ_PROP_TABLE_I allocate extent; alter table AQ$_KUPC$DATAPUMP_QUETAB_T allocate extent; alter table AQ$_KUPC$DATAPUMP_QUETAB_H allocate extent; alter table AQ$_KUPC$DATAPUMP_QUETAB_G allocate extent; alter table AQ$_KUPC$DATAPUMP_QUETAB_I allocate extent; 'ALTERTABLE'||TABLE_NAME||'ALLOCATEEXTENT;' ----------------------------------------------------------- alter table AQ$_SYS$SERVICE_METRICS_TAB_T allocate extent; alter table AQ$_SYS$SERVICE_METRICS_TAB_H allocate extent; alter table AQ$_SYS$SERVICE_METRICS_TAB_G allocate extent; alter table AQ$_SYS$SERVICE_METRICS_TAB_I allocate extent;
然后再执行
exp 用户名/密码@数据库名 file=/home/oracle/exp.dmp log=/home/oracle/exp_smsrun.log
成功!
发表评论
-
oracle vatchar2 转换成clob方法
2017-06-08 17:38 1335create table cssc_result1 as ... -
oracle 回滚某个表的数据到指定时间点
2017-05-04 16:45 1962alter table 表名 enable row move ... -
oracle 监控常用sql
2017-04-19 10:08 725select * from V$process; SE ... -
ORACLE查询表修改时间
2016-10-11 09:20 16831、select uat.table_name from u ... -
oracle恢复误删除drop掉的表
2016-09-25 09:28 1330--查看回收站中表 select object_nam ... -
Oracle 快速创建全局dblink
2016-09-08 10:26 1019-- 如果创建全局 dblink,必须使用 systm 或 ... -
Oracle substr 截取nvarchar2 问题
2016-04-20 10:50 1021-- 查询业务类型 -- 数据内容为:2, ... -
Oracle 11g ORA-12514 解决办法
2016-03-12 14:58 35821. 找到listener.ora监听文件,具体位置: ... -
oracle em 启动问题
2015-06-01 16:34 1062一、em 常用命令 emca -repos create ... -
ORACLE查询树型关系
2014-02-19 17:05 724oracle中的select语句可以用START WITH ... -
Oracle 修改用户密码180天限制的问题
2013-09-16 15:22 893Oracle11g中,为了让客户在半年时间内更改数据库用户密 ... -
oracle 导出sequences
2013-06-29 17:27 1108如下脚本,可以将某个用户的全部sequence查询出来,并拼 ... -
oracle11g更改字符集AL32UTF8为ZHS16GBK
2013-06-24 12:00 1697Database character set (AL32UT ... -
常用的一些rman备份恢复命令
2013-02-20 13:17 1486Oracle的官方文档中有rman命令的比较完整的说明,我们 ... -
Oracle 查询所有表id大于10000的数据表名和数据
2013-01-29 13:41 2593-- 查询所有表id大于10000的数据以及对应表名称 ... -
Oracle系统表查询
2012-12-20 14:03 1036oracle查询用户下的所有表 select ... -
Oracle Weblogic 10.X、11.X、12.X各个版本对应的系统、JDK、数据库版本
2012-12-19 09:47 10078压缩包中包含Oracle weblogic 10. ... -
关于数据库性能优化方面的一些总结之三
2012-06-14 09:58 1209(21) 避免在索引列上使用NOT 通常, 我们要避免在索引列 ... -
关于数据库性能优化方面的一些总结之二
2012-06-13 16:43 1161(11) 用Where子句替换HAVING子句:避免使用HAV ... -
关于数据库性能优化方面的一些总结之一
2012-06-13 16:39 1172(1) 选择最有效率的表名顺序(只在基于规则的优化器 ...
相关推荐
Oracle 11g导出空表、少表的解决办法 ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间。 解决方法: 1)insert一行,再rollback就产生segment了 该方法是在在空表中插入数据,再删除,则...
### Oracle导出空表解决办法 #### 背景与问题描述 在Oracle数据库管理过程中,经常遇到的一个问题是无法导出空表。这种情况通常发生在使用`expdp`或`exp`命令进行数据导出时,如果表为空,则可能会遇到无法导出的...
oracle11g对于空表用exp不能导出的解决办法.txt
ORCAL11G 不能导出空表解决办法 Oracle 11g 中的 deferred_segment_creation 参数是指延迟段创建的参数,该参数的默认值为 TRUE。在这个参数设置为 TRUE 的情况下,当我们创建一个新的表时,如果没有插入数据,那么...
关于R2无法exp出空表的方法。考虑到节省空间,oracle11g r2不给空表分配segment,具体办法见附件。
一、不能导出空表的原因1、Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出。 2、设置deferred_segment_creation 参数为FALSE后,无论是空表还是非空表,都分配segment。 在...
#### 三、解决办法 针对上述问题,可以采取以下几种解决方法: 1. **修改`deferred_segment_creation`参数**: - 修改数据库级参数`deferred_segment_creation`为`false`,确保在创建新表时立即为其分配存储空间。...
8. **Oracle 11g导出空表、少表解决办法**: 在Oracle 11g中,可能遇到导出时某些表为空或缺失的情况。文档可能提供了如何处理这些问题的策略,以确保完整备份。 9. **PL-SQL连接断开问题**: 当PL/SQL程序长时间...
解决办法是在导入前将这些值更改为NULL。 执行以上步骤后,你应该能够成功地将数据从SQL Server导入到Oracle。在实际操作中,可能会遇到其他特定的挑战,如网络问题、权限问题或特定数据格式问题,这些问题都需要...
- 使用环境:Oracle 10g服务器与客户端,操作系统为Windows 2003或Windows XP。 - 备份要求:每天自动对数据库CMS进行一次完整备份。 #### 二、解决方案 为实现上述需求,可以采用任务计划程序配合批处理文件和...