リモートからOracle 11gデータベースに接続する方法

I have Oracle 11g XE installed on computer A. I can connect through the sql command line using the command connect username/password. I also can send SQL instructions to the Demo database: Select * from demo_customers;

データベースはコンピュータAのローカルホスト上で実行されています。

私はコンピュータBがローカルホスト上のコンピュータAのデータベースに接続したい。どうやってやるの?

12

5 答え

リスナーを開始するには、サーバーAでlsnrctlユーティリティーを実行する必要があります。その後、次の構文を使用してコンピュータBから接続します。

sqlplus username/[email protected]:1521 /XE

デフォルトの1521が使用されている場合、ポート情報はオプションです。

Listener configuration documentation here. Remote connection documentation here.

12
追加された

私はOracleサーバーをインストールし、問題なくローカルマシンから接続することができます。しかし、私のホームネットワーク上の別のMaclaptopからは、Sql DeveloperまたはSql Plusを使用して接続することはできません。いくつかの研究をした後、私はあなたがしなければならないこの追加のステップがあることを理解しました:

Oracleネット・マネージャを使用します。リスナーを選択します。 127.0.0.1またはlocalhost以外のIPアドレス(私の場合は192.168.1.12)を追加してください。

これで、[OracleHome] \ product \ 11.2.0 \ dbhome_1 \ network \ admin \ listener.oraにエントリが追加されます。

  • restart the listener service. (note: for me I reboot machine once to make it work)

  • Use lsnrctl status to verify
    Notice the additional HOST=192.168.1.12 shows up and this is what to make remote connection to work.

    C:\Windows\System32>lsnrctl status
    LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 05-SEP-2015 13:51:43
    Copyright (c) 1991, 2010, Oracle. All rights reserved.
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
    STATUS of the LISTENER


    Alias LISTENER
    Version TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
    Start Date 05-SEP-2015 13:45:18
    Uptime 0 days 0 hr. 6 min. 24 sec
    Trace Level off
    Security ON: Local OS Authentication
    SNMP OFF
    Listener Parameter File
    D:\oracle11gr2\product\11.2.0\dbhome_1\network\admin\listener.ora
    Listener Log File d:\oracle11gr2\diag\tnslsnr\eagleii\listener\alert\log.xml
    Listening Endpoints Summary...
    (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.\pipe\EXTPROC1521ipc)))
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.12)(PORT=1521)))
    Services Summary...
    Service "CLRExtProc" has 1 instance(s).
    Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
    Service "xe" has 1 instance(s).
    Instance "xe", status READY, has 1 handler(s) for this service... Service "xeXDB" has 1 instance(s).
    Instance "xe", status READY, has 1 handler(s) for this service... The command completed successfully

  • use tnsping to test the connection
    ping the IPv4 address, not the localhost or the 127.0.0.1

C:\Windows\System32>tnsping 192.168.1.12
TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 05-SEP-2015 14:09:11
Copyright (c) 1997, 2010, Oracle. All rights reserved.
Used parameter files:
D:\oracle11gr2\product\11.2.0\dbhome_1\network\admin\sqlnet.ora

Used EZCONNECT adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.12)(PORT=1521)))
OK (0 msec)

3
追加された
偉大で、できるだけシンプルです。
追加された 著者 Deepak Chaudhary,

あなたは何もする必要はありませんコンピュータ上の非常に簡単には、両方のシステムが同じネットワーク上にあることを確認します。今すぐコンピュータ上でbスタートメニューに移動oracleフォルダの下の設定を見つけるウィンドウがポップアップすると、そのフォルダの下のNet Configuration Assistantをクリックします。ローカルネット設定オプションは3番目のオプションでなければなりません。

追加をクリックし、次の画面で次をクリックすると、サービス名がここに追加されます。コンピュータAのグローバルデータベース名を追加する必要があります(通常はインストール用にoracle86を使用します)。コンピュータAの名前を入力してください。私のコンピュータのプロパティでそれを見つけることができます。次へをクリックして、コンピュータを変更しない限り、ポートを変更しないでください。次へをクリックしてテスト接続を選択してください。接続が正しく機能しているかどうかを確認できます。パスワード。コンピュータのターゲットに到達できないというメッセージが見つからない場合は、1521ポートのファイアウォールに例外を追加するか、コンピュータAのファイアウォールを無効にする必要があります。

3
追加された

まず、クライアント接続要求を受信するデータベースサーバー(コンピュータA)のリスナーが実行されていることを確認します。これを行うには、 lsnrctl status コマンドを実行します。

TNS:no listener というメッセージ(下の図を参照)が表示された場合、リスナーサービスが実行されていないことを意味します。起動するには、 lsnrctl start コマンドを実行します。

enter image description here

次に、データベース操作とリモートクライアントからの接続では、Windowsファイアウォールの例外リストに次の実行可能ファイルを追加する必要があります(画像参照)

Oracle_home \ bin \ oracle.exe - Oracle Databaseの実行可能ファイル

Oracle_home \ bin \ tnslsnr.exe - Oracleリスナー

enter image description here

最後に、クライアントマシン(コンピュータB)に oracle instant client をインストールして実行します。

sqlplus user/password @ computerA:port/XE

2
追加された
# . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh  

#  sqlplus /nolog  

SQL> connect sys/password as sysdba                                           

SQL>  EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);  

SQL> CONNECT sys/[email protected]:1521 as sysdba
0
追加された