Oracle Database 12c サンプル・スキーマ をインストールする
文書番号:10104
サンプル・スキーマを作る手順です。
依存性があるためサンプル・スキーマを個別に作成するときは以下の順で作成します。
- HR
- OE
- PM
- IX
- SH
スクリプトを準備する
データベース上でコマンドを実行するのですが、「@接続記述子」を指定しないで接続した場合にプラガブル・データベースに接続できない場合、 スクリプトファイルを修正する必要があります。
ユーザー名「system」で接続し、「show con_name」コマンドで接続先のコンテナ名を参照すると「CDB$ROOT」になっています。
クリックで拡大
サンプル・スキーマを作成するスクリプトの中で「CONNECT~」をする際、接続記述子の指定がないためコンテナデータベースに接続されてしまい、 以後のスクリプトがエラーになってしまいます。
にスクリプト実行時にエラーにならないようにするため、スクリプトを修正します。
以下のフォルダおよび、そのサブフォルダにあるファイル内の記述で「CONNECT」「connect」「sqlldr」で始まる行を探し、ユーザー名/パスワードの後ろに接続記述子を追記します。
%ORACLE_HOME%\demo\schema
(例:D:\app\product\12.1.0\dbhome_1\demo\schema\)
※grep検索できるようなツールを使わないと厳しいかもしれません。
例:D:\app\product\12.1.0\dbhome_1\demo\schema\human_resources\hr_main.sql
クリックで拡大
追記する箇所が結構たんくさんあり大変なのでなんとか記述なしでプラガブル・データベースの方に接続できないか試してみましたが、少なくともこの環境ではできませんでした。
デフォルトの接続文字列のサービス名をPDBの方にしたり、ORACLE_SIDをPDB側にしたりするのですが、プロトコル・アダプタエラーになります。
ユーザー・パスワード@PDBで接続すると接続できるのに不思議です。
他の環境もしくは記述子なしでうまく接続できる方法があれば上記スクリプトの編集は不要です。
サンプル・スキーマ を一括で作成する
- キーボードの Windwos ロゴキーを押しながら「R」キーを押します。
クリックで拡大
- 「ファイル名を指定して実行」ダイアログが起動します。
「cmd」と入力して「OK」をクリックします。
クリックで拡大 - サンプル・スキーマをすべて一括で作成する場合は以下のフォルダにある「mksample.sql」を実行します。
%ORACLE_HOME%\demo\schema
例:D:\app\product\12.1.0\dbhome_1\demo\schema\mksample.sql
クリックで拡大 - system ユーザーでログインし、「@」の後に「mksample.sql」のフルパスを指定し、「Enter」を押下します。
※「mksample.sql」ファイルをコマンドプロンプトへドラッグすると簡単です。
スクリプトを実行するといくつかのパラメーターの入力を求められます。
- SYSTEM ユーザーのパスワード
- SYS ユーザーのパスワード
- HR ユーザーを作成し、設定する新しいパスワード
- OE ユーザーを作成し、設定する新しいパスワード
- PM ユーザーを作成し、設定する新しいパスワード
- IX ユーザーを作成し、設定する新しいパスワード
- SH ユーザーを作成し、設定する新しいパスワード
- BI ユーザーを作成し、設定する新しいパスワード
- デフォルト表領域
※既に作成済みの表領域を指定します。 - 一時表領域
※既に作成済みの表領域を指定します。 - ログの出力先フォルダ
※フルパスで入力し、最後に「\」を付加します。 (例:C:\temp\)
クリックで拡大
- 最後まで実行されると「PL/SQL procedure successfully completed.」と表示されて完了します。
コマンドプロンプトは終了します。
クリックで拡大
コマンド開始時にログ出力先に指定したフォルダにログファイルが出力されていますので、エラーになっていないか内容を確認します。
接続記述子が足りないところがあると「接続できませんでした」のようなエラーが出ていたりします。
サンプル・スキーマを作成するスクリプトは最初に既存のスキーマを削除してから作成をするようになっていますので何度実行してもかまいません。
エラーになったところを修正しながら何度でも実行してください。
クリックで拡大
- 最後まで正常に完了できたらそれぞれのサンプルスキーマで接続してみます。
クリックで拡大
スキーマごとに作成する場合はそれぞれのスキーマ用のフォルダにあるスクリプトを実行します。
スキーマ | フォルダ | スクリプトファイル |
---|---|---|
HR | human_resources | hr_main.sql |
OE | order_entry | oe_main.sql |
PM | product_media | pm_main.sql |
IX | info_exchange | hix_main.sql |
SH | sales_history | sh_main.sql |