注释:
相信一些公司习惯将真实的表数据和索引不在一个表空间;
(例如:服务器'编号:59' TEST 用户 T1表数据在 DATA表空间,索引在 IDX表空间)
那怎么实现导到 其他服务器'编号:69' TEST用户 T1表数据在 USERS 表空间,索引在 USER01 表空间;
方案:
1)
手动 其他服务器 TEST用户下创建表和索引分别指向;---表少可以这样做
2)
设置目标 TEST用户 默认表空间 USER01,impdp 时加参数TRANSFORM ,索引 通过 remap_tablespace参数更改到自己想指定的表空间;
3)
是否可以有这样的参数,来实现 如果对象的表空间=data 改成
USER01
,
表空间=ind 改成
USER01
;
|
简单说下2个参数意义:
TARGET_EDITION:用于加载元数据的版本。
TRANSFORM=segment_attributes:n 使用TRANSFORM选项可以完成去掉表空间和存储子句的目的,这样我们便可以控制导入时按照目标默认的参数
REMAP_TABLESPACE:将表空间对象重新映射到另一个表空间。
|
带着方案/思想去实验下哈~
方案一)create table ..tablespace ..;create index
..tablespace ..;在这就不说明了....
方案二)
步骤:
搭建环境:
1)在
服务器'编号:59 ' 上创建用户/表/索引
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.3.0
Connected as sys@192.168.0.59/testdb AS SYSDBA
SQL>
SQL> create user test identified by test ;
User created
SQL> grant dba to test;
Grant succeeded
SQL> conn test/test@192.168.0.59:1521/testdb
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.3.0
Connected as test@192.168.0.59:1521/testdb
SQL> create table t1 tablespace FWS_BUSINESS_DATA as select * from sinotest.cs_order ;
Table created
</
|