これが私の環境です
- オラクル 12.2
- 非CDB
oracleユーザーは次のようにdbaおよびoinstallグループの一部です。
$ id oracle uid=1000(oracle) gid=54322(dba) グループ=54322(dba),54321(oinstall)
ORAPWファイルはORAPWDユーティリティを使用して作成されました
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
シェルにsqlplus
プログラムを実行するように命令し、引数を 1 つ与えました/ as sysdba
。引数は、中にスペースを含む 1 つの単語です (シェルでは引用符がこれを行います)。したがって、sqlplus は TNS 名を検索して/ as sysdba
失敗します。
代わりに試してください
sqlplus / as sysdba
これはプログラム名と 3 つの個別の引数です。
本当に設定した場合ORACLE_HOME=DBALIAS
、確実に失敗します。データベースを起動するときに使用したのとまったく同じ文字列に設定する必要があります。
export ORACLE_HOME=/dir/for/oracle/binaries
正しく設定すれば実行できるはずです
"$ORACLE_HOME"/bin/sqlplus / as sysdba