手上有一台很早的机器了,想把里面的数据拿出来。
OS:Windows NT Server 4.0 SP6
DB:Oracle 8.1.7
找到了这个数据库的完全备份,就是oracle文件夹下的所有东西。机器目前操作系统(NT Server 4.0)和Oracke(8.1.7)软件安装正常,但是没有实例。
将数据文件、日志文件、控制文件、参数文件、密码文件、network/ADMIN都拷贝至相应的位置。根据listener.ora文件更改机器名。
使用
oradim -new -sid mis
建立实例。可以看到监听器和实例的服务均已启动。
设置了ORACLE_SID、ORACLE_HOME环境变量,在注册表中也设置了ORACLE_SID的键值。
sqlplus /nolog
conn / as sysdba
报ORA-12560: TNS: 协议适配器错误。
conn sys/123@mis as sysdba
报ORA-12500:TNS:监听程序无法启动专用服务器进程。查看alert文件,发现没有任何新加内容,最后的一条记录还是2007年的,内容是:"Completed: alter database open"。推断在做这个备份的时候数据库并没有正常关闭。将监听器服务停下,再进行
sqlplus /nolog
conn / as sysdba
同样报ORA-12560: TNS: 协议适配器错误。
conn sys/123@mis as sysdba
报监听器没有启动。请教各位,我该如何恢复它啊?
OS:Windows NT Server 4.0 SP6
DB:Oracle 8.1.7
找到了这个数据库的完全备份,就是oracle文件夹下的所有东西。机器目前操作系统(NT Server 4.0)和Oracke(8.1.7)软件安装正常,但是没有实例。
将数据文件、日志文件、控制文件、参数文件、密码文件、network/ADMIN都拷贝至相应的位置。根据listener.ora文件更改机器名。
使用
oradim -new -sid mis
建立实例。可以看到监听器和实例的服务均已启动。
设置了ORACLE_SID、ORACLE_HOME环境变量,在注册表中也设置了ORACLE_SID的键值。
sqlplus /nolog
conn / as sysdba
报ORA-12560: TNS: 协议适配器错误。
conn sys/123@mis as sysdba
报ORA-12500:TNS:监听程序无法启动专用服务器进程。查看alert文件,发现没有任何新加内容,最后的一条记录还是2007年的,内容是:"Completed: alter database open"。推断在做这个备份的时候数据库并没有正常关闭。将监听器服务停下,再进行
sqlplus /nolog
conn / as sysdba
同样报ORA-12560: TNS: 协议适配器错误。
conn sys/123@mis as sysdba
报监听器没有启动。请教各位,我该如何恢复它啊?
c:\>set ORACLE_SID=mis
c:\>sqlplus /nolog
sql>connect / as sysdba
---这个时候,应该提示连接到空闲进程才行
mis就是原来的SID,这一点可以从listener.ora等文件中看到。
connect / as sysdba
之后应该是显示连接到空闲例程,但是却报了ORA-12560。而同时用set确实可以看到ORACLE_SID这个环境变量的。这一点令我比较郁闷……
是不是因为之前的备份没有正常关闭(这个从alert文件中可以看到)的原因?
oracle QQ群:54775466
欢迎大家进群一起探讨
只要用oradim 创建了服务,然后设置好环境变量,即便不创建监听、不还原数据文件之类的,也是可以连接到空闲进程的
今天又试了一下:
由于手上有完整的oracle文件夹,今天索性就把D盘(Oracle是装在D:\oracle)下的oracle改名为oracle_bak,将备份的完整oracle\文件夹贴上,再次启动Oracle,这样就完全正常了!监听和实例都正常了,而且应用也连上了。也就是说只使用了新装Oracle所建立的C盘里和注册表里的一些东西。
难道说除了数据文件、日志文件、控制文件、密码文件和参数文件之外还需要拷贝一些别的东西,才能实现冷备份的恢复?
应该不是的吧,个人感觉,要和原来的oracle环境一抹一样,才能直接启动成功,否则还需要需要改配置文件以及注册表的。
没错,对于windows环境,理论上来说,你有了数据文件、日志文件、控制文件、密码文件和参数文件等冷备份后,还需要当前注册表里的oracle信息+oracle程序本身才能实现恢复。 不过这两点显然是可以通过重装安装一下oracle以及安装时的设置就可以实现,所以并不是一定要备份。