oracle 如何导出指定表空间的数据?

 我来答
百度网友fc4c49a
2011-04-02 · TA获得超过142个赞
知道答主
回答量:40
采纳率:0%
帮助的人:0
展开全部
1.确定表空间是否为自包含表空间。
SQL>execute dbms_tts.transport_set_check(ts_list=>表空间名,incl_constraints=>TRUE);
说明:
参数ts_list用于指定要搬移的表空间,incl_constraints用于指定是否检查完整性约束。

执行完过程dbms_tts.transport_set_check之后,系统将违反自包含表空间的信息存入临时表transport_set_violations。查询该表时,如果没有返回任何信息,说明表空间是自包含的,否则会返回非自含表空间的原因,也就是要导出的表空间名还必需要包括的其它表空间名。

2.导出表空间信息
2.1首先设置表空间为只读。第一步查出有多少表空间就需要做多少个。(假设2个apps_ts_tx_data和apps_ts_tx_idx)
SQL>alter tablespace apps_ts_tx_data read only;
SQL>alter tablespace apps_ts_tx_idx read only;
2.2 导出数据
SQL>EXP transport_tablespace=y tablespaces=apps_ts_tx_data,apps_ts_tx_idx read file=expdat.dmp

注意:导入完后需要执行以下命令将表空间设置为读写。
SQL>alter tablespace app_data read write;
aaliuhl
2011-04-02 · 超过11用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:18.8万
展开全部
楼上正解。
EXP
FILE="D:\aa.DMP"
LOG="D:\exp_aa.log"
TRANSPORT_TABLESPACE=Y
TABLESPACES=('DATA' )
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
minxiaoxiang
2011-04-02 · 超过39用户采纳过TA的回答
知道答主
回答量:165
采纳率:100%
帮助的人:115万
展开全部
什么版本的oracle数据库?只有10g以后的才可以
更多追问追答
追问
是10g的,我在一个user里建的一个表属于tablespace1,其他的属于tablespace2,我想只到user中属于tablespace2的数据
追答
你tablespace1里的表和tablespace2表里的数据有依赖关系没?就是说有没有主外建关系还有tablespace2里的表的索引在什么表空间?只有没有依赖性且表的索引和数据都在一个表空间里才可以导
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式