从一个数据库中导出来的dmp文件,它的表空间是scms,现在导入到另一个数据库中去,在那个数据库中建立了一个gsscms的用户,使用的是wzgl_data的表空间。在导入的时候就指定为wzgl_data的表空间的方法如下:
1、在原数据库中建立表空间wzgl_data
2、在原数据库中任意建一个数据库用户,如gsscms111202,该用户使用的表空间与dmp文件中的一致,还是scms。将dmp导入用户gsscms111202中
3、修改gsscms111202用户中的所有表和索引的表空间为wzgl_data,过程如下:
(1)修改表所属表空间为wzgl_data
select 'alter table ' || table_name || ' move tablespace wzgl_data; '
from all_tables
where tablespace_name = 'SCMS'
and owner = 'GSSCMS111202';
然后执行生成的语句即可
(2)修改表的索引所属表空间为wzgl_data
select 'alter index ' || index_name || ' rebuild tablespace wzgl_data; '
from dba_indexes
where tablespace_name = 'SCMS'
and owner = 'GSSCMS111202';
然后执行生成的语句即可
4、处理LOB大字段类型处理
select 'alter table ' || a.TABLE_NAME || ' move lob(' || a.COLUMN_NAME ||
') store as (tablespace WZGL_DATA);'
from user_tab_columns a
where a.DATA_TYPE = 'CLOB';
然后执行生成的语句即可
5、导出用户为gsscms111202的数据库,dmp文件中的用户和索引的表空间已经变更为wzgl_data
DMP文件更换表空间的方法
最新推荐文章于 2023-11-30 21:53:45 发布