oracle 如何导出指定表空间的数据?
3个回答
展开全部
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;
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;
展开全部
楼上正解。
EXP
FILE="D:\aa.DMP"
LOG="D:\exp_aa.log"
TRANSPORT_TABLESPACE=Y
TABLESPACES=('DATA' )
EXP
FILE="D:\aa.DMP"
LOG="D:\exp_aa.log"
TRANSPORT_TABLESPACE=Y
TABLESPACES=('DATA' )
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么版本的oracle数据库?只有10g以后的才可以
更多追问追答
追问
是10g的,我在一个user里建的一个表属于tablespace1,其他的属于tablespace2,我想只到user中属于tablespace2的数据
追答
你tablespace1里的表和tablespace2表里的数据有依赖关系没?就是说有没有主外建关系还有tablespace2里的表的索引在什么表空间?只有没有依赖性且表的索引和数据都在一个表空间里才可以导
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询