Centosに11gをインストールしましたVM私のMacにあります。サーバー上ですべてが正常に動作しており、cenosで実行した次のコマンドが含まれています。
$ lsnrctlステータス
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 23-JUN-2014 14:49:41
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=hayer)(PORT=1522)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 23-JUN-2014 14:03:58
Uptime 0 days 0 hr. 45 min. 42 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/Oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/app/Oracle/diag/tnslsnr/hayer/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(Host=hayer)(PORT=1522)))
Services Summary...
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
私のtnsnames.oraファイルは次のとおりです。
# tnsnames.ora Network Configuration File: /u01/app/Oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(Host = hayer)(PORT = 1522))
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = hayer)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
(SID = orcl)
)
)
~
~
~
~
Centosサーバーでは、sqlplusを使用してログインすることもできます。 Windowsのtnsnames.oraをserverと同じに変更しました。WindowsHostファイルにOracle Host情報を追加し、ポート1522でOracle Hostとtelnet Hostにpingを送信できます。
私はサービスiptablesを無効にしているので、centosにファイアウォールのタイプは存在しません。
しかし、私はまだWindowsクライアントで次のエラーが発生します:
SQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 23 14:51:31 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Enter user-name: system as sysdba
Enter password:
ERROR:
ORA-12560: TNS:protocol adapter error
Enter user-name: system as sysdba
Enter password:
ERROR:
ORA-12560: TNS:protocol adapter error
Windowsクライアントでは、TNSエイリアス@ORCL
を指定する必要があります。指定しない場合、Windowsクライアントで実行されているローカルデータベースに接続しようとしていると想定しますが、存在しません。また、system as sysdba
は一般的には使用されません。 SYS as sysdba
および単純なsystem
が使用されます。
Enter user-name: system@ORCL
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning option
Windowsクライアントでtnsnames.ora
を設定していない場合でも、tnsnamesを設定する代わりに、EZCONNECT文字列@"hayer:1522/orcl"
を介して接続できます(そうです、引用符が必要です)。
Enter user-name: system@"hayer:1522/orcl"
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning option