oracle 如何导出指定表空间的数据?
发布网友
发布时间:2022-04-26 12:14
我来回答
共3个回答
热心网友
时间:2022-04-10 09:34
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;
热心网友
时间:2022-04-10 10:52
楼上正解。
EXP
FILE="D:\aa.DMP"
LOG="D:\exp_aa.log"
TRANSPORT_TABLESPACE=Y
TABLESPACES=('DATA' )
热心网友
时间:2022-04-10 12:27
什么版本的oracle数据库?只有10g以后的才可以