2003 R2平台oracle 9206数据库冷备份恢复的路径依赖问题
windows 2003 R2做oracle数据库冷备份恢复时遇到路径依赖问题,原库oracle安装在F分区,而恢复到的oracle安装在E分区。两边数据库的版本是完全一致的,除了安装路径不同,sid实例名都为orcl。停下服务器后,把原库的控制文件、数据文件、联机日志文件(online redo files)、初始化参数文件(spfile)、密码文件拷贝到了新库安装目录。如果数据库运行于归档模式,还应单独备份归档日志文件。实际上为了省事,把oracle的安装目录整个同步了一遍。拷贝完后oracle服务无法启动,无法启动就对了。这些关键文件的路径都变了,库肯定是打不开了。怎么办?
两个方法,一是重新安装oracle使其路径与原库一致,二是修改关键文件的路径。第一种没啥意思,就第二种吧。
因为机器名字不同了,所以要打开\oracle\ora92\network\admin下面的几个文件tnsnames.ora、snmp_ro.ora和listener.ora把里面的机器名改成正确的值,snmp_ro.ora和listener.ora文件里面的文件路径改为正确的值。
参数文件里面记录了控制文件的路径,要把这些路径更改过来。oracle 9i默认是使用spfile的,而spfile是二进制的,最好不要直接修改,导出pfile,修改控制文件路径后再导回去就ok了