oracle database tutorial what is oracle database
この包括的なOracleデータベースチュートリアルでは、データベース、アーキテクチャ、Oracleツールおよび機能とは何かについて説明します。データベースのインストールプロセスも含まれます。
の前のチュートリアルでは Oracle MySQL の 完全なORACLEシリーズ 、 データセキュリティ、高可用性、クラウドサービスなどのメリットと機能について学びました。
Oracleデータベースは、1つの統合されたバックエンドに対して複数のデータモデルをサポートする、最も一般的に使用されているデータベース管理システムの1つです。データウェアハウスの保守やOLTPトランザクションの実行に取り組んでいる組織は、使いやすさで高性能、セキュリティ、スケーラビリティをサポートするさまざまな機能があるため、Oracleデータベースを最も好んで使用しています。
Oracle 19cは、Oracle Corporationが立ち上げた最新のデータベースバージョンであり、以下の環境をサポートします。
- オンプレミス
- Oracle Cloud
- ハイブリッドクラウド
Oracleデータベースとその機能の詳細に入る前に、データベースの定義とその使用目的を理解しましょう。
学習内容:
- データベースとは何ですか?
- 結論
データベースとは何ですか?

データベースは、行と列の整理された形式でデータベーステーブルに格納されるデータまたは情報のリポジトリです。このデータは、適切な認証が行われるとデータベースユーザーがアクセスでき、操作することもできます。
一般に、組織はデータベースを使用して、人事、運用、販売、財務などのさまざまな部門情報を保存し、それらを分離して統合された形式に保ちます。これらのデータベースには、後でアクセスして、関連情報の処理、レポートの導出、ビジネス分析の実行などを行うことができます。
データベース管理システム(DBMS)の要素:
配列javaからアイテムを削除する方法
より高いレベルでは、データベース管理システムは3つの要素で構成されています。これらは:
- カーネルコード: このコードはメモリを処理し、データベース内に格納されている情報を処理します。
- データディクショナリ: これはデータベース内のリポジトリであり、メタデータ情報を処理するために使用されます。
- クエリ言語: クエリ言語は、データベース内に格納されている情報を読み取るためにユーザーまたはアプリケーションによって使用されます。
リレーショナルデータベース管理システム(RDBMS)
リレーショナルモデルに従うデータベース管理システムは、次のように知られています。 リレーショナルデータベース管理システム つまりRDBMS。
リレーショナルモデルに従うには、データベースは次のことを行う必要があります。
- データベース内に保存されているすべてのオブジェクトを定義します。
- これらのオブジェクトに整合性ルールを適用して、オブジェクト間の関係を維持します。
リレーショナルデータベースを使用すると、データをリレーショナル形式で保存できるため、データベースの整合性を維持しながら、アプリケーションでデータを取得して操作できます。リレーショナルデータベースでは、データはデータベーステーブル内に格納され、参照整合性は主キーと外部キーを介して実装されます。
Oracleは、Microsoft SQL Server、Sybase、DB2などとともにリレーショナルデータベースのリーグに参加しています。
これまで、Oraclev2からOracle18cまでのさまざまなバージョンが登場しています。各バージョンで、改善または機能強化が行われています。ソフトウェアでラベル付けされたバージョン番号は、「c」のようにカスタムの番号付けパターンに従います。以前のリリースでは、「g」はOracle 10gの「グリッド」を表し、「i」はOracleの「インターネット」を表します。 9i。
Oracleデータベースには5つのエディションがあり、それぞれが特定の目的を果たすように設計されています。
- Oracle Database Enterprise Edition(EE)。
- Oracle Database Express Edition(XE)。
- Oracle Database Personal Edition(PE)。
- Oracle Database Standard Edition Two(SE2)。
- Oracle Database Standard Edition One(SE1)。
- Oracle Database Standard Edition(SE)。
Oracleデータベースでサポートされているさまざまなプラットフォームは次のとおりです。 Red Hat Linux、Microsoft Windows、Oracle Solaris、IBM AIX、HP-UX、 等
Oracleデータベースをインストールする手順
データベースをインストールするには( 例えば、 Oracle 12c)コンピュータでは、ユーザーは次のことを行う必要があります。 ダウンロード Oracleの公式Webサイトにある本物のOracleインストーラーまたはソフトウェア。
インストールファイルがコンピューターにダウンロードされたら、ユーザーはファイルがZIP形式でダウンロードされるのと同じものを抽出する必要があります。さらに、抽出されたファイル内で利用可能なセットアップファイルをダブルクリックすると、インストールプロセスが開始されます。
インストールを完了するには、合計9つの手順が必要です。 インストールプロセスを段階的に見ていきましょう。
ステップ1: ユーザーは、セキュリティの問題や更新がある場合は通知される電子メールアドレスを提供するように求められます。

