有时候我们前一段时间登陆Oracle的数据库还是可以的,结果到第二次登陆就会包ora-12514错误。
下面我来分析一下为什么会发生这种错误:
由于连接方式是sys/orcl@orcl 这样是走监听的,而关闭数据库之后,监听也是关闭的,所以你无法通过这种方式连接。
解决方式:1.退出登录,然后lnsrctl start 再用此方式启动
方式2 退出登录后,sqlplus / as sysdba 启动数据库,再进行连接
这里有的人可能就会问了:如果不加@orcl 数据库关闭监听也是关闭的,但是启动以后,为什么就可以了。
这里我说一下
因为如果加@的话,那是通过网络访问,要走监听,而数据库关闭的命令是也要将监听关闭的,监听关闭了,你用@就无法连接了,因为没有提供服务。
不加@的连接方式是本地连接,不走网络服务,所以可以直接连进去。而startup数据库的时候,会随之将监听服务也启动,所以启动后就可以访问了。
在安装数据库的时候,安装完软件,然后用dbca建库后,你是可以访问库的,而此时并未配置监听,必须配置监听后才能提供网络连接。
还有就是当你有两个库的时候,你用sqlplus / as sysdba 是没有用@的 所以就不走网络 也就没有用到监听。这是你就会突然想到难怪用DBA身份就可以连接数据库,自己新建的库却怎么也连接不上。