含有虚拟列的表 怎么用EXPexp 导出指定表

Oracle11g使用exp导出表不全问题的原因和解决办法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者
评价文档:
Oracle11g使用exp导出表不全问题的原因和解决办法
大小:711.00B
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
UID9150719空间积分0 积分236阅读权限20帖子精华可用积分236 信誉积分132 专家积分0 在线时间109 小时注册时间最后登录
稍有积蓄, 积分 236, 距离下一级还需 264 积分
帖子主题精华可用积分236 信誉积分132 专家积分0 在线时间109 小时注册时间最后登录
论坛徽章:0
如题,数据库里有很多用户,他们各自有各自的表。
比如我现在用backup_user要把 user1,user2…… 等等用户的表各自导出来,使用exp命令怎么能做到。
我有dba的权限,但不知道那些用户的密码,也不想去改他们的密码。
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
UID空间积分0 积分107阅读权限10帖子精华可用积分107 信誉积分110 专家积分0 在线时间47 小时注册时间最后登录
白手起家, 积分 107, 距离下一级还需 93 积分
帖子主题精华可用积分107 信誉积分110 专家积分0 在线时间47 小时注册时间最后登录
论坛徽章:0
我只知道可以全部导出,但要分开导,而且不知道密码,我还真不知道了!
YOYO BLOG:
不干版主了
UID78707空间积分0 积分42287阅读权限100帖子精华可用积分42287 信誉积分2576 专家积分180 在线时间6227 小时注册时间最后登录
帖子主题精华可用积分42287 信誉积分2576 专家积分180 在线时间6227 小时注册时间最后登录
认证徽章论坛徽章:44
只能单个用户单个用户的导出!
做一个在牛A和牛C之间徘徊的人
想找个不加班的工作好难啊!
(X软工作好几年
过了二建和架构
向着一建挺进前
为了生存还得干程序员)
UID9150719空间积分0 积分236阅读权限20帖子精华可用积分236 信誉积分132 专家积分0 在线时间109 小时注册时间最后登录
稍有积蓄, 积分 236, 距离下一级还需 264 积分
帖子主题精华可用积分236 信誉积分132 专家积分0 在线时间109 小时注册时间最后登录
论坛徽章:0
真的需要得到所有用户的密码么,dba权限的账户真的不能做到吗
UID空间积分0 积分4阅读权限10帖子精华可用积分4 信誉积分100 专家积分0 在线时间1 小时注册时间最后登录
白手起家, 积分 4, 距离下一级还需 196 积分
帖子主题精华可用积分4 信誉积分100 专家积分0 在线时间1 小时注册时间最后登录
论坛徽章:0
应该是要密码地&&不如改了算了
learning on my way
UID368358空间积分0 积分1194阅读权限30帖子精华可用积分1194 信誉积分711 专家积分0 在线时间353 小时注册时间最后登录
家境小康, 积分 1194, 距离下一级还需 806 积分
帖子主题精华可用积分1194 信誉积分711 专家积分0 在线时间353 小时注册时间最后登录
认证徽章论坛徽章:0
exp a/a@sid owner=(user1,user2) file=....
-----------------------------------------------------------------------
UID26585空间积分0 积分1385阅读权限30帖子精华可用积分1385 信誉积分220 专家积分0 在线时间3 小时注册时间最后登录
家境小康, 积分 1385, 距离下一级还需 615 积分
帖子主题精华可用积分1385 信誉积分220 专家积分0 在线时间3 小时注册时间最后登录
论坛徽章:0
我也是在努力學習啊
北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处相关文章推荐:
oracle exp 导入指定表空间
在oracle8.1.7 下我用:
exp system/manager
TRANSPORT_TABLESPACE=Y
TABLESPACES=(USERS)
FILE=C:\USERS.DMP
EXP-00044: 必须用 'AS SYSDBA' 连接来进行时间点恢复或可传输的表空间导入
EXP-00000: 导出终止失败
==========================
根据提示我改成:
exp system/manager AS sysdba
TRANSPORT_TABLESPACE=Y
TABLESPACES=(USERS)
FILE=C:\USERS.DMP
仍提示错误:
LRM-00108: 无效的位置参数值 'AS'
==========================
回复 (7) 浏览 (5331)
其他文章推荐
ITPUB官方微博:
某城商行IT部门做开发5年,感觉上升空间几乎没有,上面坑全满了,现在行里新筹建个业务部门,需要个专门的IT,目前就一兼的领导和2,3个小兵,那边领导有意向让过去,各位坛友谈谈看法...
回复 (17) 浏览 (548)
不知道标题写的是不是清楚,是这样的,A表的一个字段为首尾都有逗号且由逗号分隔的数字组成的字符串,单个数字对应B表一个数字型的字段,我想用A表的该字段中的所有数字,查出B表的对应字段的值,但下面的方法会提示类型不对,不知道应该如何实现呢?withaas(select',6, ......
回复 (1) 浏览 (115)
本帖最后由overloving于:30编辑在when-validate-item添加验证事务处理的时候,提示了如下错误:后来通过查阅资料,得出了一些东西:我当前做的是列表类型的数据库的一行中的一个Item的验证,原因可能就在这里,可能是不能在这个地方用when-validate-item触发器 ......
回复 (0) 浏览 (98)
现在在修改标准的库存杂项事务处理Form,里面涉及了一个folder,在detail_layout.也就是在打开Form前做界面布局的时候,其中有个app_folder.event('PREPARE-SHARED-BLOCK'),这里提示FRM-41045找不到项:无效的ID,我貌似没有改,是怎么回事?...
回复 (1) 浏览 (106)
这是为什么呢...
回复 (1) 浏览 (17)
更多精彩内容尽在&《OracleRAC故障分析与处理》一&RAC环境RAC架构,2节点信息节点1SQL&showparameterinstanceNAME&&&&&&&&&&&&&& ......
回复 (4) 浏览 (16)
第一次有机会能完整的在服务器上安装EBSR12.1.1,&然后做升级测试,&赶紧记录下来先。&一,介质下载&&到/EPD/Search/handle_go网站下载OracleE-BusinessSuiteRelease12.1.1MediaPackforLinuxx86-64-bit ......
回复 (5) 浏览 (10)
最近需要生产系统从10.2.0.5.升级到11.2.0.2.0做了不少的准备工作,硬是在周末自己搭了测试环境,照着自己准备的升级步骤练习了一番。除过基本的检查,从Metalink上下载了最新的psu,和公司的资深dba确认后,提供了给了客户。这样数据库就算是升级到11.2.0.2.10主要有以 ......
回复 (3) 浏览 (26)
1.说一下RAC和单节点数据库的区别有哪些?你认为RAC最有用的功能是说什么?区别(1)RAC有2个以上的实例,单节点只有1个实例(2)RAC具有实例级别的高可用(3)实例与实例之间通过内联网络交换数据,单节点不可(4)RAC每个节点都有自己套SGA、后台进程、redolog、undof ......
回复 (6) 浏览 (351)
ORACLE-SQL性能调整ORACLE的优化器在ORACLE的发展过程中,一共开发过2种类型的优化器:基于规则的优化器和基于代价的优化器。这2种优化器的不同之处关键在于:取得代价的方法与衡量代价的大小不同。基于规则的优化器--RuleBased(Heuristic)Optimization(简称RBO):比较显 ......
回复 (3) 浏览 (83)
文章推荐:
盛拓传媒:
友情链接:
特别鸣谢:
北京皓辰网域网络信息技术有限公司. 版权所有
北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证:编号(京)字第1149号
ITPUB推荐文章解答你所有技术难题解决Oracle 11g在用EXP导出时,空表不能导出 - 自己的收藏请勿评论 - ITeye技术网站
博客分类:
一、问题原因:
&&& 11G中有个新特性,当表无数据时,不分配segment,以节省空间
&&& 1、insert一行,再rollback就产生segment了。
&&&&&&& 该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。
&&& 2、设置deferred_segment_creation 参数
&&&&&& show parameter deferred_segment_creation
&& NAME&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& TYPE&&&&&&& VALUE
&& ------------------------------------ ----------- ----------
&& deferred_segment_creation&&&&&&&&&&& boolean&&&& TRUE
&& SQL& alter system set deferred_segment_creation=
&& 系统已更改。
&& SQL& show parameter deferred_segment_creation
&& NAME&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& TYPE&&&&&&& VALUE
&& ------------------------------------ ----------- ----------
&& deferred_segment_creation&&&&&&&&&&& boolean&&&& FALSE
&&& 该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。
&&& 需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。
二、解决方法:
&&& 1、先查询一下当前用户下的所有空表
&&&&& select table_name from user_tables where NUM_ROWS=0;
&&& 2、用以下这句查找空表
&&&&& select 'alter table '||table_name||'' from user_tables where num_rows=0
&&&&&& 把查询结果导出,执行导出的语句
&&&&& 'ALTERTABLE'||TABLE_NAME||'ALLOCATEEXTENT;'
&&&&& -----------------------------------------------------------
&&&&& alter table AQ$_AQ$_MEM_MC_H
&&&&& alter table AQ$_AQ$_MEM_MC_G
&&&&& alter table AQ$_AQ$_MEM_MC_I
&&&&& alter table AQ$_AQ_PROP_TABLE_T
&&&&& alter table AQ$_AQ_PROP_TABLE_H
&&&&& alter table AQ$_AQ_PROP_TABLE_G
&&&&& alter table AQ$_AQ_PROP_TABLE_I
&&&&& alter table AQ$_KUPC$DATAPUMP_QUETAB_T
&&&&& alter table AQ$_KUPC$DATAPUMP_QUETAB_H
&&&&& alter table AQ$_KUPC$DATAPUMP_QUETAB_G
&&&&& alter table AQ$_KUPC$DATAPUMP_QUETAB_I
&&& 3、然后再执行
&&&&&& exp 用户名/密码@数据库名 file=/home/oracle/exp.dmp log=/home/oracle/exp_smsrun.log&& 成功!
ORACLE 11G在用EXPORT导出时,空表不能导出。
11G中有个新特性,当表无数据时,不分配segment,以节省空间
  解决方法:
  1、insert一行,再rollback就产生segment了。
  该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。
  2、设置deferred_segment_creation 参数
  该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。
  需注意的是:该值设置后对以前已经存在的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法】
觉得不是解决方法,然后就用了expdp和impdp
create directory expdp_dir as&& '/data/app1/dp';
grant read,write on directory expdp_dir to DRGN_OWNER;
expdp DRGN_OWNER/DRGN_OWNER DIRECTORY=expdp_dir DUMPFILE=DRGN_OWNER.dmp SCHEMAS=DRGN_OWNER logfile=DRGN_OWNERexpdp.log
create directory impdp_dir as '/data/app1/dp';
grant read,write on directory impdp_dir to DRGN_OWNER;
impdp DRGN_OWNER/DRGN_OWNER DIRECTORY=impdp_dir DUMPFILE=DRGN_OWNER.dmp logfile=DRGN_OWNER.dmpimpdp.log
空表果然已经导入了
对于DBA新建数据库,我个人建议,建立了空的数据库后,马上执行
alter system set deferred_segment_creation=flase sscope=
shutdowm immediate
startup
【总结】
1、自己没有好好学习11g的新特性,导致了这个问题花费了2个小时的
2、建议客户使用稳定的10.2.0.4,客户拒绝,现在11g已经是主流了,并不是每一个客户都很保守使用稳定版本,而非最新版本
3、某美 和 某ELL 的项目以后少接触,4年前IBM P570双机Oracle10g的实施问题就折腾的无语。
4、再次论证了很多甲方和厂商基本都是:事前猪一样,事后诸葛亮。和目前国内流行的砖家叫兽有异曲同工之妙。
5、做技术果然是一条不归之路
在Oracle 11g中,exp默认不能导出空表。用传统的exp,imp进行异构平台数据库迁移会比较麻烦。不过可以使用expdp、impdp进行迁移。
把64位windows 2003的Oracle11gR2数据库迁移到64位Linux RedHat Enterprise 5中,可以使用expdp、impdp进行迁移数据。
如:Windows为A服务器,Linux为B服务器,数据库用户为test,把A服务器的数据迁移到B服务器中
在A服务器操作:
SQL& create directory expdp_dir as 'D:\mzl\backup ';
SQL& grant read,write on directory expdp_dir to test;
2、在windows目录创建目录D:\mzl\backup
3、在DOS命令窗口导出:
expdp test/test DIRECTORY=expdp_dir DUMPFILE=test.dmp logfile=testexpdp.log
在B服务器中操作:
4、SQL& create directory impdp_dir as '/home/oracle/impdp_dir';
& SQL& grant read,write on directory impdp_dir to test;
1、 在系统中需要有/home/oracle/impdp_dir目录,在impdp_dir目录下必须有读写权限
(chmod 777 impdp_dir)
5、用ftp把A服务器导出的数据上传到B服务器的/home/oracle/impdp_dir目录中
在A服务器中配置好B服务器的服务器名,在A服务器导入数据
6、在DOS命令窗口导出:
impdp test/test@B_database DIRECTORY=impdp_dir DUMPFILE=test.dmp logfile=testimpdp.log
(这里注意大小写,如果test.dmp在linux中为大写,必须更改为大写。Linux区分大小写)
本篇文章来源于 Linux公社网站()& 原文链接:/Linux/46.htm
& 在oracle 11g r2中,发现传统的exp居然不能导出空的表,然后查询一下,
发现需要如下的步骤去搞,笔记之。
oracle 11g 新增了一个参数:deferred_segment_creation,含义是段延迟创建,默认是true。具体是什么意思呢?
如果这个参数设置为true,你新建了一个表T1,并且没有向其中插入数据,那么这个表不会立即分配extent,也就是不占数据空间,只有当你insert数据后才分配空间。这样可以节省少量的空间。
1 设置deferred_segment_creation 参数为FALSE后,无论是空表还是非空表,都分配segment。
&& 在sqlplus中,执行如下命令:
&& SQL&alter system set deferred_segment_creation=
&& SQL&show parameter deferred_segment_
&& 该值设置后只对后面新增的表产生作用,对之前建立的空表不起作用。
&& 注意并且要重新启动数据库,让参数生效
2& 使用ALLOCATE EXTENT的说明
&& 使用ALLOCATE EXTENT可以为数据库对象分配Extent。其语法如下:
&& -----------
&& ALLOCATE EXTENT { SIZE integer [K | M] | DATAFILE 'filename' | INSTANCE integer }
&&& -----------
&& 可以针对数据表、索引、物化视图等手工分配Extent。
&& ALLOCATE EXTENT使用样例:
&&& ALLOCATE EXTENT
&&& ALLOCATE EXTENT(SIZE integer [K | M])
&&& ALLOCATE EXTENT(DATAFILE 'filename')
&&& ALLOCATE EXTENT(INSTANCE integer)
&&& ALLOCATE EXTENT(SIZE integer [K | M]&& DATAFILE 'filename')
&&& ALLOCATE EXTENT(SIZE integer [K | M]&& INSTANCE integer)
&&& 针对数据表操作的完整语法如下:
&& -----------
&&& ALTER TABLE [schema.]table_name ALLOCATE EXTENT [({ SIZE integer [K | M] | DATAFILE 'filename' | INSTANCE integer})]
&&& -----------
&&& 故,需要构建如下样子简单的SQL命令:
&& -----------
&& alter table aTabelName allocate extent
&& -----------
3.2 构建对空表分配空间的SQL命令,
&&& 查询当前用户下的所有空表(一个用户最好对应一个默认表空间)。命令如下:
&& -----------
&& SQL&select table_name from user_tables where NUM_ROWS=0;
&& -----------
&& 根据上述查询,可以构建针对空表分配空间的命令语句,如下:
&& -----------
&& SQL&Select 'alter table '||table_name||'' from user_tables where num_rows=0
&&& -----------
&& 批量输出上述生成的SQL语句,建立C:\createsql.sql,其内容如下:
&& -----------
&& spool C:\allocate.
&& Select 'alter table '||table_name||'' from user_tables where num_rows=0;
&&&
&& -----------
&& 执行C:\createsql.sql,命令如下:
&& -----------
&& SQL&@ C:\createsql.
&& -----------
&& 执行完毕后,得到C:\allocate.sql文件。
&& 打开该文件会看到,已经得到对所有空表分配空间的命令SQL语句。
3.4 执行SQL命令,对空表分配空间:
&& 执行C:\allocate.sql,命令如下:
&& -----------
&& SQL&@ C:\allocate.
&& -----------
&& 执行完毕,表已更改。
3.4 此时执行exp命令,即可把包括空表在内的所有表,正常导出。
浏览 12500
浏览: 94818 次
来自: 内蒙古
有才。。。。看来仁兄对实施颇有感触啊!
HKEY_LOCAL_MACHINE\\SOFTWARE\\M ...

我要回帖

更多关于 oracle exp导出表数据 的文章

 

随机推荐