2 サンプル・スキーマのインストール

Oracle Database 12cリリース2以降では、最新バージョンのサンプル・スキーマのスクリプトをGitHub (https://github.com/oracle/db-sample-schemas/releases/latest)で入手できます。

HRスキーマは、Oracle Databaseの完全インストール中に、手動でインストールすることも、dbcaオプションを使用してデータベースを作成するときに自動的にインストールすることもできます。他のすべてのサンプル・スキーマは、GitHubで入手できるスクリプトを使用して手動でインストールする必要があります。

この章のトピックは、次のとおりです:

注意:

Oracle Databaseサンプル・スキーマをインストールすると、ユーザー名HROEPMSHIXおよびBIを使用するインストール済のスキーマが削除されます。

この項で説明するインストール・スクリプトを実行すると、前述のスキーマのいずれかに含まれたデータが失われます。個人用や仕事用のデータやアプリケーションには、サンプル・スキーマを使用しないでください。これらのサンプル・スキーマは、デモンストレーションを目的として作成されています。

2.1 HRスキーマのみのインストール

この項では、次の項目について説明します。

2.1.1 Database Configuration Assistantを使用したHRスキーマのインストール

データベースにHRスキーマをインストールする場合は、sample schemasオプションを選択します。

インストール処理の最後に、作成されたアカウントとそのロック状態を示すダイアログ・ボックスが表示されます。デフォルトでは、サンプル・スキーマがロックされ、パスワードは期限切れになります。ロックされたアカウントを使用するには、アカウントのロックを解除し、パスワードをリセットする必要があります。インストール処理のこの時点で、アカウントのロックを解除できます。また、インストールの完了後に、ALTER USER ... ACCOUNT UNLOCK文を使用してスキーマのロックを解除し、パスワードをリセットすることもできます。次に例を示します。

ALTER USER hr ACCOUNT UNLOCK IDENTIFIED BY Password;

関連項目:

セキュアなパスワードの作成に関するガイドラインについては、『Oracle Databaseセキュリティ・ガイド』パスワードを保護するためのガイドラインに関する項を参照してください。

2.1.2 HRスキーマの手動インストール

Human Resource (HR)スキーマの作成に必要なすべてのスクリプトは、$ORACLE_HOME/demo/schema/human_resourcesにあります。

すべてのオブジェクトの作成およびデータのロードに必要なスクリプトは、hr_main.sqlのみです。次の手順では、インストール・プロセスの概要を示します。

  1. AS SYSDBA権限を使用してSYSおよびconnectとしてSQL*Plusにログインします。

    sqlplus connect sys as sysdba
    Enter password: password
    
  2. hr_main.sqlスクリプトを実行するには、次のコマンドを使用します。

    SQL> @?/demo/schema/human_resources/hr_main.sql
    
  3. HRのセキュアなパスワードを入力します

    specify password for HR as parameter 1:
    Enter value for 1:
    

    適切な表領域を入力します。たとえば、HRのデフォルトの表領域としてusersと入力します。

    specify default tablespace for HR as parameter 2:
    Enter value for 2:
    
  4. HRの一時表領域としてtempと入力します。

    specify temporary tablespace for HR as parameter 3:
    Enter value for 3:
    
  5. SYSのパスワードを入力します。

    specify password for SYS as parameter 4:
    Enter value for 4:
    
  6. ログ・ディレクトリのディレクトリ・パス($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を実行すると、次の作業が実行されます。

  1. インストール済のHRスキーマがすべて削除されます。
  2. ユーザーHRを作成して、必要な権限を付与します
  3. HRとして接続します
  4. スキーマ・オブジェクトを作成して移入するスクリプトを実行します。

スクリプトとその機能の一覧については、「HRサンプル・スキーマのスクリプトおよびオブジェクト」を参照してください。

スキーマの拡張機能として、オプションで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を削除できます。

関連項目:

パスワードの最小要件については、『Oracle Databaseセキュリティ・ガイド』を参照してください。

2.1.3 HRスキーマのアンインストール

HRスキーマを削除する必要がある場合は、SQL* Plusコマンドラインで次のスクリプトを実行します。

sqlplus system/systempw@connect_string
@drop_hr.sql

2.2 GitHubからのサンプル・スキーマのインストール

Oracle Database 12cリリース2以降では、$ORACLE_HOME/demo/schema/human_resourcesディレクトリにあるのは、HRサンプル・スキーマのSQLスクリプトのみです。OE、OC、PMおよびSHのスキーマなどの HR以外のサンプル・スキーマを使用する場合は、GitHubリポジトリからダウンロードする必要があります。

GitHubからサンプル・スキーマをインストールする手順は、次のとおりです。
  1. 最新バージョンのサンプル・スキーマのインストール・スクリプトを見つけるため、GitHub Webサイトhttps://github.com/oracle/db-sample-schemas/releases/latestに移動します

    たとえば、12.2.0.1バージョンのスクリプトが必要な場合は、https://github.com/oracle/db-sample-schemas/releases/tag/v12.2.0.1に移動します

  2. GitHubリポジトリをクローニングするか、GitHubからZIPバンドルをダウンロードしてファイルを抽出します。

  3. ファイルを解凍します。

  4. zipファイルに含まれているREADMEのスキーマを作成する手順に従います。

この項には次のトピックが含まれます:

2.2.1 サンプル・スキーマのリセット

サンプル・スキーマを初期状態にリセットするには、SQL*Plusのコマンドライン・インタフェースから次の構文を使用します。

sqlplus system/systempw@connect_string
@mksample systempw syspw hrpw oepw pmpw ixpw shpw bipw users temp /your/path/to/log/ connect_string

mksampleスクリプトは、11パラメータをとります。SYSTEMおよびSYS用のパスワードと、スキーマHROEPMIXおよびSH用のパスワードを指定します。一時表領域およびデフォルトの表領域を指定し、ログ・ファイル・ディレクトリ名の末尾にはスラッシュをつけます。

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スクリプトによって、スキーマ・ユーザーとそのすべてのオブジェクトが削除されます。

2.2.2 サンプル・スキーマのアンインストール

インストールしたサンプル・スキーマを削除する必要がある場合は、SQL* Plusコマンドラインでスクリプトdrop_sch.sqlを実行します。このスクリプトは、Oracle Databaseに付属しています。

このスクリプトでは、次のパラメータが使用されます。

  • systempwd

  • SYSTEM

  • connect_string

systempwdSYSTEMユーザーのパスワードで、connect_stringはデータベースの接続文字列です。

例2-1 サンプル・スキーマのアンインストール方法

sqlplus system/systempw@connect_string
@drop_sch.sql