Oracle Database を使ってみた

Oracle Databaseの稼働

以前の「Oracle Database をインストールしてみた」の記事では、インストールする工程を紹介しました。

今回は、インストールの完了したデータベースをを実際に使用してみる事にします。

Oracle Enterprise Manager Database Express

WEBブラウザから Oracle Database を管理できるツールです。

https:// [インストールしたサーバー名かipアドレス]:[ポート]/em で接続します。

Oracle Database をインストールしてみた」の記事中では、

で5500を指定したので、ポートは5500です。

サーバーのアドレスが192.168.1.23だったときは

となります。

エラーが出ますが、現在のSSLの形式とあっていないためのようです。

これはGoogle Chromeの画面ですが、詳細設定ボタンから、安全でない事を承知で開くリンクがありますので、そこから開きます。

接続できました。

ネットワークからOracleを使う

Oracle Database をインストールしてみた」の記事中では、Oracle Linux上にデータベースをインストールしました。

これを、同じLAN上のWindows 10マシンから使用してみます。

Oracle Database clientの取得

Windows10からネットワーク上のoracleを使用するには、オラクルのサイトからOracle Database client ファイルを取得します。

Oracle Database client 19cのワードで検索します。

Windows10にあわせ、64bitを選択します。

oracleからダウンロードされるのは、サーバーやLinuxのisoと同様、exeファイルなので、それを実行し、ダウンロード場所をきめてファイルを取得します。

zipファイルが取得できたら展開しますが、フォルダが深いようで、エラーが出る場合があります。

その場合は、zipファイルをCドライブやDドライブの直下など、浅い場所だと問題なく解凍できるようです。

Oracle Database clientのインストール

解凍が終わったら、clientというフォルダが出来ているので、その中にあるsetup.exeを実行します。

exeファイルを実行します。

管理者を選択します。

Windowsは既にユーザーがいるはずなので、それを使用します。

インストール位置です。デフォルトで問題ないでしょう

サマリが表示されます

インストールが開始されます。

成功しましたと表示されたら完了です、

Windowsのコマンドプロンプトから接続できました。

A5M2でも問題無く接続できました。

Windowsのコマンドプロンプトには次のコマンドをいれました。

sqlplus /nolog

CONNECT HR/HR@oracledb:1521/orcl

Oracle Databaseサーバーを停止する

Oracle の動いているLinuxサーバーを停止させるには、事前にOracleデータベースを停止します。
同時にリスナーも停止します。

$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Tue Apr 20 15:36:13 2021
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Connected to an idle instance.

SQL>SHUTDOWN NORMAL

$ lsnrctl stop

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 27-APR-2021 14:58:50

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracledb)(PORT=1521)))
The command completed successfully

Oracle Databaseサーバーを起動する

一度、停止させたので、Oracle Databaseを起動させます。

$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Tue Apr 20 15:36:13 2021
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Connected to an idle instance.

SQL>STARTUP
ORACLE instance started.

Total System Global Area 2415917880 bytes
Fixed Size                  8899384 bytes
Variable Size             520093696 bytes
Database Buffers         1879048192 bytes
Redo Buffers                7876608 bytes
Database mounted.
Database opened.

SQL> quit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
$

リスナーが動いているか確認します。

$ lsnrctl

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 20-APR-2021 16:03:16

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

Welcome to LSNRCTL, type "help" for information.

LSNRCTL> service
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused

※起動していないので、起動します。

LSNRCTL>start

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 20-APR-2021 18:40:50

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

Starting /u01/app/oracle/product/19.3.0/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Log messages written to /u01/app/oracle/diag/tnslsnr/oracledb/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracledb)(PORT=1521)))

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                20-APR-2021 18:40:52
Uptime                    0 days 0 hr. 0 min. 2 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         /u01/app/oracle/diag/tnslsnr/oracledb/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracledb)(PORT=1521)))
The listener supports no services
The command completed successfully

LSNRCTL> status

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                20-APR-2021 18:40:52
Uptime                    0 days 0 hr. 0 min. 8 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         /u01/app/oracle/diag/tnslsnr/oracledb/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracledb)(PORT=1521)))
The listener supports no services
The command completed successfully

LSNRCTL> quit

パラメーター値も確認しておきます

SQL> show parameter dispatchers

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
dispatchers                          string      (PROTOCOL=TCP) (SERVICE=orclXD
                                                 B)
max_dispatchers                      integer

SQL>show parameter shared_servers

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
max_shared_servers                   integer
shared_servers                       integer     1

SQL> SELECT DBMS_XDB_CONFIG.GETHTTPSPORT FROM DUAL;

GETHTTPSPORT
------------
        5500

これで、Windowsマシンから、sqlplus や A5M2で再度接続できました。

ODBCで接続する

ODBCでOracleに接続し、Excelなどにデータを取り込むには、ドライバーとDSNの設定が必要です。

MySQLのように、ODBCドライバをダウンロードしてくる必要がある場合もありますが、今回は、Oracle Database clientをインストールしているため、ドライバはそれが表示されています。

ユーザーDSNタグを選択し、追加ボタンを押すと、ドライバの選択画面になります。
インストールしたOracle Database clientの名前を選択し、完了ボタンをクリックします。

すると、接続するデータベースの情報を入力する画面になるのですが、MySQLやPostgreSQLのDSN設定画面と違い、サーバー名やユーザー名を入力するフィールドが無い事が判ります。

これは、OracleのODBSに、TNSサービス名が必要なためです。
作成には、OracleのNet Managerを使用します。

TNSサービス名の作成

Windows10のスタートボタンから、インストールしたOracle Database clientを探します。

プログラムのなかに、Net Manager があるはずなので、クリックして起動します。

Net Managerが立ち上がりました。

+ボタンで作成し、名前としてORACLE19Cを与えます。

プロトコルはデフォルトのTCP/IPのままです

ホスト名は、Oracleデータベースが稼働中のLinuxのホスト名を指定します

サーバーでデータベース作成に決めたサービス名を入力します

完了しました。テストを押下してみます。

接続に成功しました。

出来上がったサービス名を保存します

Oracle Database clientをインストールしたフォルダ+network\admin にファイルができています。

環境変数の設定

Oracle Database clientをインストールしたフォルダ+network\admin に出来ない場合は、環境変数がうまく設定されていないかもしれません。

環境変数で、ユーザー環境変数に、TNS_ADMINという変数名で、Oracle Database clientをインストールしたフォルダ+network\admin を設定します。

tnsnames.ora の内容

入力内容で作成されたテキストファイルになっています。

# tnsnames.ora Network Configuration File: C:\app\client\kazuhiro\product\19.0.0\client_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

ORACLE19C =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = oracledb)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )


改めて、TNSサービス名に先ほど決めたサービス名を設定します。

データーソース名は判りやすいものを適当に入力します。

接続テストを押せば、Oracleデータベースサーバーに接続しているはずです。

Excelにサンプルスキーマーを呼び出してみる

ExcelからODBCでOracleを指定し、データを呼び出してみます。

作成したODBCで、データを呼び出す事ができました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です