那样COPY肯定是不行了,Oracle在控制文件中记录着表空间,数据文件等信息。你可以用EXP命令从A机导出,然后再在B机上建立同样的表空间与用户,用IMP命令将库导入即可。

解决方案 »

  1.   

    冷备份或者是transport tablespace
    多找找相关的资料吧~
    一、方案准備:
    1。做cold backup 硬copy.
    2. 做exp imp操作步驟:
    1.B機裝好OS(電腦名稱,ip不可以變同A機)不連網絡
    2.B機裝好oracle (按A機上的路徑,sid等)
    3.停B機上的所有和oracle相關的service并改為手動啟動
    4.改B機的電腦名稱(因為和A機相同)需連上網絡准備copy datafile
    5.停A機上的所有oracle service
    5.1做full exp
    6.把B機重啟連上網絡從A機上copy 所有的datafile(data file,control file,redo file,archive logfile,spfile,pwdfile )
    7.關閉A機,改B機電腦名稱與A機同,也記得ip也要改相同喲!
    8.在B機上改oradata的目錄為從A機上copy過來的!同是替換pwd file,和spfile(它們是放在ORACLE_HOME\DATABASE\下的)
    9.把B機上相關的oarcle service改為自動啟動.
    10.重啟B機成功完成方案<1>首先做备份:
    1、将oradata目录下所有的文件先复制到安全的地方;
    2、database目录下的init*.ora,PWD*.ora到安全的地方
    3、NETWORK\ADMIN目录下的 listener.ora/tnsnames.ora/sqlnet.ora复制到安全的地方
    做好备份之后!!才能彻底删除ORACLE
    4、删除ORACLE,按照:http://www.oradb.net/install/ora_del003.htm
    安装新的软件:
    5、安装路径跟原来的要保持一致,并建立同名的数据库;
    恢复:
    6、将windows中的oracle相关服务停止;
    7、将1/2/3步备份的文件复制覆盖到原目录中;
    8、启动ORACLE服务就可以了;
    二、
    transporting a tablespace 
    sql>alter tablespace sales_ts read only; 
    $exp sys/.. file=xay.dmp transport_tablespace=y tablespace=sales_ts 
    triggers=n constraints=n 
    $copy datafile 
    $imp sys/.. file=xay.dmp transport_tablespace=y datafiles=(/disk1/sles01.dbf,/disk2 
    /sles02.dbf) 
    sql> alter tablespace sales_ts read write; 
      

  2.   

    daydayupliq(接着学吧!) 说明的非常详细,本人用过方案一做过数据库移植
      

  3.   

    关键是你建了2个完全一样的数据库是用来做什么用的,容灾,备份,实现查询业务分离。
    oracle自带的实现这些功能的有Dataguard,TTS(transport tablespace),Stream。
    第三方软件也有很多象(DSG,Quest的产品)
    还有硬件实现容灾的好像叫高速磁盘镜象(没用过)
    有一些关于Dataguard和Stream的文档,给你发个链结有时间瞅瞅看。
    http://epub.itpub.net/6/3.htm
    http://blog.itpub.net/post/89/1295
    http://www.itpub.net/317257.html