前言
最近安装Oracle11g,重启电脑后,无法登陆数据库,到sqlplus登陆时就报错,没有例程。。。等等(忘记截图了),去看了下服务,监听器和实例服务都是开着的,就是无法启动数据库,到网上找了一些教程,通过 sqlplus / as sysdba 这种方式登录数据库,然后输入 startup 命令启动数据库就报了这两个错误。
个人分析,应该是监听器配置出现了问题,如果有知道的园友,麻烦告知一二。
解决步骤
1.先以 sqlplus / as sysdba 方式启动sqlplus
sqlplus / as sysdba
2.创建pfile
create pfile from spfile
3.找到新建立的pfile,新建的pfile根据OS不同保存位置可能不一样(根据个人的Oracle安装路径查找)
windows::oracleproduct11.2.0dbhome_1databaseinit$sid.ora
UNIX:D:oracleproduct11.2.0dbhome_1databaseINIT$sid.ora
($sid:是你的实例名,默认是orcl)
4.修改INIT$sid.ora文件
*.local_listener='(ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))'
(如果没有 local_listener ,自行添加)
5.到sqlplus这边以pfile重新启动
startup pfile='oracleproduct11.2.0dbhome_1databaseinit$SID.ora';
(这里的$SID是配置的环境变量,是数据库实例名,要根据个人的情况填写)
6.根据pfile重新创建spfile
create spfile from pfile;
7.重启数据库
1 shutdown immediate (关闭) 2 startup (打开)
参考链接