Oracle DBとは?概要や特徴・MySQLやPostgreSQLとの比較・基本的な使い方

Oracle DBとは?概要や特徴・MySQLやPostgreSQLとの比較・基本的な使い方のアイキャッチイメージ

Oracle DBとは?


Oracle DB(オラクルデータベース)とは、米国のOracle社が開発・販売を手掛けるRDBMS(リレーショナルデータベースマネジメントシステム)です。

企業の商品在庫や売上などの2次元データを表形式で格納し、SQL言語を用いて入力や検索、消去などの操作を実行します。

RDBMSのなかでも特に知名度が高く、国内外問わず幅広い企業が導入しており、世界中で高いシェアを獲得しました。MysqlやPostgreSQLといった他のRDBMSと比較してコストが割高であるものの、Oracle社の手厚い有償サポートにより根強い人気を誇ります。

Oracle DBの5つの特徴


ここからは、「強固な堅牢性」「読み取り一貫性」「柔軟な移植性」「行レベルロック」「導入費用が割高」というOracle DBの具体的な特徴について紹介しますので、参考にしてください。

強固な堅牢性

Oracle DBは、独自のデータ保護システム「Oracle Data Guard」を持ち、同システムによって強固な堅牢性の性質があります。

Oracle Data Guardは、災害や外部からのサイバー攻撃に備えて通常のデータベースの他に予備データベースを作成します。意図しないシステムの稼働停止があっても、予備分を復旧させることで運用を即座に再開可能です。

企業にとって情報の損失やシステムの停止は甚大な被害になります。業務効率の低下や顧客獲得機会の損失を生み出さないのは大きな強みです。

読み取り一貫性

Oracle DBは、読み取り一貫性が保証されており、更新前後のデータを両方取得してしまうトラブル、ダーティーリードを未然に防止できます。

データにアクセスするユーザーが一貫して更新前の情報を入手する「ルール付」が存在します。そのため、更新前のデータを操作中に、他人が更新した場合でも更新後のデータを拾わずに済み、情報の矛盾を防げるでしょう。

読み取り一貫性が担保されていることで、大量のユーザーがアクセスしてもデータ間の矛盾やそごを排除でき、安心してシステムを運用することができます。

柔軟な移植性

Oracle DBは、柔軟な移植性を持ち、他のプラットフォームへの移植作業を容易に行える特徴があります。

基本的に、システムはC言語によってコーディングされており、エンジンやコアAPI、その他ツールのどれをとっても扱いやすい作りです。

そのため、C言語の使用者の多さから、他のプログラミング言語よりも比較的簡単にシステムの移植を実現できるでしょう。

行レベルロック

Oracle DBは、「行レベルロック」と呼ばれる行単位の排他制御方式を採用するため、複数ユーザーによる同時アクセスを実現します。

正確には、ある行単位で取り出したデータのアクセスが重複しないように調整します。行レベルでロックを掛けることで、最初の操作者以外のユーザーは中身を参照できません。

ロックを掛けるのはあくまでも行レベルであり、ロック範囲が最小限であるためシステム全体のアクセス待ちの回数や時間を短縮できるでしょう。

導入費用が割高

Oracle DBは、数あるRDBMSのなかでも比較的割高な部類です。

有名なMySQLは有償版の他に無償版が存在し、PostgreSQLはオープンソースソフトウェアなので完全無償でありながら、Oracle DBのみが有償版のみです。

コストを下げてデータベースシステムを導入・運用したい企業には選ばれないでしょう。ただし、有償版の種類によっては、Oracle社から手厚いサポートを受けられるので、社内エンジニア部門が弱い場合におすすめです。

Oracle DB、Mysql、PostgreSQLの違いを比較


RDBMSの中でもOracle DB、Mysql、PostgreSQLの3つは、とりわけ有名です。どれも世界中で広く使われているものの、特徴や価格はバラバラです。そこで、本章ではこの3点をさまざまな面から比較・検討します。

はじめに、比較対象であるMySQLとPostgreSQLについて簡単に解説しましょう。

