您的位置:首页 > 数据库 > Oracle

oracle遇见问题记录

2017-08-01 19:47 211 查看
Ora-12514:TNS:监听程序当前无法识别链接描述符中请求的服务。

在第一次配置 plsqldev 成功重启电脑之后,电脑突然无法连接数据库,并报出Ora-12514,这种情况首先要确定

监听服务是否启动,然后确定监听文件的配置,是否加上了你连接的数据库的名字:

listener.ora

# listener.ora Network Configuration File: E:\app\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = E:\app\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\app\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)

----------
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = E:\app\product\11.2.0\dbhome_1)
(SID_NAME = orcl)
)
----------
这里就是需要根据实际情况添加的地方
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-SRQ0M5F)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)

ADR_BASE_LISTENER = E:\app


另外,PLSQL的instantclient_11_2文件夹里的tnsnames.ora也要按要求修改

tnsnames.ora:

# tnsnames.ora Network Configuration File: E:\app\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)


这些配置完成之后,不知道是我操作问题还是怎么样,在连接时报出ora-10134和ora-27101两个错误

在一番搜索后,发现了一个解决方法:

ora-10134和ora-27101解决方法

里面大概就是讲

出现ORA-01034和ORA-27101的原因是多方面的:主要是oracle当前的服务不可用,shared memory realm does not exist,是因为oracle没有启动或没有正常启动,共享内存并没有分配给当前实例.所以,通过设置实例名,再用操作系统身份验证的方式,启动数据库。这样数据库就正常启动了,就不会报ORA-01034和ORA-27101两个启动异常了。

为防止链接失效,这里再次阐述一遍:

1 先看oracle的监听和oracle的服务是否都启动了。启动oracle监听:

cmd的命令行窗口下,输入lsnrctl start,回车即启动监听。

2 查看oracle的sid叫什么,比如创建数据库的时候,实例名叫“abc”,那么先手工设置一下oralce的sid,cmd命令窗口中,set ORACLE_SID=abc

3 再输入sqlplus /nolog,回车

再输入 conn / as sysdba;回车

4 再输入startup,回车.这步是启动oracle服务。如果startup启动被告知已经启动了,可以先输入shutdown immediate;等shutdown结束之后,再输入startup。

5 过几秒钟等命令运行完成,就能连接了。这个时候,可以输入”select * from user_tables;”测试一下,看是否有查询结果。

但这里又出现了一个问题,报ora-00119和ora-00132错误,一番搜索之后发现问题根源在于 init.ora.622017233315 这个文件,这个文件的位置根据安装路径有所不同,我的是在 E:\app\admin\orcl\pfile\init.ora.622017233315,这个文件里的local_listener属性的问题:

local_listener=”(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))”

需要把 local_listener的值变成E:\app\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora

里对应数据库名称的 ADDRESS 的值,记得加引号

这么操作下来,Ora-12514算是解决了,plsqldev 也可以连接了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: