• 検索結果がありません。

Oracle Liteデータベースの理解

N/A
N/A
Protected

Academic year: 2021

シェア "Oracle Liteデータベースの理解"

Copied!
12
0
0

読み込み中.... (全文を見る)

全文

(1)

Oracle Lite データベースの理解

Oracle ホワイト・ペーパー

2007 年 6 月

(2)

Oracle Lite データベースの理解

Oracle Lite データベースの概要 ... 3

埋込み型アプリケーションでの Oracle Lite データベースの使用... 3

アプリケーション・ソリューション用の小規模な埋込み型

データベース... 3

同一の Oracle Lite データベースを共有するマルチ・プロセス ... 4

Oracle Database Lite のためのマルチ・ユーザー・サービス... 5

アプリケーションへの Oracle Lite データベースの埋込み ... 5

Oracle Database Lite でのデータ保存... 6

Oracle Database Lite の機能... 6

Oracle SQL のサポート... 6

Oracle Database Lite での SQL-92 の実行... 6

Oracle Database Lite のデータ型 ... 7

文字データ ... 7

数値データ ... 7

バイナリ・データ ... 8

日付と時間 ... 8

Oracle Database Lite におけるトランザクション時の同時実行性の

サポート... 8

ネスト化されたトランザクションのサポート ... 9

Oracle Database Lite のデータベース制約のサポート ... 9

その他の重要な機能... 9

Oracle Lite データベースのデータへのアクセス... 10

データにアクセスするための JDBC 使用 ... 10

ODBC ... 10

ADO.Net ... 10

Oracle Database Lite のセキュリティ... 10

Oracle Lite データベースの暗号化... 11

データにアクセスできるユーザーの定義 ... 11

データベース・オブジェクトへのアクセス ... 11

(3)

Oracle Lite データベースの理解

Oracle Lite データベースの概要

Oracle Database Lite RDBMS は、省スペースの Java 対応でセキュアなリレーショ ナル・データベース管理システムであり、特に携帯電話、ラップトップ・コンピュー タおよびハンドヘルド・コンピュータ向けに作成されました。Oracle Database Lite RDBMS は、Windows 2003/XP/Vista、Windows CE/Windows Mobile、Linux、およ び Symbian プラットフォームで使用できます。Oracle Lite データベースは、デー タにシームレスにアクセスするために、簡単にアプリケーションに埋め込むこと ができます。また、特にクライアント・デバイス用に設計された小規模なデータ ベースであるため、管理が簡単です。Java、C、C++、C#および Visual Basic など の多様なプログラミング言語でアプリケーションを構築でき、JDBC、ODBC また は ADO.Net インタフェースを使用してデータベースにアクセスできます。ストア ド・プロシージャの使用に慣れているユーザーのために、Java、C++および C#に 対応するストアド・プロシージャを用意しています。

Oracle Lite データベースは、SQL92 標準に準拠し、Oracle データベースに互換し ます。さらに、トランザクションをサポートするための ACID 要件に準拠します。 Oracle データベースとやりとりする場合、Oracle Database Lite には、上位互換性が あります。つまり、Oracle Database Lite に対して実行可能な問合せは、Oracle デー タベースに対しても実行できます。

Oracle Lite データベースは、モバイル・クライアント(クライアントおよび Oracle データベース間でデータを複製するために同期を使用)で使用できます。または、 独自設計の独立したアプリケーションに Oracle Lite データベースを埋め込むこと ができます。いずれの場合にも、アプリケーションは、Oracle Lite データベース を使用して、クライアント・データを格納および管理できます。

埋込み型アプリケーションでの Oracle Lite データベースの使用

次の項では、アプリケーションのニーズに対応するための Oracle Lite データベー スの使用方法について説明します。

アプリケーション・ソリューション用の小規模な埋込み型

データベース

多くの場合、スタンドアロンのアプリケーションは、大量のデータをローカルで 保存したり操作したりする必要があります。アプリケーションの実装に既存の データベースを埋め込むことで、アプリケーションに必要な開発作業の量を軽減 できます。Oracle Database Lite には、小規模で信頼できるリレーショナル・データ ベースの実証済みの実装が含まれています。このデータベースにより、小規模な

