Oracle Databaseの完全インストールを実行すると、自動的にサンプル・スキーマをシード・データベースにインストールできます。シード・データベースをシステムから削除した場合は、サンプル・スキーマを再インストールしてから、Oracleマニュアルおよび研修資料内の例で示されている手順を実行する必要があります。
この章では、サンプル・スキーマをインストールする方法について説明します。この章は次の項で構成されています。
|
注意: Oracle Databaseサンプル・スキーマをインストールすると、次のユーザー名を使用するインストール済のスキーマが破棄されます。
この項で説明するインストール・スクリプトを実行すると、前述のスキーマのいずれかに含まれたデータが失われます。個人用や仕事用のデータやアプリケーションには、Oracle Databaseサンプル・スキーマを使用しないでください。これらのサンプル・スキーマは、デモンストレーションを目的として作成されています。 |
Oracle Universal Installerを使用してOracle Databaseをインストールする場合、基本インストール・オプションを選択すると、サンプル・スキーマはデフォルトでインストールされます。 サンプル・スキーマ・オプションを選択すると、5つのスキーマ(HR、OE、PM、IX、SH)すべてがデータベースにインストールされます。 インストール時にサンプル・スキーマをインストールしなかった場合は、「サンプル・スキーマの手動インストール」の手順に従って、後で追加することができます。
インストール処理の最後に、作成されたアカウントとそのロック状態を示すダイアログ・ボックスが表示されます。デフォルトでは、すべてのサンプル・スキーマがロックされ、パスワードは期限切れになります。ロックされたアカウントを使用するには、アカウントのロックを解除し、パスワードをリセットする必要があります。インストール処理のこの時点で、アカウントのロックを解除できます。 また、インストールの完了後に、ALTER USER ... ACCOUNT UNLOCK文を使用してスキーマのロックを解除し、パスワードをリセットすることもできます。次に例を示します。
ALTER USER hr ACCOUNT UNLOCK IDENTIFIED BY Password;
|
参照: セキュアなパスワードの作成に関するガイドラインについては、『Oracle Databaseセキュリティ・ガイド』のパスワードを保護するためのガイドラインに関する項を参照してください。 |
使用可能なサンプル・スキーマは、インストールしたOracle Databaseのエディションとその構成によって異なります。次の表を参照してください。
| スキーマ | Oracle Database Personal Edition | Oracle Database Standard Edition | Oracle Database Enterprise Edition |
|---|---|---|---|
| HR | 使用可能 | 使用可能 | 使用可能 |
| OE | 使用可能 | 使用可能 | 使用可能 |
| PM | 使用可能 | 使用可能 | 使用可能 |
| IX | 使用可能 | 使用可能 | 使用可能 |
| SH | 使用不能 | 使用不能 | Partitioning Optionのインストールが必要 |
DBCAを使用した初期のデータベース・インストール時にサンプル・スキーマをインストールしない場合、SQLスクリプトを実行して手動でサンプル・スキーマを作成することもできます。 Oracle Database Examples(メディア・キットに含まれるCompanion CD)をインストールして、これらのスクリプトを$ORACLE_HOMEにあるdemoディレクトリに含めます。
|
参照: ダウンロードおよびインストールについては、『Oracle Database Examplesインストレーション・ガイド』を参照してください。 |
スキーマ間には、様々な依存性が確立しています。そのため、スキーマを手動で作成する場合は、HR、OE、PM、IX、SHの順に作成する必要があります。
次の順序でスキーマを作成します。
HRスキーマを作成します。
OEスキーマを作成します。HRオブジェクト権限をOEに付与するには、HRスキーマがすでに存在していて、HRスキーマ用のパスワードを知っている必要があります。HR表の中には、プライベート・シノニムを使用することでOEユーザーが参照できるものもあります。また、OE表の中には、HR表に対する外部キー関係を持つものもあります。
PMスキーマを作成します。外部キー関係では、PMスキーマの作成時にOEスキーマがすでに存在していることが必要です。これらの外部キーを設定して使用する権限をPMに付与するには、OE用のパスワードを知っている必要があります。
|
注意:
|
IXスキーマを作成します。情報交換スキーマであるIXは、OE内の受注データに基づいています。また、外部キー関係では、IXスキーマの作成時にOEスキーマがすでに存在していることが必要です。外部キーを設定して使用する権限をIXに付与するには、OE用のパスワードを知っている必要があります。
SHスキーマを作成します。他の4つのスキーマを作成しなくても、このスキーマを作成できますが、SHスキーマは論理的にOEスキーマに依存しています。
サンプル・スキーマのインストールに必要なすべてのスクリプトは、$ORACLE_HOME/demo/schemaディレクトリにあります。これらのスクリプトを実行してサンプル・スキーマをインストールする前に、次のガイドラインに従ってください。
SYSDBA権限を使用してシステム管理者として接続する必要があります。
スキーマのパスワードを入力するように求められたら、『Oracle Databaseセキュリティ・ガイド』で説明している要件を満たすセキュアなパスワードを入力してください。
スクリプトの実行中に表領域名の入力を求めるプロンプトが表示された場合、次の手順を実行します。
適切な表領域名を入力します。たとえば、スキーマのデフォルトの表領域としてusersと入力します。
スキーマの一時表領域としてtempと入力します。
ログ・ディレクトリ名の入力を求めるプロンプトが表示された場合は、$ORACLE_HOME/demo/schema/log/または他の既存のディレクトリ名を入力します。
|
注意: ログ・ディレクトリ名の末尾がスラッシュで終了していることを確認します。たとえば、 |
Human Resource(HR)スキーマの作成に必要なすべてのスクリプトは、$ORACLE_HOME/demo/schema/human_resourcesにあります。
すべてのオブジェクトの作成およびデータのロードに必要なスクリプトは、hr_main.sqlのみです。次の手順では、インストール・プロセスの概要を示します。
SYSとしてSQL*Plusにログオンし、AS SYSDBA権限を使用して接続します。
sqlplus connect sys as sysdba
Enter password: password
hr_main.sqlスクリプトを実行するには、次のコマンドを使用します。
SQL> @?/demo/schema/human_resources/hr_main.sql
HRのセキュアなパスワードを入力します。
specify password for HR as parameter 1: Enter value for 1:
|
参照: パスワードの最小要件については、『Oracle Databaseセキュリティ・ガイド』を参照してください。 |
適切な表領域を入力します。たとえば、HRのデフォルトの表領域としてusersと入力します。
specify default tablespace for HR as parameter 2: Enter value for 2:
HRの一時表領域としてtempと入力します。
specify temporary tablespace for HR as parameter 3: Enter value for 3:
SYSのパスワードを入力します。
specify password for SYS as parameter 4: Enter value for 4:
ログ・ディレクトリのディレクトリ・パスを入力します。たとえば、$ORACLE_HOME/demo/schema/log/などです。
specify log path as parameter 5: Enter value for 5:
hr_main.sqlスクリプトが正常に実行され、HRスキーマがインストールされた後で、ユーザーHRとして接続されます。スキーマが作成されたことを確認するには、次のコマンドを使用します。
SQL> SELECT table_name FROM user_tables;
hr_main.sqlを実行すると、次の作業が実行されます。
インストール済のHRスキーマがすべて削除されます。
ユーザーHRを作成して、必要な権限を付与します。
HRとして接続します。
スキーマ・オブジェクトを作成して移入するスクリプトを実行します。
スクリプトとその機能の一覧については、表5-1を参照してください。
スキーマの拡張機能として、オプションでhr_dn_c.sqlおよびhr_dn_d.sqlの2つのスクリプトが提供されています。HRスキーマでOracle Internet Directoryのディレクトリ機能を使用できるようにするには、hr_dn_c.sqlスクリプトを実行します。HRスキーマの初期設定に戻る場合は、hr_dn_d.sqlスクリプトを使用してhr_dn_c.sqlスクリプトの結果を元に戻します。
hr_drop.sqlスクリプトを使用して、HRスキーマを削除します。
Order Entry(OE)スキーマおよびそのOnline Catalog(OC)サブスキーマの作成に必要なすべてのスクリプトは、$ORACLE_HOME/demo/schema/order_entryにあります。
すべてのオブジェクトの作成およびデータのロードに必要なスクリプトは、oe_main.sqlのみです。oe_main.sqlを実行すると、次の作業が実行されます。
インストール済のOEスキーマがすべて削除されます。
ユーザーOEを作成して、必要な権限を付与します。
OEとして接続します。
スキーマ・オブジェクトを作成して移入するスクリプトを実行します。
oe_main.sqlスクリプトが正常に実行され、OEスキーマがインストールされた後で、ユーザーOEとして接続されます。スキーマが作成されたことを確認するには、次のコマンドを使用します。
SQL> SELECT table_name FROM user_tables;
スクリプトとその機能の一覧については、表5-10を参照してください。
oe_drop.sqlおよびoc_drop.sqlスクリプトは、それぞれOEスキーマおよびOCサブスキーマの削除に使用します。
Product Media(PM)スキーマの作成に必要なすべてのスクリプトは、$ORACLE_HOME/demo/schema/product_mediaにあります。
すべてのオブジェクトの作成およびデータのロードに必要なスクリプトは、pm_main.sqlのみです。pm_main.sqlを実行すると、次の作業が実行されます。
パスワード、スクリプト内で使用する表領域名、およびデータ・ファイルとログ・ファイルのディレクトリの入力を求めるプロンプトが表示されます。
インストール済のPMスキーマがすべて削除されます。
ユーザーPMを作成して、必要な権限を付与します。
PMとして接続します。
スキーマ・オブジェクトを作成して移入するスクリプトを実行します。
pm_main.sqlスクリプトが正常に実行され、PMスキーマがインストールされた後で、ユーザーPMとして接続されます。スキーマが作成されたことを確認するには、次のコマンドを使用します。
SQL> SELECT table_name FROM user_tables;
スクリプトとその機能の一覧については、表5-19を参照してください。
pm_drop.sqlスクリプトは、PMスキーマの削除に使用します。
|
注意: SQL*Loaderのデータ・ファイル |
Information Exchange(IX)スキーマの作成に必要なすべてのスクリプトは、$ORACLE_HOME/demo/schema/information_exchangeにあります。
Information Exchange(IX)スキーマのインストールでは、すべてのオブジェクトの作成およびデータのロードに必要なスクリプトは、ix_main.sqlのみです。
ix_main.sqlを実行すると、次の作業が実行されます。
パスワード、およびスクリプト内で使用する表領域名の入力を求めるプロンプトが表示されます。
インストール済のIXスキーマがすべて削除されます。
ユーザーIXを作成して、必要な権限を付与します。
IXとして接続します。
スキーマ・オブジェクトを作成して移入するスクリプトを実行します。
ix_main.sqlスクリプトが正常に実行され、IXスキーマがインストールされた後で、ユーザーIXとして接続されます。スキーマが作成されたことを確認するには、次のコマンドを使用します。
SQL> SELECT table_name FROM user_tables;
スクリプトとその機能の一覧については、表5-23を参照してください。
ix_drop.sqlスクリプトは、IXスキーマの削除に使用します。
Sales History(SH)スキーマの作成に必要なすべてのスクリプトは、$ORACLE_HOME/demo/schema/sales_historyにあります。
すべてのオブジェクトの作成およびデータのロードに必要なスクリプトは、sh_main.sqlのみです。sh_main.sqlを実行すると、次の作業が実行されます。
パスワード、スクリプト内で使用する表領域名、およびデータ・ファイルとログ・ファイルのディレクトリの入力を求めるプロンプトが表示されます。
インストール済のSHスキーマがすべて削除されます。
ユーザーSHを作成して、必要な権限を付与します。
SHとして接続します。
スキーマ・オブジェクトを作成して移入するスクリプトを実行します。
sh_main.sqlスクリプトが正常に実行され、SHスキーマがインストールされた後で、ユーザーSHとして接続されます。スキーマが作成されたことを確認するには、次のコマンドを使用します。
SQL> SELECT table_name FROM user_tables;
スクリプトとその機能の一覧については、表5-27を参照してください。
|
注意: ディメンション表 |
スキーマの拡張機能として、オプションでsh_olp_c.sqlおよびsh_olp_d.sqlの2つのスクリプトが提供されています。SHスキーマでOLAPサービスの拡張分析機能を使用できるようにするには、sh_olp_c.sql作成スクリプトを実行します。SHスキーマの初期設定に戻る場合は、スクリプトsh_olp_d.sqlを使用してsh_olp_c.sqlの結果を元に戻し、ディメンションを元の状態に戻します。
SHスキーマの削除に使用するファイルは、sh_drop.sqlです。
サンプル・スキーマを初期状態にリセットするには、SQL*Plusのコマンドライン・インタフェースから次の構文を使用します。
@?/demo/schema/mksample systempwd syspwd hrpwd oepwd pmpwd ixpwd shpwd bipwd default_tablespace temp_tablespace log_file_directory/
mksampleスクリプトは、11パラメータをとります。SYSTEMおよびSYS用のパスワード、およびHR、OE、PM、IX、SH、BIスキーマ用のパスワードを指定します。一時表領域およびデフォルトの表領域を指定し、ログ・ファイル・ディレクトリ名の末尾にはスラッシュをつけます。
mksampleスクリプトは、複数のログ・ファイルを生成します。
mkverify.log: サンプル・スキーマ作成ログ・ファイル
hr_main.log: HRスキーマ作成ログ・ファイル
oe_oc_main.log: OEスキーマ作成ログ・ファイル
pm_main.log: PMスキーマ作成ログ・ファイル
pm_p_lob.log: PM.PRINT_MEDIA用に生成されるSQL*Loaderログファイル。
ix_main.log: IXスキーマ作成ログ・ファイル
sh_main.log: SHスキーマ作成ログ・ファイル
cust.log: SH.CUSTOMERS用に生成されるSQL*Loaderログ・ファイル
prod.log: SH.PRODUCTS用に生成されるSQL*Loaderログ・ファイル
promo.log: SH.PROMOTIONS用に生成されるSQL*Loaderログ・ファイル
sales.log: SH.SALES用に生成されるSQL*Loaderログ・ファイル
sales_ext.log: SH.COSTS用に生成される外部表ログ・ファイル
多くの場合、サンプル・スキーマを初めてインストールすることと、インストール済のバージョンを上書きして再インストールすることは、同じ作業です。*_main.sqlスクリプトによって、スキーマ・ユーザーとそのすべてのオブジェクトが削除されます。
OEまたはIXスキーマ内のオブジェクト間の関係が複雑であるために、DROP USER ... CASCADE操作が正常に終了しない場合があります。これはまれなケースですが、このような場合、次のいずれかの手順を実行します。
OEスキーマのOCカタログ・サブスキーマの場合の手順は、次のとおりです。
OEとして接続します。
oc_drop.sqlスクリプトを実行します。
SYSTEMとして接続します。
OEとして接続しているユーザーがいないことを確認します。
SELECT username FROM v$session;
ユーザーを削除します。
DROP USER oe CASCADE;
IXスキーマの場合の手順は、次のとおりです。
SYSTEMとして接続します。
IXユーザーとして接続しているユーザーがいないことを確認します。
SELECT username FROM v$session WHERE username like 'IX%';
dix.sqlスクリプトを実行して、スキーマを削除します。個々のユーザーに対するパスワードの入力を求めるプロンプトが表示されます。