この記事は約9分37秒で読むことができます。

sql oracle クライアントとサーバプロセス

クライアントアプリ

Oracleに対してSQLを発行し、その実行結果を受け取るアプリの総称

サーバープロセス

SQL*Plusなどのクライアントアプリから発行されたSQLを受け取り、検索・更新などの各種処理を実行するプロセス

1つのセッションごとに、1つのサーバープロセスが起動

リスナー

クライアントアプリからネットワークを介して送信されたインスタンスへの接続要求を受け付けるプロセス

リスナーを介した接続形態を「リモート接続」と呼ぶ。ネットワークを介してインスタンスに接続する場合は、インスタンスと同じマシンにリスナーが起動している必要がある。

同じマシンからデータベースに接続する場合は、リスナーを介さずにインスタンスに接続することができる。この接続形態を「ローカル接続」と呼ぶ。ローカル接続のみを使川する場合、データベースサーバーでリスナーを起動しておく必要はない。

Oracle Net Services

クライアントマシン(インスタンスに接続するマシン)とデータベースサーバー(インスタンスが稼動するマシン)に構成する必要がある。データベースサーバー上のOracleはクライアントマシン上で動作するクライアントアプリケーションからの要求に応じてサービスを提供する。

ローカル接続

ローカル接続とは、インスタンスが稼動するマシン(データベースサーーバー)上のクライアントアプリケーションから、インスタンスにアクセスする場合にのみ使用できる接続方法のこと。sqlplusでつなぐときとか。

リモート接続

リモート接続は、データベースサーバー以外の接続元マシン(クライアントマシン)のクライアントアプリケーションから、ネットワークを介してインスタンスにアクセスする場合に利用する接続方法のこと。sqldeveloperとかでつなぐときとか。

Oracle Client

OracleNetServicesを含む。

OracleNetServicesの設定ファイル

listener.ora


[oracle@centos7 ~]$ docker exec -it orcl_18cr3 bash
[oracle@c75932116d78 ~]$ find / -name listener.ora -type f 2>/dev/null
/opt/oracle/product/18c/dbhome_1/network/admin/samples/listener.ora
/opt/oracle/oradata/dbconfig/ORCL/listener.ora
[oracle@c75932116d78 ~]$ vi /opt/oracle/oradata/dbconfig/ORCL/listener.ora

LISTENER =
(DESCRIPTION_LIST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
  )
)

DEDICATED_THROUGH_BROKER_LISTENER=ON
DIAG_ADR_ENABLED = off

tnsnames.ora


[oracle@c75932116d78 ~]$ find / -name tnsnames.ora -type f 2>/dev/null
/opt/oracle/product/18c/dbhome_1/network/admin/samples/tnsnames.ora
/opt/oracle/oradata/dbconfig/ORCL/tnsnames.ora
[oracle@c75932116d78 ~]$ vi /opt/oracle/oradata/dbconfig/ORCL/tnsnames.ora

ORCL=localhost:1521/ORCL
PDB1=
(DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
  (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = PDB1)
  )
)


[oracle@c75932116d78 ~]$ lsnrctl

LSNRCTL for Linux: Version 18.0.0.0.0 - Production on 14-JAN-2019 18:25:44

Copyright (c) 1991, 2018, Oracle.  All rights reserved.

Welcome to LSNRCTL, type "help" for information.

LSNRCTL> help
The following operations are available
An asterisk (*) denotes a modifier or extended command:

start           stop            status          services
servacls        version         reload          save_config
trace           spawn           quit            exit
set*            show*

LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 18.0.0.0.0 - Production
Start Date                13-JAN-2019 17:50:11
Uptime                    1 days 0 hr. 35 min. 48 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/product/18c/dbhome_1/network/admin/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/c75932116d78/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=c75932116d78)(PORT=5500))(Security=(my_wallet_directory=/opt/oracle/admin/ORCL/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "7f5425dc31710c7ce053030011ac3d6a" has 1 instance(s).
  Instance "ORCL", status READY, has 1 handler(s) for this service...
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...
Service "pdb1" has 1 instance(s).
  Instance "ORCL", status READY, has 1 handler(s) for this service...
The command completed successfully
LSNRCTL>

Leave a Reply

Your email address will not be published. Required fields are marked *