我机器装了个oracle 10g数据库,在F盘。
后来系统重装了,C盘自然没有F盘的数据库信息了。后来重新装了个oracle 10g数据库,我想使用原来 系统在F盘的数据库,该怎么做呢?
好像是可以把数据库文件复制到相应目录,我自己弄了下没成功。又没知道的,弄个具体流程?谢谢。

解决方案 »

  1.   

    直接复制过去就可以了吗?
    oradata这个 文件夹?
      

  2.   

    首先,第一步就想你现在做的那样,将所有oracle的服务全部关闭,然后把原来数据库的整个文件都拷贝过去就OK了,这一步叫做物理恢复,这个时候当然还不能启动数据库了,因为在逻辑上我们还没有真正的恢复。
    第二步,在dos环境下执行一个删除命令:oradim -delete -sid mm,其中mm为创建oracle时候创建的实例 建议执行这个命令后重新启动机器,重启后就可以建立和原来实例名相同的实例。当然你懒,不重新启动也可以,但是你的实例名就不能和原来的一样了。
    第三步,在dos环境下执行命令 oradim -new -sid mm -startmode a -pfile "D:\oracle\admin\mm\pfile\initmm.ora "创建一个新的实例,其中 “mm“为新数据库的名称。
    最后一步,启动服务,先打开数据库,然后可以用以前的用户名和密码登陆进去。 要补充的是,一般的ORACLE数据库的监听程序都是用电脑的名称来识别地址的,而不是127.0.0.1或者localhost。所以,如果我们安装系统的时候用的是不同的电脑名称(比如我原来用的是wm_mm。重新安装后用的是wenming_mm),那么我们还有一个工作要做,就是修改文件 listener.ora。将里面的相关的东西改过来就可以了。总之原理是,先装一个一模一样的ORACLE,安装目录、数据库名称都一样,这样保证注册表里不用更改;再覆盖物理文件,最后重新实例化,打开数据库就可以进去了。注:恢复必须要有以下文件 a、初始化参数文件INIT.ORA b、所有数据文件 .dbf c、所有重做日志文件(联机日志、归档日志)redo d、所有控制文件 crtl e、internal密码文件
      

  3.   

    把ORACLE的启动机制理解了,就懂了