「データベースへの接続の仕組み」を正しく理解する:ゼロからのリレーショナルデータベース入門(8)(1/2 ページ)
企業の成長に不可欠な「データ活用」を推進していくために必要なデータベースシステム/データ基盤の基礎を“あらためて”解説していきます。今回は、「データベースへの接続方法とその仕組み」を解説します。【更新版】
目次
私たちは日々の業務を効率化するために、さまざまなシステムで利用するデータをデータベースに格納しています。その格納されたデータを扱うには、まず「データベースに接続する」ことから始まります。今回は、Oracle Database(以下、Oracle)を例にして「データベースへの接続」の基礎をおさらいします。
接続の種類
データベースには、Oracleインスタンスで動作するサーバプロセスに接続してアクセスします。「ローカル接続」か「リモート接続」のいずれかで行います(図1)。
ローカル接続はデータベースサーバ上で稼働するOSにログインしてからデータベースに接続する方法です。主にデータベースサーバの管理者がデータベースのメンテナンスを行うときなどに利用します。
一方のリモート接続は、ネットワークからデータベースに直接接続する方法です。運用するアプリケーションはほとんどの場合、リモート接続が使われることになります。本稿でもこのリモート接続を中心に解説していきます。
リモート接続のアーキテクチャ
リモート接続の流れを実社会で例えると、「打ち合わせのために他の会社を訪問するとき」と似ています。「行先」を確認した上でその会社へ出向き、「受付」に取り次いでもらってから目的の人に会うでしょう。
リモート接続の仕組みも同じです。クライアント(=皆さん)はまず、接続先(=行先)を指定する「tnsnames.ora」ファイルの情報を読み込み、「リスナープロセス」(=受付)へアクセスします。その後、リスナープロセスにサーバプロセス(=目的の人物)との接続を取り次いでもらいます(図2)。なお、リスナープロセスも「listener.ora」という設定ファイルを用意し、指定された場所であらかじめ動作させておきます。
リモート接続は、必ずリスナープロセスを介して行われます。
このときクライアントがリスナープロセスへ正しくアクセスできるように、「tnsnames.ora」ファイルには「listener.ora」ファイルで指定されたサーバとポート番号を指定しておきます。tnsnames.oraファイルで接続する情報には「別名(ネットワーク識別子)」を付けておき、接続先の情報を簡単に呼び出せるようにしています(図3)(例1)。
[oracle@oralinux ~]$ sqlplus scott/tiger@db_con …省略… Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production に接続されました。 SQL>
以上が「シングルインスタンス」のデータベースへの接続方法の基本となります。
ワンポイント
- リモート接続は「Oracle Net」と呼ばれるコンポーネントを介して行われます。そのため、クライアント、サーバの両方にOracle Netを用意しておきます。Oracle製品をインストールすると、Oracle Netも一緒にインストールされます。
- Oracle Database 12cから提供されているマルチテナント構成においても、プラガブルデータベース(PDB)へ一般ユーザーで接続するには、リモート接続が必要になります。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- SQLの基礎 「SELECT」文を覚えよう
- SQLとはどういう言語か
「SQLは何となく苦手」という人は意外と多いものです。すでに何らかのプログラミング言語を習得している人を見ても、SQLを苦手としている人は少なくありません。そこで、実際にSQLを入力して結果を見ながら学習する連載を始めます。用意するのはインターネットにつながったWebブラウザだけ。気軽に始めてみてください。(編集部) - RDBMS製品のビッグ3、それぞれの“癖”をつかもう
本連載はOracleを使ったデータベースシステムの開発・運用管理にある程度の知識を持つ読者を対象に、Oracle以外の商用RDBMSであるMicrosoft SQL ServerとIBM DB2とのアーキテクチャの違いを明らかにし、マルチベンダに対応できるデータベースシステムの設計・開発・運用ノウハウを紹介していく。(編集局) - NoSQLはRDBMSに取って代わるものなのか?
「memcached」や「Apache Cassandra」、「Apache CouchDB」など、RDBMSとは異なる考えで設計してあるデータベース管理システムが普及しつつあります。この連載では、これら新しいデータベース管理システムの特徴と、RDBMSとの使い分け方について解説します。(編集部)