このエラーについてGoogle [d] ORA-12560:TNS:protocol adapter errorしかし、実際の理由とこのエラーを解決する方法を見つけることができませんか?
ログインの問題を解決する完璧なソリューションを教えてください。
Windowsの[スタート]-> [実行]-> Services.mscに移動します。 OracleService <SID>(ここではOracleServiceORCL
)を見つけ、Start
をクリックしてOracleデータベースサービスを開始します(まだ実行されていない場合)
起動して実行したら、コマンドプロンプトから次を実行します。
tnsping < tnsalias >
(tnsaliasエントリはtnsnames.ora
ファイルで見つけることができます)
私の場合、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
データベースが起動していないようです。これは、マシンの再起動が原因である可能性があり、インスタンスは自動起動に設定されていないため、サービス画面から起動した後に通常起動されません。
コマンドプロンプトに移動するだけ
Oracle SIDの設定C:> set Oracle_sid = ORCL
Net startコマンドを実行します。 C:> net start oracleserviceORCL
環境変数に次の変数と値を追加して、tnsnames.oraファイルの場所を識別します。
TNS_ADMIN
C:\ Oracle\product\10.2.0\client_1\network\admin
コマンドコンソールからこのエラーが発生した場合は、sqlplus/nologと入力することで回避できます。
conn user/pass @Host:port/serviceに接続できます
多くの場合、これはリスナーが起動していないことを意味します。 [サービス]パネルを確認します。
Windowsでの(別の)一般的な原因は、Oracle_SIDがレジストリで定義されていないことです。レジストリを編集するか、CMDボックスにOracle_SIDを設定します。 (sqlplusw.exeを実行するため、レジストリを編集することをお勧めします。)
多くを検索した後、それを解決する簡単な方法を得ました。手順に従うだけです。
lsnrctl status
と入力します次のディレクトリにあるlistener.ora
ファイルを開きます:C:\oraclexe\app\Oracle\product\11.2.0\server\network\ADMIN
My Computer
を右クリックしてコンピューター名を確認し、次のようにHostパラメーターをコンピューター名に置き換えて、コンピューター名を取得できます。
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(Host = Electron-PC)(PORT = 1521) ) ) )
したがって、ここでHost = Electron-PC
を観察できます。これは私のコンピューター名です。
Listener.oraファイルを保存し、再びcammandプロパティに戻ります
3.コマンドプロンプトlsnrctl start
に次のように入力します
これにより、OracleTNSListner
が開始されます。
タスクマネージャーの[サービス]タブを開くと、サービスで確認できます。自動的に開始されない場合は、開始できます。
これだけで、Oracleで再び作業する準備が整いました。
最高の幸運。
私は問題を簡単な方法で解決しました。私のオラクルは過去にうまく動いていました。 MS SQL Serverをインストールした後、この問題に気付きました。マシンからMS SQL Serverをアンインストールしたところ、問題はなくなりました。その後、必ずコンピューターを再起動してください。これで、SQLPlusを介してOracleデータベースに再び接続できます。私の推測では、2つの間にいくつかの矛盾があると思います。お役に立てれば。
私のためにちょうど働いた別の可能な解決策...私はdba権限としてローカルログインを使用していたと考えています。
手順に従ってサービスにアクセスします。インスタンスを右クリックして、「ログオン」に進みますか? (名前ではないかもしれませんが、権限を含むタブの1つです)。 LOCALを使用するように設定を変更します。
私の場合(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
上記のいずれも機能しない場合は、これを試してください: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ファイルに移動します。 -変更を行うと、保存できるようになります
流れるステップを流れます。
$ 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)
)
)
例:
ユーザー名:your_database_username
password:Your_database_password
Oracle_connection_alias:上記の例の場合、SCHEMADEV。
どのデータベースにログオンするかをSQLPlusに伝える必要があります。ホスト文字列は、TNSNames.oraファイルで構成された接続文字列またはエイリアスである必要があります。
ORA-12560:TNS:プロトコルのアダプタのエラー
私の場合、(ORA-12560:TNS protocol adapter error)データベース、ユーザー名、パスワードなどのデータベース接続の問題の原因です。
問題が発生したら。最初に接続の詳細を確認する、Oracleサービスなどを確認した後にする必要があります。
接続の詳細をいくつか見逃したので、私だけがTNSプロトコルアダプターエラー、接続の詳細を変更しますが、正常に動作します。
本当に私のマシンで機能しました。しかし、OracleServiceORCLの代わりにOracleServiceXEを見つけました。
「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 ........