ステップ2: ここで、ユーザーはインストールオプションを選択する必要があります。ソフトウェアのインストールのみが必要か、インストールと同時にデータベースの作成が必要か、データベースのアップグレードを選択できます。

ステップ3: このステップでは、ユーザーは、ユーザーがソフトウェアをインストールしているシステムに基づいてシステムクラスを選択する必要があります。

ステップ4: このステップでは、ユーザーは、インストールを実行する必要があるユーザーを使用して、Windowsユーザーアカウントの詳細を提供する必要があります。

ステップ5: ここで、ユーザーはデータベースのインストールに必要な一般的なインストール情報を提供する必要があります。
- ソフトウェアをマシンにインストールする必要がある場所を指定します。
- グローバルデータベースの資格情報を提供します。
- PluggableDBを提供します。

ステップ6: このステップでは、前提条件チェックが実行されます。

ステップ7: このステップでは、データベース構成に関する要約情報がユーザーに表示されます。

ステップ8: このステップでは、データベースのインストールプロセスが開始されます。

ステップ9: データベースのインストールは、インストールされるまでに時間がかかります。インストールされると、「完了」ステップに到達し、ユーザーが正常に完了したことを確認します。

ほとんどの場合、データベースのセットアップは、DBAと呼ばれるデータベース管理者によって行われます。データベースのセットアップだけでなく、DBAには他にも多くの管理責任があります。 これらには以下が含まれます:
- DBAはデータベースのインストールと構成を実行します。
- 彼らはハードウェアとソフトウェアの要件を評価し、キャパシティプランニングを行います。
- データベースの移行およびアップグレードアクティビティを実行します。
- データベースのパフォーマンスを監視し、DBチューニングを実行します。
- データベースのバックアップとリカバリのプロセスを担当します。
Oracleデータベースの機能
Oracle Databaseにはさまざまな機能がサポートされており、今日の世界市場でOracleの存続を保証しています。