(4)

アプリケーション、またはハードウェアでデータを管理するために必要な機能の 多くが提供されます。次の図に、Oracle Lite エンジンと統合されたアプリケーショ ン、およびシングル・プロセス内の Oracle Lite データベースを示します。 次に、アプリケーションで Oracle Lite データベースを使用する方法の例を示します。 • アプリケーション・データを保存、検索、取得するアプリケーションの ニーズのために、独立した小規模なリレーショナル・データベースの存 在が必要になる場合があります。たとえば、独立した会計アプリケーショ ンまたはアドレス・ブックを持っている場合、データを保存する小規模 な埋込み型データベースが必要になることがあります。 • ハードウェアをサポートするソフトウェアは、情報の収集を促進するた めに埋込み型データベースを必要とする場合があります。この情報は、 ユニットがサービスの提供を受ける際に、サービス技術者が取得できま す。この種類の実装例には、現在の在庫を追跡する自動販売機や、パ フォーマンスに関する統計を監視するために自動車に組み込まれたソフ トウェアがあります。

同一の Oracle Lite データベースを共有するマルチ・プロセス

同一のマシンで同一のデータベースを使用するよう、複数のアプリケーション・ プロセスを構成できます。このため、各アプリケーションは、起動されたときに は、独自のプロセスに存在し、同じデータベースに単独でアクセスできます。こ のシナリオでは、Oracle Database Lite ライブラリは、共有メモリーを使用して、両 方のプロセス間でロックを調整します。

(5)

Oracle Database Lite のためのマルチ・ユーザー・サービス

場合によっては、一元管理されるマシン上ですべてのデータを保護し、リモート での情報へのアクセスのみをクライアントに許可する必要があります。Oracle Lite データベースは、Windows または Linux ホスト・マシンにインストールすると、 一元管理できます。Oracle Database Lite マルチ・ユーザー・サービスにより、リモー ト・アプリケーションは、TCP/IP 接続を使用して、Oracle Lite データベースに接 続できます。マルチ・ユーザー・サービスが、複数のデータベースへの接続を処 理し、クライアント・アプアリケーションが、提供された DSN を使用して、どの データベースに接続するかを制御します。次の図に、単一のホスト・マシンにイ ンストールされた Oracle Lite データベースを示します。ここでは、1 つ以上のク ライアントがデータにアクセスできます。

アプリケーションへの Oracle Lite データベースの埋込み

モバイル開発キットから 5 つのファイルをコピーして、アプリケーションにパッ ケージすることにより、Oracle Lite データベースを簡単にアプリケーションに埋 め込むことができます。 たとえば、Windows プラットフォームでは、ORACLE_HOME/Mobile/Sdk ディレ クトリにあるモバイル開発キットのライブラリから、次のファイルをアプリケー ション DLL と同じディレクトリおよび PATH にコピーします。

olite40.msb:Oracle Database Lite メッセージ・ファイル olobj40.dll:Oracle Database Lite オブジェクト・カーネル olod2040.dll:Oracle Database Lite ODBC ドライバ

olsql40.dll:Oracle Database Lite SQL ランタイム・ライブラリ olstddll.dll:Oracle Lite 共通ライブラリ

(6)

これらの 5 つのファイルにより、ODBC インタフェースを使用して、データベー スにアクセスできます。マルチ・ユーザー・サービスを使用し、データベースで Java プログラムを使用する場合、またはデータベース・ユーティリティのいずれ かを使用する場合は、他のファイルをコピーすることが必要になる可能性があり ます。

Oracle Database Lite でのデータ保存

Oracle Lite データベースは、デバイス特有のユーザー・データを保存し、検索し ます。次の 2 つのファイルでアプリケーション・データを管理します。

• ODB ファイル:ほとんどのデータは、ODB 拡張子が付いた Oracle Lite ファ イルに保存されます。

• OBS ファイル:あらゆる BLOB オブジェクト(バイナリまたは文字)お よび索引は、OBS 拡張子が付いたファイルに保存されます。

ODB ファイルは、4GB に制限されます。OBS ファイルの最大サイズは、16 テラ バイトまたはオペレーティング・システムのファイル制限値のうち低いほうです。 BLOB データと索引は OBS ファイルに保存されるので、BLOB データには実質的 に無制限の領域が提供されます。

Oracle Database Lite の機能

Oracle Database Lite は、同時実行性をサポートする小規模なリレーショナル・デー タベースで、アプリケーションに埋込み可能なデータベースとして使用できます。 次の項では、Oracle Database Lite がサポートする高度な機能の一部を詳細に説明し ます。これらは、他の小規模なデータベースでは見られない機能です。

Oracle SQL のサポート

Oracle Database Lite は、デフォルトの SQL 言語として Oracle SQL を使用します。 Oracle Database Lite で Oracle SQL を使用する場合、次のような SQL-92 機能がサ ポートされます。

• 列のデータ型:TIME、TIMESTAMP、TINYINIT、および BIT • 式:CASE および CAST

Oracle Database Lite での SQL-92 の実行

Oracle SQL の代わりに、SQL-92 をサポートする場合は、POLITE.INI ファイル に次のパラメータを追加することで、SQL 互換性を変更できます。

(7)

Oracle Database Lite のデータ型

次の項では、Oracle Database Lite がサポートする文字、数値、バイナリおよび日付 /時間のデータ型について詳しく説明します。

文字データ

文字には、次のデータ型を使用できます。

• CHAR、VARCHAR または VARCHAR2 - 最小 1 バイト、最大 4,096 バイ トで長さを定義できます。VARCHAR2 の長さは指定する必要があります。 • 長い文字データ。LONG VARCHAR データ型または CLOB データ型を使

用して、列に 2GB までの文字データを保存します。

数値データ

数字の場合、整数または小数を使用できます。 • 整数 - 整数には、INTEGER、BIGINT、SMALLINT および TINYINT デー タ型を使用できます。INTEGER または SMALLINT の精度を定義します。 BIGINT データ型は 19 桁の精度を持ち、TINYINT は 1 バイトの精度を持っ ています。 • 10 進数 - 10 進数には、DECIMAL、NUMBER、NUMERIC、FLOAT、REAL または DOUBLE PRECISION データ型を使用できます。 DECIMAL、 NUMBER または NUMERIC データ型の精度(10 進値、すなわち小数点の 両側の総桁数)またはスケール(小数値、すなわち小数点の右側の桁数) を定義できます。 DECIMAL、NUMBER または NUMERIC データ型を定義する際には、次 の 3 つの方法のいずれかで定義できます。 ➢ 精度またはスケールなし:精度またはスケールを定義せずにデー タ型を使用すると、それぞれのデータ型はデフォルト値を取り、 精度は 38、スケールは 0 になります。たとえば、NUMBER は最 大 38 桁の数字を定義し、小数点の後に数字はありません。 ➢ 精度の定義を使用:精度だけを定義すると、スケールはデフォル トの 0 になります。たとえば、NUMBER(10)は、最大 10 桁の整 数を定義し、小数点の後に数字はありません。 ➢ 精度およびスケールの定義を使用:データ型に精度とスケールの 両方を定義できます。たとえば、NUMBER(5,2)を定義すると、 この数字は合計 5 桁で、小数点の前に 3 桁、小数点の後に 2 桁と なります。この変数に入れることができる有効な値と無効な値を 次に示します。

(8)

無効な値:12345, 1234

有効な値:1、123、123.12、123.123(123.12 に四捨五入 されます)

Oracle Database Lite は、各プラットフォームに応じて FLOAT、REAL ま たは DOUBLE PRECISION の精度を定義します。

バイナリ・データ

バイナリ・データには、BINARY、VARBINARY、BIT および RAW データ型を使 用できます。キャラクタ・セマンティクスによる制約のないシングル・ビットを BIT データ型に保存します。BINARY または RAW データ型に最大 4,096 バイトの バイナリ・データを保存します。ただし、RAW データ型のサイズを指定する必要 があります。また、VARBINARY データ型を使用して、変換されていない可変バ イナリ・データを保存できます。 長いバイナリ・データの場合、LONG、LONG VARBINARY、LONGRAW または BLOB データ型の列に、最大 2GB のバイナリ・データを保存できます。

日付と時間

日付と時間のデータ型としては、DATE、TIME および TIMESTAMP データ型を使 用できます。TIME データ型には、時間値が時間、分および秒で保存されます。 TIMESTAMP データ型には、日付の年、月、日の値、および時刻の時間、分、秒 の値が保存されます。

Oracle Database Lite におけるトランザクション時の同時実行性の

サポート

Oracle Database Lite は、同時トランザクションをサポートします。各トランザク ションは、他のトランザクションから切り離されます。多数のトランザクション が同時に実行されても、トランザクションがコミットされるまで、トランザクショ ンの更新は、他のトランザクションから隠蔽されます。次の表に示すように、ト ランザクション内で使用する分離レベルを指定できます。 分離レベル 説明 コミットされた 読取り READ COMMITTED トランザクションでは、最初に一時的 なデータベース・レベルの読取りロックが取得され、問合せ の結果が一時表に配置され、次にデータベース・ロックが解 除されます。この間、どのトランザクションも、コミット操 作を実行できません。データ・オブジェクトはロックされま せん。他のすべてのトランザクションは、この間、コミット を除く DML 操作を実行できます。データ・ロックを取得す る必要がなく、他のトランザクションによる任意の DML 操 作をブロックしないので、READ COMMITTED トランザク ションは最高レベルの同時実行性を提供します。 リピータブル・ リード 問合せは、返される行のすべてに読取りロックを取得し、ト ランザクションが終わるまでロックを保持します。問合せ自 体、表で定義される索引、またはクエリー・オプティマイザ

(9)

が選択する実行計画が複雑であるために、より多くの行に読 取りロックがかけられる場合があります。 シリアライズ可能 問合せに関与するすべての表で共有ロックを取得します。同 一のトランザクションで繰り返される問合せの実行に対し て、行の同一のセットが戻されます。問合せの中で表の任意 の行を更新しようとする他のトランザクションは、ブロック されます。 シングル・ ユーザー データベースに対して、1 つの接続のみが許可されます。ト ランザクションにはロックがなく、メモリーの消費が少なく なります。

ネスト化されたトランザクションのサポート

Oracle Database Lite は、ネスト化されたトランザクションをサポートします。ネス ト化されたトランザクションは、トランザクション内の特定のポイントで 1 つ以 上のマーカー(セーブポイント)を定義する方法です。トランザクション内では、 必要な数のセーブポイントを定義できます。 セーブポイントにより、保存できるトランザクションの部分を指定して、トラン ザクション全体を失う可能性を避けることで、トランザクションのための効果的 なエラー・リカバリが可能になります。トランザクション内でエラーが発生した 場合、トランザクションを最新のセーブポイントに戻すことができます。

Oracle Database Lite のデータベース制約のサポート

Oracle Database Lite は、数字、文字または日付に基づく主キーをサポートします。 主キーは、1 つまたは複数の列で構成される場合があります。外部キー制約を使 用して、表の間で参照整合性を実行できます。外部キー制約の作成時に ON DELETE CASCADE 句を指定した場合、対応するマスター・レコードが削除されると、詳細 なレコードが自動的に削除されます。それ以外の場合は、詳細なレコードを削除 する前に、マスター・レコードを削除する必要があります。

Oracle Database Lite では、特定の列または列の組合せにおけるすべての値が必ず一 意になるようにできます。特定の列(単数または複数)に対して一意の制約を作 成すると、Oracle Database Lite は、重複値の作成を自動的に妨げます。

列に NULL 値が含まれないようにする場合は、その列に NOT NULL 制約を指定し ます。NOT NULL 制約のない列で挿入操作および更新操作を実行する場合、その 列に NULL 値の挿入または更新を試みると、操作は自動的に失敗します。

その他の重要な機能

• Java、C++または C#のストアド・プロシージャおよびトリガーのサポート • 表の変更のサポート既存の表に変更を加えることができます。たとえば、 列の追加/変更、または表の制約の追加/削除が可能です。

(10)

• ビューへの書込み単一表に基づいてビューを作成すると、操作が表の制 約に違反しない場合、ビューに対する挿入、更新および削除操作は基本 になる表に自動的に適用されます。

• CASE または CAST 式を使用する SQL 文を作成できます。

Oracle Lite データベースのデータへのアクセス

JDBC、ODBC または ADO.Net を使用して、Oracle Lite データベースのデータにア クセスできます。

データにアクセスするための JDBC 使用

JDBC(Java Database Connectivity)インタフェースは、一連の Java クラスを指定 します。Java クラスは、ODBC に似た、SQL データベースへのインタフェースを Java アプリケーションに提供します。JDK コアの一部である JDBC は、リレーショ ナル・データベースへのオブジェクト・インタフェースを提供します。Oracle Database Lite は、JDBC 1.2 API 標準仕様に準拠します。

Oracle Database Lite は、Oracle Database Lite Type 2 および Type 4 の JDBC ドライバ を使用して、JDBC をサポートします。これらのドライバは、JDBC コールを解析 して Oracle Database Lite に渡します。Type 4 の JDBC ドライバは、マルチ・ユー ザー・サービスでのみ使用できます。

モバイル・クライアントでは、Oracle Database Lite バイナリで使用するためにすべ ての JDBC ドライバが提供されます。ただし、埋込み型アプリケーションでは、 アプリケーションをパッケージするときに、正しいバイナリを含める必要があり ます。

ODBC

ODBC(Microsoft Open Database Connectivity)インタフェースは、任意の SQL デー タベースにアクセスするための手続き型のコール・レベル・インタフェースで、 ほとんどのデータベース・ベンダーにサポートされています。ODBC インタフェー スが指定する一連の機能により、アプリケーションはデータベースに接続でき、 実行時に SQL 文が作成および実行され、問合せの結果が取得されます。 Oracle Database Lite は、Oracle Database Lite ODBC ドライバを介して、レベル 3 準 拠の ODBC 2.0 および ODBC 3.5 ドライバをサポートします。

ADO.Net

Oracle Database Lite は、ADO.NET for Microsoft .NET および Microsoft .Net をサポー トします。Oracle Database Lite ADO.NET プロバイダは、Oracle.DataAccess.Lite 名前空間に常駐します。

Oracle Database Lite のセキュリティ

Oracle Lite データベースは、多数のセキュリティ機能を提供して、データを保存 する安全な場所とそのデータに対するアクセスを制限する安全な方法を保証します。

(11)

Oracle Lite データベースの暗号化

データをデータベースに入れた後、誰にもデータベースの内容を読まれないよう にする必要がある場合があります。ファイル・レベルでデータを保護するために、 Oracle Lite データベースを暗号化できます。いったん暗号化すると、データベー ス・ファイルに保存されたデータは、ファイルを調べても解析できません。認証 されたユーザーがデータベースにアクセスすると、データはメモリー内で Oracle Database Lite により自動的に復合化されます。

Oracle Database Lite は、Advanced Encryption Standard(AES)暗号化を使用します。 AES 暗号化を使用しない場合は、独自の暗号化モジュールを挿入できます。

データにアクセスできるユーザーの定義

各ユーザーが専用のデータベース・アカウントを持つように、データベースで複 数のユーザー・アカウントを作成できます。各データベース・ユーザー・アカウ ントにはパスワードが必要です。CREATE USER コマンドを使用して、埋込み型 アプリケーションのために Oracle Lite データベースでマルチ・ユーザーを作成で きます。 管理者が簡単にデータへのアクセスを許可できるようにするために、ユーザーに 1 つ以上のデータベース・ロールを割り当てることができます。ロールは、他の データベース・ユーザーや新しいデータベース・オブジェクトの作成、他のユー ザーに対する権限の割当てなど、ユーザーが実行できる操作の種類を制御します。 Oracle Database Lite では、ADMIN、RESOURCE および DBA の 3 つのロールが事 前定義されています。

CREATEDB ユーティリティまたは CREATE DATABASE コマンドを使用して、 データベースを作成すると、すべてのデータベース権限を持つ、SYSTEM と呼ば れる特別なユーザーが作成されます。

データベース・オブジェクトへのアクセス

デフォルトでは、ユーザーは、自分が所有するデータベース・オブジェクトだけ にアクセスできます。ユーザーは、他のユーザーが自分のデータベース・オブジェ クトにアクセスすることを明示的に許可できます。アクセスは、各データベース・ オブジェクトおよび各操作の種類に対して許可できます。これにより、誰が何を できるかを明確に定義できます。たとえば、テーブル・オブジェクトで個別に選 択、挿入、更新または削除の権限を割り当てることができます。このため、どの ユーザーが選択および更新のコマンドを実行できるかなどを制御できます。

結論

Oracle Database Lite の機能は、小規模な埋込み型の充実したデータベースを提供し て、SQL92、ストアド・プロシージャ、トランザクションの同時実行性をサポー トします。また、これらの機能は、簡単に既存のアプリケーションに埋め込むこ とができ、複数の配置シナリオをサポートします。さらには、データベースに組 み込まれたセキュリティが、データベースを不正アクセスから保護します。

(12)

Oracle Lite データベースの理解 2007 年 6 月 Oracle Corporation Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. 海外からのお問合せ窓口: 電話:+1.650.506.7000 ファクシミリ:+1.650.506.7200 www.oracle.com

Copyright © 2007, Oracle. All rights reserved.

本文書は情報提供のみを目的として作成されたものであり、その内容は予告 なく変更されることがあります。 本文書は、その内容に誤りがないことを保証するものではなく、また、口頭 による明示的保証や法律による黙示的保証を含め、商品性ないし特定目的適 合性に関する黙示的保証および条件などのいかなる保証および条件も提供す るものではありません。オラクル社は本文書に関するいかなる法的責任も明 確に否認し、本文書によって直接的または間接的に確立される契約義務はな いものとします。本文書はオラクル社の書面による許可を前もって得ること なく、いかなる目的のためにも、電子または印刷を含むいかなる形式や手段 によっても再作成または送信することはできません。

Oracle、JD Edwards、PeopleSoft、および Siebel は、米国 Oracle Corporation およびその子会社、関連会社の登録商標です。その他の名称はそれぞれの会 社の商標です。

参照

関連したドキュメント

このマニュアル全体を読んで、Oracle Diagnostics Pack に同梱の Oracle Performance Manager、Oracle Capacity Planner、Oracle TopSessions および Oracle Event

データベースには,1900 年以降に発生した 2 万 2 千件以上の世界中の大規模災 害の情報がある

016-522 【原因】 LDAP サーバーの SSL 認証エラーです。SSL クライアント証明書が取得で きません。. 【処置】 LDAP サーバーから

Oracle WebLogic Server の脆弱性 CVE-2019-2725 に関する注 意喚起 ISC BIND 9 に対する複数の脆弱性に関する注意喚起 Confluence Server および Confluence

法制執務支援システム(データベース)のコンテンツの充実 平成 13

The kit contains representatives of input and output schematics, netlists, and waveform used for the Low Voltage ECLinPS and ECLinPS Lite devices.. This application note will

Oracle の Sun Storage 16 Gb Fibre Channel PCIe Universal Host Bus Adapter (HBA) (パーツ番号 7101674) は、QLogic テクノロジを使用したスタンドアロンの PCIe ロー

クライアント証明書登録用パスワードを入手の上、 NITE (独立行政法人製品評価技術基盤 機構)のホームページから「