欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

ORA-07274: spdcr: access error, access to oracledenied.

程序员文章站 2022-04-26 11:57:05
...

在执行sqlplus / as sysdba 登陆数据库的时候报ORA-12545错误,如下:[oracle@source ~]$ sqlplus / as sysdbaORA-12545:Connect

问题现象:

在执行sqlplus / as sysdba 登陆数据库的时候报ORA-12545错误,如下:

[Oracle@source ~]$ sqlplus / as sysdba
ORA-12545:Connect failed because targethost or object does not exist

问题分析:

从报错信息上来看,这个问题应该是个简单且常见的问题,通常都会是由于SID不正确,主机指向不对和在SQLNET.ora中关闭了本地验证,均会报如上错误,但是通过检查,都是没有问题的,如下:

问题解决思路一:

首先我们应当检查上面提到的那几项,结果都没有问题,但是就是死活登不上去:

[oracle@source ~]$ cat /etc/hosts

# Do not remove the following line, orvarious programs
# that require network functionality will fail.

127.0.0.1 localhost.localdomain localhost

192.168.7.20 source
192.168.7.21 target

[oracle@source ~]$ echo $ORACLE_SID
woo

[oracle@source ~]$ cat/DBSoft/product/11.2.4/db_1/network/admin/listener.ora
# listener.ora Network Configuration File:/DBSoft/product/11.2.4/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.20)(PORT = 1521))
)
)

ADR_BASE_LISTENER = /DBSoft

[oracle@source ~]$ cat/DBSoft/product/11.2.4/db_1/network/admin/sqlnet.ora
# sqlnet.ora Network Configuration File:/DBSoft/product/11.2.4/db_1/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
ADR_BASE = /DBSoft

解决问题思路二:

从上并未发现什么有价值的信息,随即检查alert告警日志文件,发下如下报错:

[oracle@source~]$tail -50 $ORACLE_BASE/diag/Woo/woo/alert_woo.log |grep ORA-
ORA-07274: spdcr: access error, access to oracledenied.

从这个错误信息上来看非常陌生,随即上互联网查找有没有解决办法看到askmaclean的blog中有一篇文档对此有介绍,但是环境不一样,实在不行也就死马当活马医了,随即展开问题的解决:

问题解决步骤:

从askmaclean博客中可以看出可能是由于$ORACLE_HOME/bin目录中的oracle文件状态不对导致该问题的发生,我对此问题的解决步骤如下:

1、查看$ORACLE_HOME/bin/ 目录中的oracle这个文件,可以发现没有
[oracle@source ~]$ ll$ORACLE_HOME/bin/oracle
ls: /DBSoft/product/11.2.4/db_1/bin/oracle:No such file or directory

2、随即从其它正常节点将此文件拷贝到该目录中
[oracle@target ~]$scp$ORACLE_HOME/bin/oracle source: $ORACLE_HOME/bin/

3、再次查看该文件及相关权限,,可以看出都是对的
[oracle@source ~]$ ll$ORACLE_HOME/bin/oracle
-rwsr-s--x 1 oracle oinstall 239627073Sep 2 22:38/DBSoft/product/11.2.4/db_1/bin/oracle

4、再次登陆sqlplus,成功,问题解决。
[oracle@source ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production onWed Sep 3 00:12:54 2014
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:

Oracle Database 11g Enterprise EditionRelease 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Miningand Real Application Testing options
SQL>