機能は次のとおりです。
#1)Oracleの可用性: データベースの24時間365日の可用性をサポートするために、Oracleは次の名前の機能を提供します。 OracleDataGuard。 これらの機能を使用すると、セカンダリスタンバイデータベースをプライマリデータベースのコピーとして維持し、フェイルオーバー中の代替として使用できます。
#2)Oracleセキュリティ: Oracle Advanced Security ソース自体で機密情報を保護するための2つのソリューションを提供します。 TDE(透過データ暗号化) そして データ編集。 ソース自体とエクスポート後のデータ暗号化が可能です。改訂はアプリケーションレベルで実行されます。オラクルが開発したその他のセキュリティ機能は次のとおりです。 Oracle Database Vault 、ユーザー権限を管理し、 OracleLabelSecurity 。
#3)Oracleのスケーラビリティ: Oracle RAC(Real Application Cluster) の完璧な例です Oracleのスケーラビリティ これは、クラスター環境でのローリングインスタンスの移行、アップグレードの実行、アプリケーションの継続性の維持、サービス品質管理などの機能を提供します。
#4)Oracleのパフォーマンス: オラクルは、次のようなパフォーマンス向上ソリューションを提供しています Oracle Advanced Compression、Oracle Database In-Memory、Oracle Real Application Testing、 そして Oracle TimesTenアプリケーション層データベースキャッシュ これは、システムパフォーマンスを最高レベルで最適化することを目的としています。
#5)Oracle Analytics: 分析の分野では、オラクルは以下のソリューションを考え出しました。
- OLAP(Oracle Analytic Processing) は、複雑な分析計算を実行してビジネスデータを分析するために使用されるOracleの実装です。
- Oracle Advanced Analytics:Oracle Advanced Analytics の技術的構成です Oracle R Enterprise そして Oracle Data Mining また、データとテキストマイニングを実行し、統計データを計算することで、ユーザーが予測ビジネスモデルを決定するのに役立ちます。
#6)Oracle Management: オラクルは、として知られているデータベース管理ソリューションを開発しました Oracleマルチテナント 、単一のコンテナデータベースと複数のプラグ可能なデータベースの統合アーキテクチャを備えています。
Oracle Tools
非開発者を支援するために、組織はウィザードベースの環境に足を踏み入れており、技術的な専門知識がなくても簡単なソフトウェアアプリケーションを開発できます。オラクルも多くのツールを開発しており、各ツールを通じてさまざまな種類の開発要件に対応しています。
OracleCorporationによって開発された最も使用されているツールのいくつかを以下に示します。
#1)Oracle APEX
Oracle APEX(Application Express)ツールには、Oracleデータベースのみが付属しており、開発者がデータベース駆動型ソフトウェアアプリケーションを設計するのに役立ちます。
#2)OracleSQL Developer
これは、開発者がソフトウェアアプリケーションを開発することによってSQLおよびPL / SQLスキルを活用できるようにするもう1つの無料ツールです。これにより、プログラマーはツリーのような構造内のデータベースオブジェクトを参照したり、SQLコマンドとスクリプトを実行したり、コードをデバッグしたり、その他の管理タスクを実行したりできます。
#3)Javaベースのツール
Oracleは、以下のツールを使用して、JavaおよびPL / SQLに基づくアプリケーションを開発するオプションをユーザーに提供します。
- Oracle JDeveloper
- OracleForms
- Oracle Reports
#4)Oracle Rest Data Services(ORDS)
ORDSは、Javaベースの中間層アプリケーションであり、プログラマがOracleDatabaseで使用可能なデータのRESTインターフェースを開発するのに役立ちます。これにより、POST、GET、PUTなどのHTTP(s)メソッドを使用したDBトランザクションのマッピングが可能になり、結果はJSON形式で返されます。
#5)Oracle Database Upgrade Assistant(DBUA)
このツールは、データベースのアップグレードをサポートするインターフェイスを提供します。
#6)Oracle OPatch
Oracle OPatchを使用すると、暫定パッチをOracleソフトウェアに適用できます。必要に応じて、Opatchツールを使用して、適用されたパッチをロールバックすることもできます。
#7)Oracle SQLTXPLAIN
これも、OracleSQLコードのチューニングを容易にするOracleによって開発された無料のツールです。
Oracleユーティリティ
データベースユーザーにサービスを提供するために、オラクルは、タスクを自動化し、多くの時間を節約することによって開発者の仕事を簡素化するさまざまなユーティリティを構築しました。
Oracleによって開発されたユーティリティのいくつかを以下に示します。
#1)データポンプ: Data Pumpは、ユーザーがデータベース内でデータのインポートおよびエクスポートアクティビティを実行するのに役立つOracleユーティリティです。
#2)SQL *ローダー: SQL *ローダーは、Oracle以外のデータソースからOracleデータベースへのデータの読み込みを高性能で支援するもう1つのユーティリティです。このツールでサポートされているさまざまな機能を以下に示します。
このツール、
- さまざまな形式のデータをロードする機能があります。
- 複数のソースファイルを一度に複数のデータベーステーブルにロードできます。
- 物理ディスク、名前付きパイプ、またはテープに存在するソースファイルからデータベースへのデータの読み込みを実行できます。
#3)OradeBug: このユーティリティは、OracleDatabaseエラーに対するデバッグおよびトレース機能を備えた開発者をサポートするように設計されています。
Oracle Database Cloud

(画像 ソース )
クラウドデータベースは、パブリック、プライベート、またはハイブリッドの仮想環境向けに設計されたデータベースです。クラウドデータベースを構築する目的は、ユーザーごとに支払うことで、ストレージと帯域幅の費用を最適化することです。
企業によって実証されたOracleCloudは、開発またはテスト段階から大規模な実稼働展開までのさまざまなワークロードをサポートする、成功したソリューションです。クラウド環境にあるため、Oracleデータベースはデータベースのセキュリティ、機能、またはその他の側面について妥協しません。使いやすさを維持しながら、オンプレミスと同じレベルの信頼をユーザーに提供します。
Oracle Cloudは、Oracleオンプレミスと同様に以下の特性を維持します。
- ハイパフォーマンス
- スケーラビリティ
- セキュリティ
- 使いやすさ
Oracleデータベースアーキテクチャ

上の画像は、さまざまな目的に役立つように設計されたさまざまなセグメントを持つ高レベルのOracleアーキテクチャを示しています。同じことを詳しく見ていきましょう。
Oracleアーキテクチャは、4つの主要なカテゴリに分類できます。これらは以下のとおりです。
- メモリ構造(インスタンス)。
- 物理的構造。
- プロセス。
- 論理コンポーネント。
各セグメントを調べて、データベースアーキテクチャを詳細に理解しましょう。
メモリ構造を理解するために、最初にデータベースインスタンスを理解しましょう。
Oracleインスタンス
インスタンスは、データベースの物理ファイル内に存在するデータの管理に役立つメモリ構造とバックグラウンドプロセスのグループです。また、ユーザーが一度に1つのデータベースにアクセスするのにも役立ちます。

現在、インスタンスは主に2つのコンポーネントで構成されています。
- メモリ構造(SGA、PGA)。
- バックグラウンドプロセス
- 必須(PMON、SMON、DBWR、LGWR、CKPT)。
- オプション
データベースインスタンスのコンポーネントに関する知識を集めましょう。
#1)メモリ構造
これらは、次のようなさまざまなタイプのデータベース情報を格納するために使用されます。
- ユーザーセッション情報
- プログラムのコード
- キャッシュされたデータブロックやREDOログエントリなど。
Oracle内では、メモリ構造は主に2つの領域で構成されています。
- SGA(システムグローバル領域)
- PGA(プログラムグローバルエリア)
さて、SGAとPGAとは何ですか、そしてそれらは互いにどのように違うのですか?
データベースインスタンスが起動するたびに、一部のメモリが割り当てられ、そのメモリは次のように呼ばれます。 SGA つまり システムグローバル領域 。メモリ割り当てに加えて、同じサービスを提供するために1つ以上のバックグラウンドプロセスも開始されます。
サーバープロセスまたはバックグラウンドプロセスである可能性のあるOracleプロセスは、SGAであるこの共通メモリ領域を共有するため、SGAは共有メモリ領域とも呼ばれます。 SGAは、各コンポーネントが特定の目的専用であるさまざまなサブコンポーネントを介して、1つのデータベースインスタンスに関するデータと制御情報を格納するために使用されます。
以下にリストされているのは、SGA内のコンポーネントです。
- データベースバッファキャッシュ
- ログバッファのやり直し
- Javaプール
- 大きなプール
- 共有プール
- ライブラリキャッシュ
- データディクショナリキャッシュ
これらのメモリコンポーネントのサイズは、で定義できます。 初期化パラメータファイル(PFILE) インスタンスの起動前にDBAによって、完全なSGAのサイズは、パラメーターSGA_MAX_SIZEを使用して決定できます。
PGA サーバープロセスに関するデータと制御情報を保持するメモリ領域です。このメモリ領域は、サーバープロセスが起動するたびに割り当てられ、SGAとは異なり、このメモリ領域は他のプロセスと共有されません。各サーバープロセスには専用のPGAがあり、サーバープロセスが終了すると解放されます。
それでは、Oracleのバックグラウンドプロセスとは何かを見てみましょう。
#2)バックグラウンドプロセス
Oracleには、バックグラウンドプロセスがメモリを管理し、ディスクI / O操作、およびその他のメンテナンスアクティビティを実行するプロセスのコレクションがあります。これらのプロセスは、必須プロセスとオプションプロセスに分類されます。
以下にリストされているのは、データベースに必要なプロセスのいくつか、つまり必須のバックグラウンドプロセスです。
- システムモニタープロセス(SMON): このプロセスは、障害発生時のインスタンスリカバリ、データディクショナリ管理、一時スペースの再利用、元に戻すテーブルスペースの管理など、システムレベルのリカバリおよびメンテナンスタスクを実行します。
- プロセスモニタープロセス(PMON): このプロセスは、他のバックグラウンドプロセスを監視し続け、サーバープロセスが突然終了するたびにプロセスリカバリを実行します。
- データベースライタープロセス(DBWR) : 名前が示すように、このプロセスはデータブロックをデータベースバッファキャッシュ(SGA)から物理データファイルに書き込みます。
- ログライタープロセス(LGWR): 同様に、このプロセスは、REDOバッファキャッシュからオンラインREDOログファイルにREDOブロックを書き込みます。
- チェックポイント(CKPT): このプロセスは、最新のチェックポイント情報を使用してデータファイルと制御ファイルを維持します。
その他のオプションのバックグラウンドプロセスは次のとおりです。 アーカイバ(ARCn)、コーディネータージョブキュー(CJQ0)、 そして スペース管理コーディネーター(SMCO)。
物理的構造

データベース内の物理コンポーネントは、組織のデータを保持および管理する物理ファイルです。これらのファイルは3つのカテゴリに分類されます。
- データファイル: これらのファイルは、データベース内の実際のデータを保持します。
- ログファイルのやり直し: これらのファイルは、データベースに加えられたすべての変更を保持するために使用されます。データベースの回復プロセス中にREDOログファイルを利用して、元の情報を取得できます。
- 制御ファイル: これは、データベース名、データファイル、REDOログファイル名、ファイルの場所、ログシーケンス番号などのデータベースステータス関連情報を保持するバイナリファイルです。
以下にリストされているように、データベース管理に寄与するファイルがさらにいくつかあります。
- パラメータファイル: このファイルは、データベースの起動方法を定義するパラメーターを保持します。
- パスワードファイル: 名前が示すように、このファイルはユーザーパスワードを保持しているため、データベースのセキュリティを維持します。
- アーカイブREDOログファイル: これらは、アーカイブされたままのREDOログファイルです。これらは、データベースがクラッシュした場合のデータベース回復をサポートするために保持されます。
プロセス
データベース内のプロセスは、3つの異なるタイプに分類できます。
- ユーザープロセス: ユーザーまたはクライアントプロセスは、ユーザーがOracleServerに接続要求を送信すると確立されます。
- サーバープロセス: サーバープロセスは、ユーザーをデータベースに接続し、SQLステートメントの実行やデータベースからのデータの取得など、クライアントのプログラムに従ってクライアントに代わってアクティビティを実行します。
- バックグラウンドプロセス :データベースの起動とともに開始され、データベースの回復、インスタンスのクリーンアップ、アーカイブされたREDOログファイルなどのさまざまなメンテナンスタスクを実行します。
データベース論理アーキテクチャ

論理的には、データベースアーキテクチャは次のコンポーネントに分けられます。
- テーブルスペース
- セグメント
- エクステント
- データブロック
それでは、論理コンポーネントについて詳しく見ていきましょう。
#1)テーブルスペース
データはデータベース内の物理データファイルに格納されますが、テーブルスペースはそのデータの論理ストレージスペースです。このデータは、テーブル、ビュー、インデックス、制約、クラスターなどのデータベースオブジェクトの形式で格納されます。各テーブルスペースは、1つ以上の物理データファイルに関連付けることができますが、1つのデータベースにのみ属することができます。
SYSTEMとSYSAUXは、すべてのデータベースに存在し、データディクショナリとメタデータ情報を維持するために使用される2つの必須のシステムテーブルスペースです。これらの2つのテーブルスペースを除いて、バックアップ、リカバリ、クリーンアップなどのメンテナンス目的で他のテーブルスペースをオフラインにすることができます。
表領域には複数のデータファイルを含めることができますが、データファイルには単一の表領域のDBオブジェクトのみを格納できます。
#2)セグメント
表領域は通常、表領域内に特定のタイプのデータベースオブジェクトまたは構造を格納するために使用される複数のセグメントに分割されます。通常、各データベースオブジェクトはそのセグメントと呼ばれます。 例えば 、データベーステーブル内のデータは、その特定のテーブルセグメント内に格納されます。
#3)エクステント
セグメントはさらにエクステントに分割され、データベースオブジェクトは1つ以上のエクステントに格納できます。テーブルやインデックスなどのオブジェクトのサイズが大きくなると、DBAは要件に応じてセグメントにエクステントをさらに追加できます。
#4)データブロック
偽の電子メールドメインを作成する方法
ブロックまたはデータブロックはストレージの最小単位であり、データはこれらのブロックに保存されます。データブロックのサイズは、データベースの作成時にパラメータDATA_BLOCK_SIZEを使用して定義され、後で変更することはできません。
Oracleデータベースの物理的および論理的アーキテクチャを以下のように要約します。
- 物理構造は、データファイル、REDOログファイル、および制御ファイルで構成されます。
- 論理構造は、表スペース、セグメント、エクステント、およびデータブロックで構成されます。
結論
この記事では、インストール手順から始めて、Oracle Corporationによって開発された機能、アーキテクチャ、および最も使用されているツールのリストを学習するために、Oracleデータベースについて詳しく学習しました。
この記事を読んで、Oracleデータベースとそのアーキテクチャを明確に理解し、データベーステクノロジの分野で役立つことを願っています。
前のチュートリアル | 最初のチュートリアル
推奨読書
- Oracleデータベースをテストする方法
- Oracleデータベースアプリケーションの開発:OracleSQLおよびPL / SQL
- Oracle Data Warehouse:データウェアハウスアーキテクチャなど
- Oracle Databaseのメモリ、スペース、およびCPU処理をテストする体系的な方法
- Oracle Real ApplicationTesting-本番環境に移行する前にOracleDBをテストするソリューション
- PL SQLパッケージ:例を含むOracle PL / SQLパッケージのチュートリアル
- Oracle DBA、RAC、およびパフォーマンスチューニングの面接に関する質問
- Oracleインタビューの上位の質問:Oracle Basic、SQL、PL / SQLの質問