客户服务器上先安装了oracle数据库软件,后期有人安装了gateway,导致在服务器上不能直接导出数据,尝试各种方式没解决。后来就采用简单粗暴的行为,直接卸载oracle的所有软件,卸载干净重新安装,并覆盖文件。这里主要有两步一个是卸载干净,一个是覆盖文件。
卸载之前,由于没法导出数据库,所以就直接把数据库文件复制出来,主要包括控制文件、日志文件、初始化文件、数据库文件、配置文件等。可通过相关命令查看
控制文件:select name from v$controlfile;
数据文件:select name from v$datafile;
日志文件:select member from v$logfile;
我是直接把oradata文件备份,控制文件备份、初始化文件、监听配置、tns配置等备份
卸载清理oracle,直接百度
安装一定要确保安装路径、配置都和卸载之前保持完全一致,在原目录安装完成后,直接连接数据库,测试数据库是否安装正常。停掉数据库服务以及监听,把备份的文件复制过来,直接替换对应目录的文件。服务全部打开、监听也配置好了,启动数据库服务。sqlplus不能访问,提示已连接到空例程,命令启动数据库startup提示ora-00119和ora-00132。百度之后,通过终于解决了ora-00119和ora-00132这个问题发现是初始化文件的配置问题。其实在用备份文件替换现有文件的时候,并没有体会掉这个初始化文件,主要是个文件的命名每次安装都会变化,不是固定的名字,打开文件用tnsnames.ora中的ADDRESS_LIST
然后在cmd中,执行:startup pfile='你配置文件所在路径';
启动正常,ok。