`
yelr_j
  • 浏览: 66325 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

DMP文件更换表空间的方法

 
阅读更多

从一个数据库中导出来的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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics