2017-03-12 32 views
0

現在、oracle 12cでHRユーザーのロックを解除しようとしています。私は以下の手順を実行しました。 私はtnsname.oraにHRユーザーのロック解除Oracle 12c

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

が挿入されています。その後、コマンドプロンプトでlsnrctl reloadを実行しました。次に、

  1. 私は、Oracleにログイン:

    sqlplus sys as sysdba 
    
  2. ALTER SESSION SET CONTAINER = pdborcl;

  3. ALTER PLUGGABLE DATABASE open
  4. ALTER USER hr IDENTIFIED BY hr ACCOUNT unlock;
  5. conn hr/hr @pdborcl;
ステップ5で

が、私は次のエラーを取得する:

ERROR: ORA-12154: TNS:could not resolve the connect identifier specified 
Warning: You are no longer connected to ORACLE 

私はダブルチェックしていると私はcon_name(pdborcl)が右であり、サービスの名前はtnsname.oraに右であることを確信しています。なぜ私は接続できませんか?

+0

このメッセージはロックとは関係ありません。 – OldProgrammer

+0

はい、私はHRユーザーのロックを解除しようとしたときにエラーが発生しました –

答えて

0

問題を確認するには、次のコマンドを試してください。

  1. tnsping pdborcl

    成功:次のステップへの移行。 失敗:pdborclのTNSエントリがありません。 5月TNSnames.oraファイルはあなたが言及した以外の別の場所です。失敗した場合は、リスナーを使用してDBに登録する必要が

  2. lsnrctl status | grep pdborcl

    それがサービスpdborclをチェックしますがLSNRCTL に登録されているTNS_ADMIN変数に依存しています。

  3. alter session set container=pdborcl;
    select account_status from dba_users where username='HR';

    これはHRのアカウントステータスが表示されます。開いているはずです。

+0

tnsping pdborclを実行すると、「使用されたパラメータファイル:C:¥app¥jjh35¥product¥12.1.0¥dbhome_1¥NETWORK¥SAMPLE¥ sqlnet.ora TNS-03505:名前の解決に失敗しました。私のTNS_ADMINは、C:¥app¥jjh35¥product¥12.1.0¥dbhome_1¥NETWORK¥SAMPLEに設定されています。 Sampleフォルダには、LISTENER、sqlnet、およびtnsnamesファイルが含まれています。 TNS_ADMIN変数に問題はありますか? –

+0

ちょうど私が観察した、ステップ5にはスペースがあります。 –

+0

ちょうど今私が観察した、ステップ5ではパスワードとsidの間にスペースがあります。 "conn hr/hr @pdborcl;"スペースなしで試してみてください。そして、tnsnames.oraファイルがC:¥app¥jjh35¥product¥12.1.0¥dbhome_1¥NETWORK¥SAMPLEフォルダにあることを確認してください。コマンド "lsnrctl status | grep pdborcl"に関するすべての更新が含まれます。そして、あなたは "tnsping pdborcl"が成功したと言いましたが、次の行にエラーがあります。 tnsnamesにエントリがないことを意味します。oraファイル –

関連する問題