web-dev-qa-db-ja.com

ORA-12560:TNS:プロトコルアダプターエラー

enter image description here

このエラーについてGoogle [d] ORA-12560:TNS:protocol adapter errorしかし、実際の理由とこのエラーを解決する方法を見つけることができませんか?

ログインの問題を解決する完璧なソリューションを教えてください。

52
mr_eclair
  1. OracleデータベースサーバーをホストするWindowsマシンに移動します
  2. Windowsの[スタート]-> [実行]-> Services.mscに移動します。 OracleService <SID>(ここではOracleServiceORCL)を見つけ、StartをクリックしてOracleデータベースサービスを開始します(まだ実行されていない場合) Services

  3. 起動して実行したら、コマンドプロンプトから次を実行します。

    tnsping < tnsalias > 
    

    tnsaliasエントリはtnsnames.oraファイルで見つけることができます)

77
Bharathi

私の場合、WindowsにはOracleService(OracleServiceORCL)Services.mscがありませんでした Bharathiの答え で説明されています。

私はこのコマンドを実行しました:

C:\> ORADIM -NEW -SID ORCL

oracleServiceORCLと呼ばれるOracleServiceがServices.mscに表示され、開始されました。すごくいい。


ソース: https://forums.Oracle.com/forums/message.jspa?messageID=4044655#4044655

23

データベースが起動していないようです。これは、マシンの再起動が原因である可能性があり、インスタンスは自動起動に設定されていないため、サービス画面から起動した後に通常起動されません。

コマンドプロンプトに移動するだけ

  1. Oracle SIDの設定C:> set Oracle_sid = ORCL

  2. Net startコマンドを実行します。 C:> net start oracleserviceORCL

22
Yasir Ahmed

環境変数に次の変数と値を追加して、tnsnames.oraファイルの場所を識別します。

TNS_ADMIN

C:\ Oracle\product\10.2.0\client_1\network\admin

9
user2382157

コマンドコンソールからこのエラーが発生した場合は、sqlplus/nologと入力することで回避できます。

conn user/pass @Host:port/serviceに接続できます

5
demian

多くの場合、これはリスナーが起動していないことを意味します。 [サービス]パネルを確認します。

Windowsでの(別の)一般的な原因は、Oracle_SIDがレジストリで定義されていないことです。レジストリを編集するか、CMDボックスにOracle_SIDを設定します。 (sqlplusw.exeを実行するため、レジストリを編集することをお勧めします。)

3
APC

多くを検索した後、それを解決する簡単な方法を得ました。手順に従うだけです。

  1. リスナーのステータスを確認してください。
    1. コマンドプロンプトを開き、lsnrctl statusと入力します
    2. リスナーは取得しません。
  2. 次のディレクトリにあるlistener.oraファイルを開きます:C:\oraclexe\app\Oracle\product\11.2.0\server\network\ADMIN

    1. そのファイルを開き、コンピューター名でHostパラメーターを変更します
    2. My Computerを右クリックしてコンピューター名を確認し、次のようにHostパラメーターをコンピューター名に置き換えて、コンピューター名を取得できます。

      LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(Host = Electron-PC)(PORT = 1521) ) ) )

      したがって、ここでHost = Electron-PCを観察できます。これは私のコンピューター名です。

    3. Listener.oraファイルを保存し、再びcammandプロパティに戻ります

    3.コマンドプロンプトlsnrctl startに次のように入力します

これにより、OracleTNSListnerが開始されます。

タスクマネージャーの[サービス]タブを開くと、サービスで確認できます。自動的に開始されない場合は、開始できます。

これだけで、Oracleで再び作業する準備が整いました。

最高の幸運。

2
Mrinmoy

私は問題を簡単な方法で解決しました。私のオラクルは過去にうまく動いていました。 MS SQL Serverをインストールした後、この問題に気付きました。マシンからMS SQL Serverをアンインストールしたところ、問題はなくなりました。その後、必ずコンピューターを再起動してください。これで、SQLPlusを介してOracleデータベースに再び接続できます。私の推測では、2つの間にいくつかの矛盾があると思います。お役に立てれば。

2
BigData

私のためにちょうど働いた別の可能な解決策...私はdba権限としてローカルログインを使用していたと考えています。

手順に従ってサービスにアクセスします。インスタンスを右クリックして、「ログオン」に進みますか? (名前ではないかもしれませんが、権限を含むタブの1つです)。 LOCALを使用するように設定を変更します。

2
ClickerTweeker

私の場合(OracleExpressの場合)、サービスは実行されていましたが、接続識別子なしでsqlplus経由でデータベースにアクセスしようとすると、この問題が発生しました:

sqlplus sys/mypassword as sysdba  

動作させるには、接続識別子(Oracle ExpressのXE)を追加する必要があったため、次のコマンドは正常に機能しました。

sqlplus sys/mypassword@XE as sysdba

それでもORA-12560が表示される場合は、XEサービスにpingできることを確認してください。つかいます:

tnsping XE

完全な接続文字列とともにOKメッセージが表示されます(tnspingコマンドは、Oracleのインストールディレクトリにあります:[Oracle express installation dir]\app\Oracle\product\11.2.0\server\bin)。 pingを実行できない場合は、tnsnames.oraファイルがsqlplusに到達可能であることを確認してください。ファイルが置かれているADMINディレクトリを指すTNS_ADMIN環境変数を設定する必要がある場合があります。次に例を示します。

TNS_ADMIN=[Oracle express installation dir]\app\Oracle\product\11.2.0\server\network\ADMIN
1
walkeros

上記のいずれも機能しない場合は、これを試してください:LISTENER.oraを変更します(私のものはOracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.oraにあります)==>データベース(SID)を指すカスタムリスナーを追加します。たとえば、私のSIDはXZ0301です。

## Base XZ03001

SID_LIST_LISTENER_XZ03001=(SID_LIST=(SID_DESC=(Oracle_HOME =
E:\Oracle\product\11.2.0\dbhome_1)(SID_NAME= XZ03001)))

LISTENER_XZ03001=(DESCRIPTION_LIST=(ADDRESS=(PROTOCOL =
TCP)(Host=MyComputerName)(PORT= 1521)))

DIAG_ADR_ENABLED_LISTENER_XZ03001=ON

ADR_BASE_LISTENER_XZ03001=E:\Oracle

マシンを再起動します

Windows 7の場合、以下を使用してLISTENER.oraを変更します。-[スタート]> [すべてのプログラム]> [アクセサリ]に移動します-メモ帳を右クリックし、[管理者として実行]をクリックします。 -[ファイル]> [開く]をクリックし、tnsnames.oraファイルに移動します。 -変更を行うと、保存できるようになります

1
user2129206

流れるステップを流れます。

  1. $ Oracle_home\product\11.2.0\client_1\NETWORK\ADMINの場所にあるlistener.oraおよびtnsnames.oraファイルを編集します

    a。 listener.oraファイルを追加

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
          (ADDRESS = (PROTOCOL = TCP)(Host = 127.0.0.1)(PORT = 1521))
    )
    

ADR_BASE_LISTENER = C:[ここでcは口頭のホームディレクトリ]

b。 tnsnames.oraファイルを追加します

    SCHEMADEV =
            (DESCRIPTION =
                     (ADDRESS_LIST =
                     (ADDRESS = (PROTOCOL = TCP)(Host = dabase_ip)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = SCHEMADEV)
    )
  )
  1. コマンドプロンプトを開き、入力します
    sqlplus username/passowrd @ Oracle_connection_alias

例:
ユーザー名:your_database_username
password:Your_database_password
Oracle_connection_alias:上記の例の場合、SCHEMADEV。

1
Md. Kamruzzaman

どのデータベースにログオンするかをSQLPlusに伝える必要があります。ホスト文字列は、TNSNames.oraファイルで構成された接続文字列またはエイリアスである必要があります。

0
Andrew Cooper

ORA-12560:TNS:プロトコルのアダプタのエラー

  1. 環境変数の設定:Oracle_BASE、Oracle_HOME、Oracle_SID
  2. ユーザーがOracle_GROUP_NAMEの一部であることを確認してください(Windows)
  3. ファイルOracle_HOME/network/admin/sqlnet.oraが次のことを確認してください。SQLNET.AUTHENTICATION_SERVICES =(NTS)
  4. (Windows)新しいOracleクライアントを追加するときは注意してください:PATH envに新しいパスを追加します。変数は物事を台無しにすることができます。この変数の最初のエントリには違いがあります。Oracle_HOME(Oracle_HOME/bin)のsqlplus実行可能ファイルがPATH envで最初に来ることを証明します。変数。
0
Eliandro

私の場合、(ORA-12560:TNS protocol adapter error)データベース、ユーザー名、パスワードなどのデータベース接続の問題の原因です。

問題が発生したら。最初に接続の詳細を確認する、Oracleサービスなどを確認した後にする必要があります。

接続の詳細をいくつか見逃したので、私だけがTNSプロトコルアダプターエラー接続の詳細を変更しますが、正常に動作します

0
muthukumar

本当に私のマシンで機能しました。しかし、OracleServiceORCLの代わりにOracleServiceXEを見つけました。

0
user2851218

「ORA-12560:TNS:protocol adapter error」の問題があり、詳細に注意を払わないために2時間グーグルで検索しました。コマンドプロンプトを開いた後、これがありました:

C:\Users\Frodo>set Oracle_sid=<DB name>

...これは嘘のはずですが、

C:\>set Oracle_sid=<DB name>

C:>の代わりにC:\ Users\Frodo>-それが私の問題でした。これはうまくいきました:

C:\Users\Frodo> cd c:
C:\>set Oracle_sid=<DB name>
C:\>exp ........
0
Cristian Oprea