今天尝试通过PL/SQL工具连接Oracle数据库时,弹出如题所示的错误。而相应地,透过sql plus连接时,出现的问题是:
oracle not avaliable
sharded memory realm does not exist
检查盘符(你自己安装的Oracle路径):\orcl\product\11.2.0\dbhome_1\database\oradim.log发现打印如下日志:
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name 'LISTENER_ORCL'
说明是监听的配置问题!
经过排查,发现 盘符(你自己安装的Oracle路径):\orcl\product\11.2.0\dbhome_1\NETWORK\ADMIN目录下的tnsnames.ora配置少了以下监听配置:
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
原先是只有以下语句:
LISTENER_ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
发现不行。
而发现没有这句也行,但必须要有这句:
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)),保存。
之后,重启监听服务:(计算机-管理-服务和应用程序-服务-):
即可,重连,大功告成。