尝试以 SYSDBA 身份连接时出现 ORA-12154

尝试以 SYSDBA 身份连接时出现 ORA-12154

这是我的环境

  1. Oracle 12.2
  2. 非CDB
  3. oracle 用户属于 dba 和 oinstall 组,如下所示

    $ id oracle uid=1000(oracle) gid=54322(dba) groups=54322(dba),54321(oinstall)

  4. ORAPW 文件已使用 ORAPWD 实用程序创建

  5. ORACLE_HOME 和 ORACLE_SID 设置为 DBALIAS

这是我的问题:

我可以使用以下方法连接

a. sqlplus SYS"@DBALIAS" as sysdba (要求输入密码)

b. sqlplus SYS/PW@DBALIAS 作为 sysdba

但是当我使用以下命令时,出现 ORA-12154 错误

sqlplus'/as sysdba'错误:ora-12154:TNS:无法解析指定的连接标识符

答案1

您命令 shell 运行sqlplus程序并为其提供一个参数/ as sysdba。该参数是一个包含空格的单词(这是 shell 中引号的作用)。因此 sqlplus 查找 TNS 名称/ as sysdba并失败。

相反尝试

sqlplus / as sysdba

这是一个程序名称加上三个独立的参数。

如果你真的设置了ORACLE_HOME=DBALIAS,那么它肯定会失败。你需要将它设置为与启动此数据库时使用的字符串完全相同。类似

export ORACLE_HOME=/dir/for/oracle/binaries

如果你设置正确,你应该能够执行

"$ORACLE_HOME"/bin/sqlplus  / as sysdba

相关内容