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
用のパスワードを知っている必要があります。
注意: PM スキーマでは、データベースがJava Virtual Machine(Java VM)およびinterMediaで使用できることが必要です。これは、インストール中またはDBCAの使用後に可能になります。 |
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/
または他の既存のディレクトリ名を入力します。
注意: ログ・ディレクトリ名の末尾がスラッシュで終了していることを確認します。たとえば、$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のデータ・ファイルpm_p_lob.dat では、インストール中に設定された絶対パス名がハードコードされています。データを異なる環境にロードする場合は、最初にこのファイル内のパス名を編集する必要があります。 |
Information Exchange (IX
)スキーマの作成に必要なすべてのスクリプトは、$ORACLE_HOME
/demo/schema/info_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を参照してください。
注意: ディメンション表PROMOTIONS 、CUSTOMERS 、PRODUCTS とファクト表SALES は、SQL*Loaderによってロードされ、その後、ファイルをロードし格納する位置を示すために、データベース内にディレクトリ・パスが作成されます。この結果、外部表sales_transactions_ext を使用することによって、COSTS 表のロードが可能になります。 |
スキーマの拡張機能として、オプションで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
スクリプトを実行して、スキーマを削除します。各ユーザーのパスワードを要求されます。