我在a服务器的数据库上建了个表空间space_a,数据文件是db1.dbf,同时我建了个用户user_a,默认表空间为space_a,
通过用户user_a在该表空间上建了表,并且插入了数据。我在b服务器的数据库上建了个表空间space_a,数据文件是db1.dbf,同时我建了个用户user_a.默认表空间为space_a.a服务器的数据库b服务器的数据库有很大的不同,只有表空间space_a和用户user_a相同。我在a服务器上执行:
                 alter tablespace space_a begin backup
                    host copy   .../db1.dbf    xx1/xx2/
                 alter tablespace space_a end backup.

我把在xx1/xx2/目录下的db1.dbf拿到b服务器上,将原来的b服务器de数据库文件db1.dbf覆盖了,
这样pldev就登不上了,我只想把a服务器的表空间space_a搬到b服务器。
怎么办????给些指点或者代码吧???

解决方案 »

  1.   

    我在a服务器的数据库上建了个表空间space_a,数据文件是db1.dbf,同时我建了个用户user_a,默认表空间为space_a, 
    通过用户user_a在该表空间上建了表,并且插入了数据。 我在b服务器的数据库上也建了个表空间space_a,数据文件是db1.dbf,同时我建了个用户user_a.默认表空间为space_a. a服务器的数据库和b服务器的数据库有很大的不同,只有表空间space_a和用户user_a相同。 我在a服务器上执行: 
      alter tablespace space_a begin backup 
                                host copy .../db1.dbf xx1/xx2/ 
                   alter tablespace space_a end backup. 

    我把在xx1/xx2/目录下的db1.dbf拿到b服务器上,将原来的b服务器de数据库文件db1.dbf覆盖了, 
    这样pldev就登不上了, 我只想把a服务器的表空间space_a搬到b服务器。 
    怎么办????给些指点或者代码吧???
      

  2.   

    上面的看不清
    请看下面
    alter tablespace space_a begin backup 
            host copy .../db1.dbf    xx1/xx2/ 
    alter tablespace space_a end backup.
      

  3.   

    建议看看ORACLE备份/恢复基础知识。
    ORACLE作为一个严谨的数据库系统,肯定不会允许随便拷贝一个文件覆盖就可以获取新数据文件的数据
    像你这种情况,可以考虑导出(EXP/EXPDP)表空间,然后再导入(IMP/IMPDP)或者表空间传输。
      

  4.   

    你两个数据文件,文件头都不一样。
    ORACLE数据文件头会记载数据库本身的信息,根本就是2个不同的数据库,无法直接进行覆盖。
      

  5.   

    尝试在a服务器使用exp导出表空间space_a然后在b服务器使用imp导入
      

  6.   

    数据文件是可以移植的,但需要alter database rename ... to ...
    另外控制文件和重做日志也需要更改.
      

  7.   

    数据文件不能移植,可以用exp/imp
      

  8.   

    方法:使用exp和imp
    具体操作如下:
    a服务器上:C:\>exp user/pwd@sid
    Export: Release 10.1.0.2.0 - Production on 水 2月 10 15:28:18 2010Copyright (c) 1982, 2004, Oracle.  All rights reserved.
    Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
    With the Partitioning, OLAP and Data Mining options
    Enter array fetch buffer size: 4096 >  //缓冲大小,可以选择默认Export file: EXPDAT.DMP > D:\TEST.DMP //导出文件的位置和名称,后缀为dmp
    (2)U(sers), or (3)T(ables): (2)U > t //选择导出对象,导出表,写T
    Export table data (yes/no): yes > yes  //导出数据Compress extents (yes/no): yes > no  //是否压缩Export done in JA16SJIS character set and AL16UTF16 NCHAR character setAbout to export specified tables via Conventional Path ...
    Table(T) or Partition(T:P) to be exported: (RETURN to quit) > dependent //选择要导出的表,此处写表名. . exporting table                      DEPENDENT          7 rows exported
    Table(T) or Partition(T:P) to be exported: (RETURN to quit) >   //可以继续导出表,直接回车退出。Export terminated successfully with warnings.b服务器上:
    C:\>imp user/pwd
    Import: Release 10.1.0.2.0 - Production on 水 2月 10 15:34:19 2010Copyright (c) 1982, 2004, Oracle.  All rights reserved.
    Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
    With the Partitioning, OLAP and Data Mining optionsImport file: EXPDAT.DMP > d:\TEST.DMP Enter insert buffer size (minimum is 8192) 30720>Export file created by EXPORT:V10.01.00 via conventional path
    import done in JA16SJIS character set and AL16UTF16 NCHAR character set
    List contents of import file only (yes/no): no > NOIgnore create error due to object existence (yes/no): no > YESImport grants (yes/no): yes >Import table data (yes/no): yes >Import entire export file (yes/no): no > 按照上面的操作就可以了.
      

  9.   

    可以考虑物理复制,或者用RMAN来duplicate 数据库
      

  10.   

    http://blog.csdn.net/inthirties/archive/2010/01/24/5251784.aspx