・MySQL:世界各国の企業が利用されているRDBMSの1つ。大容量データのやりとりであっても高速で動作する特徴から、レンタルサーバーや検索エンジンでも主に使われます。

・PostgreSQL:オープンソースソフトウェアのRDBMS。無料にもかかわらず非常に高い性能を誇り、世界中で用途を問わず広く使われています。

Oracle DB MySQL PostgreSQL
概要 米国Oracle社が開発・販売する商用RDBMS スウェーデン所在のMySQL AB社により開発された。後に買収され、現在はOracle社が運営管理する。 PostgreSQL Global Deveropment Groupによって開発されたオープンソースソフトウェア
特徴 Oracle社の手厚い有償サポートにより高い安定性を持つ Webサイトに使われる定番ソフト 完全無料で使用可能。容量の肥大化が弱点。
開発難易度 非常に高い 普通 高い
シェア 普通 広い かなり広い
速度 遅い 普通 速い
値段 有償のみ 有償・一部無償 完全無償
堅牢性 高い 普通 普通
レベルロック 完全行レベル対応 行レベル対応あり 行レベル対応あり
複雑な処理機能 可能 ほぼ可能 ほぼ可能
サポート 充実 普通 ほぼなし
アーキテクチャ 更新型 更新型 追記型
プラットフォーム Windows,Linuxなど ほぼすべて ほぼすべて

Oracle DBの基本的な使い方


ここではでは、「接続・起動・シャットダウン」「表領域の作成」「数値の四捨五入・切り捨て」というOracle DBの基本的な使い方を紹介しますので、ぜひ参考にしてください。

接続・起動・シャットダウン

まずは、Oracleサーバー上のコマンドプロンプトを起動します。

下記のコマンドを入力すれば、OSのログオン情報でログオンしてOracleに接続できます。

また、ユーザーIDとパスワードを使う場合は、「 / 」の部分に、「ユーザー名/パスワード」を追加します。

以上でOracleへの接続は完了です。

次は、Oracleサーバーの停止コマンドです。停止は下記のコマンドで実行します。

最後に起動方法を説明します。停止後に起動する場合は、下記のコマンドを入力します。

以上で接続・起動・シャットダウンの説明は終了です。基本中の基本の管理コマンドであるため、覚えておきましょう。

表領域の作成

Oracle DBの表領域を作成には、「CREATE TABLESPACEコマンド」を入力します。

作成方法には2種類あり、表領域の容量が自動拡張するかしないかを選択します。作成時に容量を決め、データがあふれた場合のサイズを増やすのが「AUTOEXTEND ON」、増やさないのが「AUTOEXTEND OFF」です。

下記コマンドは、自動拡張ありのケースです。

反対に、下記のコマンドは自動拡張なしのケースです。

以上が基本的な「CREATE TABLESPACEコマンド」の使い方です。

数値の四捨五入・切り捨て

最後に簡単な数値操作コマンドを紹介します。

Oracle DBで数値を四捨五入するには「ROUND」コマンドを入力します。

また、Oracle DBで数値の切り捨ては「TRUNC」コマンドを入力します。

以上で基本的なコマンド操作の説明は終了です。
その他にも、何十種類のコマンドを組み合わせてデータを管理・操作します。

Oracle DBのまとめ

本記事では「Oracle DB」について詳しく解説しました。

Oracle DBは、ビジネス界の専門的なニーズを満たす高性能なRDBMSです。個人情報の漏えいや消失問題が話題になる昨今でも、データを安心安全に管理できる堅牢性や安定性を有することから、今後も企業は採用する可能性が高いでしょう。

クラウドシステムや人工知能、ビッグデータなどさまざまな分野においてデータベースは不可欠です。特に、Oracle DBはクラウドシステムにも力を入れ、新たにデータベースシステムのクラウド版サービスを提供しています。

今後も、データベース界隈ではOracle社の製品・サービスの需要がますます高まる未来が予想されるでしょう。

インフラエンジニア専門の転職サイト「FEnetインフラ」

FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。

転職をお考えの方は気軽にご登録・ご相談ください。