oracle导入dmp数据,不同表空间

1,用imp导出数据

    cmd进入orcle安装目录bin下,输入以下命令:

     exp username/password@ORACLEEPP file=c:\hysjb.dmp owner=magazine_hy rows=y

2, 用imp产生index.sql文件

    imp <xe_username>/<password>@XE file=<filename.dmp> indexfile=index.sql full=y

3,修改index.sql文件

      FIND: 'REM<SPACE>' REPLACE: <NOTHING>

    FIND: '"<SOURCE_TABLESPACE>"' REPLACE: '"USERS"'

    FIND: '...' REPLACE: 'REM ...'

    FIND: 'CONNECT' REPLACE: 'REM CONNECT'

ps:查看表空间的语句:

select

df.tablespace_name "TABLESPACE_NAME",totalspace "TOTALSPACE/M",freespace "FREESPACE/M",round((1-freespace/totalspace)*100,2) "USED%"

from

         (select tablespace_name,round(sum(bytes)/1024/1024) totalspace from    dba_data_files group by tablespace_name) df,

         (select tablespace_name,round(sum(bytes)/1024/1024) freespace from dba_free_space group by tablespace_name) fs

where df.tablespace_name=fs.tablespace_name; 

4,使用sqlplus进入执行此sql生成表结构

    sqlplus <xe_username>/<password>@XE @index.sql

5,进入数据库diasble掉依赖。

select   'ALTER   TABLE   '||table_name|| '   disable   constraint   '||constraint_name|| '; '   from   user_constraints

where constraint_type   =   'R';

导出csv文件为imp.sql,删除"号,执行。

6,导入数据,cmd下执行:

     imp <xe_username>/<password>@XE file=<filename.dmp> fromuser=<original_username> touser=<xe_username> ignore=y

7,将imp.sql中的disable替换成enable执行。enable依赖

   



   

posted on 2011-06-14 19:54  小山丘  阅读(3561)  评论(0编辑  收藏  举报

导航