お疲れ様です。きざきまるおです。
今回はOracle社によって準備されているサンプルスキーマを設定する方法を書いていきます。
サンプルスキーマといいつつ若干不親切なので皆さんの助けになれればいいなと思います。
それではどうぞ。
サンプルスキーマ概要
サンプルスキーマは以下6つのスキーマで構成されています。
- HR:会社の従業員及び施設に関する情報
- OE:会社の製品の在庫と販売を管理
- PM:各製品に関する説明書を詳細情報を管理
- IX:出荷情報を管理
- SH:事業統計を管理
- BI:ビジネスインテリジェンス情報を管理
ER図は以下URLをご参照ください。
https://docs.oracle.com/en/database/oracle/oracle-database/21/comsc/schema-diagrams.html#GUID-D268A4DE-BA8D-428E-B47F-80519DC6EE6E
設定
それでは早速やっていきましょう。まずは以下URLからサンプルスキーマをダウンロードしましょう。
※今回はtar.gzファイルを前提として進めていきます。
https://github.com/oracle-samples/db-sample-schemas/releases
次にORACLE_HOMEディレクトリに先ほどダウンロードしたファイルを配置するためのディレクトリを作成しましょう。
mkdir $ORACLE_HOME/sample_schema
次にサンプルスキーマファイルを/tmpへ配置して展開し、展開後のファイルを先ほど作成したディレクトリへ配置してください・。
配置はWinSCPを利用
tar -xvf db-sample-schemas-21.1.tar.gz
mv db-sample-schemas-21.1 $ORACLE_HOME/sample_schema/
次にスキーマ作成SQL内のディレクトリ情報を変更する必要がありますので以下コマンドを入力しましょう。
cd $ORACLE_HOME/sample_schema/db-sample-schemas-21.1
perl -p -i.bak -e 's#__SUB__CWD__#'$(pwd)'#g' *.sql */*.sql */*.dat
さていよいよサンプルスキーマの設定です。まずは作業用のPDBを作成しましょう。
※必ずテスト環境で実施しましょう。
sqlplus / as sysdba
create pluggable database SAMPLE admin user sample identified by sample
FILE_NAME_CONVERT = ('/opt/oracle/oradata/XE/pdbseed/', '/opt/oracle/oradata/SAMPLE/');
PDBを自動起動できるようにしておきましょう。
alter pluggable database SAMPLE open;
alter pluggable database SAMPLE save state;
OSコマンドから直接PDBに接続できるようtnsnames.oraに以下設定を追加しておきましょう。
SAMPLE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SAMPLE)
)
)
最後に作成したPDBに接続して以下コマンドをたたいて完了です。
@?/sample_schema/db-sample-schemas-21.1/mksample oracle oracle hr oe pm ix sh bi users temp /sample_log/ localhost:1521/SAMPLE
かなり大変だったかと思いますがお疲れさまでした。
ではまた。