0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle Linux 9.7にOracle AI Database 26aiを導入する(シングル構成)

0
Posted at

1. はじめに

本記事では、Oracle Linux 9.7にOracle AI Database 26ai Enterprise Editionを導入する手順を記載します。
ここで導入するOracle Databaseは、OTNの範囲での作業、かつ検証目的のため、以下については記載していません。

  • OSやDBのパラメーターチューニング
  • Oracle Databaseのパッチ適用方法

2. 前提条件

本記事は下記のハードウェア・ソフトウェアを前提としています。

2.1. ハードウェア

  • HW : Virtual Box仮想マシン
  • CPU : 4Core
  • Mem : 8GB
  • HDD : 50GB(OS), 50GB(DB)

2.2. ソフトウェア

  • OS : Oracle Linux 9.7 (Virtual BOX)
  • DB : Oracle AI Database 26ai Enterprise Edition

2.3. ソフトウェア入手先

ソフトウェアは下記から入手できます(要アカウント)

3. 仮想マシンの作成

仮想マシンは次のように作成します。※ 詳細は省略します。

  • 仮想マシン名 : db26ais01
  • タイプ : Linux
  • バージョン : Oracle (64-bit)
  • プロセッサー : 4CPU
  • メモリーサイズ : 8GB (8,192 MB)
  • ストレージ : 50GB(OS), 50GB(DB)

4. Oracle Linux 9.7 のインストール

Oracle Linux 9.7のインストールは次のように行います。

※ 詳細は省略します。太字はデフォルトから変更する箇所です。

  1. Oracle Linux 9.7 → Install Oracle Linux 9.7
  2. インストール時に使用する言語 → 日本語
  3. インストールの概要
    1. 地域設定
      1. キーボード → 日本語
      2. 言語サポート → 日本語
      3. 日付と時刻 → アジア/東京
    2. ソフトウェア
      1. インストールソース → ローカルメディア
      2. ソフトウェアの選択 → サーバー(GUI使用)
    3. システム
      1. インストール先 → パーティションを自分で構成する
        sda1 : /boot/efi (512MiB)
        sda2 : /boot (1536MiB)
        sda3 : swap (16GiB)
        sda4 : / (xfs, 32GiB)
      2. KDUMP → Kdumpが有効になります
      3. ネットワークとホスト名 → 不明
      4. セキュリティープロファイルはありません → 選択されたプロファイルはありません
  4. ユーザーの設定
    ROOTパスワード : 適宜設定
    ユーザーの作成 : 適宜設定
  5. 再起動後の初期セットアップ
    1. LICENSING
      1. LICENSE INFROMATION → ライセンスに同意
    2. システム
      1. Subscription Manager → このシステムは現在登録されていません

5. Oracle Linux 9.7 の設定

本章の設定では、指定がない限り全てrootユーザーで実行します。

5-1. デフォルト・ターゲットの変更(Graphical→MultiUser)

systemctl set-default multi-user.target
systemctl get-default
systemctl isolate multi-user.target

5-2. ホスト名設定

ホスト名を設定します。

hostnamectl set-hostname db26ais01.example.com

コマンド実行後、ホスト名が設定されたことを確認します。

uname -n

5-3. ネットワーク設定

nmcliコマンドを使用して、ネットワーク設定を行います。設定内容は次の通りです。

# 設定項目 設定値
1 IPアドレス 192.168.2.13/24
2 DNSサーバー 192.168.2.3
3 DNS名 example.com
nmcli connection modify enp0s3 connection.autoconnect yes
nmcli connection modify enp0s3 ipv4.addresses 192.168.2.13/24
nmcli connection modify enp0s3 ipv4.dns 192.168.2.2
nmcli connection modify enp0s3 ipv4.method manual
nmcli connection modify enp0s3 ipv4.dns-search example.com
nmcli connection modify enp0s3 ipv4.routes "192.168.0.0/16 192.168.2.129"

nmcli connection down enp0s3
nmcli connection up enp0s3

IPアドレスが正しく設定されているか確認します。

ip addr show dev enp0s3

5-4. hosts設定

hostsで下記を追記します。

/etc/hosts
192.168.2.13 db26ais01 db26ais01.example.com

5-5. SELinux設定

SELinuxを無効化するため、rootユーザーで/etc/selinux/configファイルを下記のように編集します。

/etc/selinux/config
- 22 SELINUX=enforcing
+ 22 SELINUX=disabled 

その後、OSを再起動します。

shutdown -r now

再起動後に下記コマンドを実行し、SELinuxが無効化されていること(Disabledと表示される)を確認します。

getenforce

5-6. firewalldの無効化

firewalldを無効化(masked)します。

systemctl stop    firewalld.service
systemctl disable firewalld.service
systemctl mask    firewalld.service

設定後、下記コマンドで無効化された(maskedと表示される)ことを確認します。

systemctl list-unit-files firewalld.service

5-7. ローカルyumの構成

Oracle DatabaseやOEMで必要なパッケージをDVDから導入するため、ローカルのリポジトリを定義します。

dnf config-manager --add-repo /local-app
dnf config-manager \
  --setopt local-app.name="local - AppStream" \
  --setopt local-app.metadata_expire=-1 \
  --setopt local-app.baseurl=file:///media/AppStream/ \
  --setopt local-app.gpgcheck=1 \
  --setopt local-app.gpgkey=file:///media/RPM-GPG-KEY-oracle \
  --save

dnf config-manager --add-repo /local-base
dnf config-manager \
  --setopt local-base.name="local - BaseOS" \
  --setopt local-base.metadata_expire=-1 \
  --setopt local-base.baseurl=file:///media/BaseOS/ \
  --setopt local-base.gpgcheck=1 \
  --setopt local-base.gpgkey=file:///media/RPM-GPG-KEY-oracle \
  --save

ローカルリポジトリが利用可能であることを確認します。

mount /dev/cdrom /media
dnf --disablerepo=* --enablerepo=local-app,local-base list

5-8. 必須パッケージの導入

Oracle AI Database 26ai Enterprise Editionの動作で必要なパッケージを導入します。

# package list 設定
pkgs=("bc" "binutils" "compat-openssl11" "elfutils-libelf" "fontconfig" "glibc" "glibc-devel" "glibc-headers" "ksh" "libaio" "libasan" "liblsan" "libX11" "libXau" "libXi" "libXrender" "libXtst" "libxcrypt-compat" "libgcc" "libibverbs" "librdmacm" "libstdc++" "libxcb" "libvirt-libs" "make" "policycoreutils" "policycoreutils-python-utils" "smartmontools" "sysstat" "nfs-utils")

# package 導入
(
  for (( i = 0 ; i < ${#pkgs[*]}; i++ )) {
    echo ${pkgs[$i]}
  }
) | while read pkg
do
  rpm -q ${pkg} > /dev/null
  if [ $? -ne 0 ]; then
    echo -- ${pkg}
    dnf --disablerepo=* --enablerepo=local-app,local-base -y install ${pkg}
  fi
done

# package 導入確認
(
  for (( i = 0 ; i < ${#pkgs[*]}; i++ )) {
    echo ${pkgs[$i]}
  }
) | while read pkg
do
  rpm -q ${pkg} > /dev/null
  if [ $? -eq 0 ];then
    printf "%-48s %s-%s (%s)\n" $(rpm -q --queryformat "%{NAME} %{VERSION} %{RELEASE} %{ARCH}" $pkg)
  else
    echo $pkg
  fi
done

Oracle AI Database 26aiで必要なパッケージは、下記マニュアルから確認できます。
[26ai] Databaseインストレーション・ガイドfor Linux - x86-64用のサポート対象Oracle Linux 9ディストリビューション

5-9. ユーザー、グループの作成

oracleユーザーとoracleユーザーの主グループであるoinstall, 補助グループであるdba, oper, backupdba, dgdba, kmdba, racdbaを作成します。

5-9-1. グループの作成

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54330 racdba

5-9-2. ユーザーの作成

useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle

5-9-3. ユーザー・パスワードの設定

passwd oracle

5-9-4. oracleユーザーのumask設定

echo "umask 022" >> ~oracle/.bash_profile
cat ~oracle/.bash_profile

5-9-5. ユーザー・グループの確認

id -a oracle

5-10. カーネル・パラメーターの設定

カーネル・パラメーターをマニュアルに沿って設定します。ここで設定する値は、マニュアルの値をそのまま使用します。

5-10-1. カーネル・パラメーター・ファイルの設定

Oracle Databaseの動作に必要なカーネル・パラメーターの値を設定します。

/etc/sysctl.d/99-oracledb.conf
# Oracle Database kernel parameter
kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmax = 8589934592
kernel.shmmni = 4096
kernel.panic_on_oops = 1
fs.file-max = 6815744
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

5-10-2. カーネル・パラメーター反映

sysctl --system

5-10-3. カーネル・パラメーター値確認

sysctl -a | sort

カーネル・パラメーターの設定値は、下記マニュアルを参考にしています。
[26ai] データベース・インストレーション・ガイドfor Linux - Linuxのカーネル・パラメーターの構成

kernel.shmallを設定する際、メモリー・ページ・サイズは4KiB(4096Byte)としています。

5-11. Oracleソフトウェア・インストール・ユーザーのリソース制限設定

Oracleソフトウェア・インストール・ユーザーとは、ここではoracleユーザーを指します。oracleユーザーのリソース制限を設定します。

5-11-1. Oracleソフトウェア・インストール・ユーザーのリソース制限設定手順

/etc/security/limits.d/oracle.conf
oracle soft nofile  1024
oracle hard nofile  65536
oracle soft nproc   4098
oracle hard nproc   16384
oracle soft stack   10240
oracle hard stack   32768
oracle hard memlock 15099500
oracle soft memlock 15099500

5-11-2. Oracleソフトウェア・インストール・ユーザーのリソース制限設定確認

下記コマンドをoracleユーザーで実行します。

# ソフト・リミットの確認
ulimit -aS
# ハード・リミットの確認
ulimit -aH

5-12. 透過的なHugePagesをmadviseに設定

推奨設定である、透過的なHugePagesをmadviseに設定します。19cでは無効化(none)推奨でしたが、UEK7以降のカーネルでは、パフォーマンスの観点からmadviseが推奨設定になっています。

5-12-1. 透過的なHugePagesをmadviseに設定

/etc/default/grub
- 6  GRUB_CMDLINE_LINUX="crashkernel=1G-64G:448M,64G-:512M resume=UUID=...(省略) rhgb quiet"
+ 6  GRUB_CMDLINE_LINUX="crashkernel=1G-64G:448M,64G-:512M resume=UUID=...(省略) rhgb quiet transparent_hugepage=madvise"

上記設定後、grub2-mkconfigコマンドで反映後、OSを再起動します。

# BIOS版
grub2-mkconfig -o /boot/grub2/grub.cfg --update-bls-cmdline
# UEFI版
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg --update-bls-cmdline
shutdown -r now

5-12-2. 透過的なHugePagesの設定確認

再起動後、透過的なHugePagesをmadviseに設定(always [madvise] never と表示)されることを確認します。

cat /sys/kernel/mm/transparent_hugepage/enabled

透過的なHugePagesの無効化設定は、下記マニュアルを参考にしています。
[26ai] データベース・インストレーション・ガイドfor Linux - 透過的なHugePagesをmadviseに設定

HugePagesの設定は、データベース作成後に設定します。

5-13. DB用ディスクの作成

DB用ディスク /dev/sdb にパーティションを作成し、xfsでフォーマットします。

OSインストール先ディスクが/dev/sdbとして認識されており、もう一方のディスクが/dev/sdaの場合、5-13-1, 5-13-2, 5-15 を/dev/sdaに読み替えて実行します。

5-13-1. パーティションの作成

partedでパーティションを作成します。/dev/sdb全体を1つのパーティションとして使用します。

parted -s /dev/sdb mklabel gpt
parted -s /dev/sdb -- mkpart primary 1 -1

5-13-2. xfsファイルシステムの作成

/dev/sdb1上にxfsファイルシステムを作成します。

mkfs.xfs /dev/sdb1

5-14. ディレクトリーの作成

Oracle Enterprise managerを構成するにあたり、必要なディレクトリーを作成し、権限を付与します。

mkdir -p /u01/app/oracle/oradata
chown -R oracle:oinstall /u01/app
chmod -R 775 /u01/app
ls -lR /u01

5-15. /etc/fstab設定

/etc/fstabを設定します。

printf "%-42s%-24s%-8s%-16s%-2s%-2s\n" $(blkid /dev/sdb1 | gawk '{print $2}' | tr -d '"') /u01/app/oracle/oradata xfs defaults 0 0 >> /etc/fstab
printf "%-42s%-24s%-8s%-16s%2s%2s\n" /dev/cdrom /media iso9660 defaults,noauto,ro 0 0 >> /etc/fstab
systemctl daemon-reload
cat /etc/fstab

その後、/u01/app/oracle/oradataをマウントし、権限を変更します。

mount /u01/app/oracle/oradata
df -k
chown oracle:oinstall /u01/app/oracle/oradata
ls -ld /u01/app/oracle/oradata

6. Oracle AI Database 26ai のインストール

本章の設定では、指定がない限り全てoracleユーザーで実行します。

6-1. Oracle AI Database 26ai Enterprise Edition を展開

ORACLE_HOME(/u01/app/oracle/product/26ai/dbhome_1)ディレクトリーを作成し、Oracle AI Database 26ai Enterprise Editionを展開します。

mkdir -p /u01/app/oracle/oradata/lib

###ここで、LINUX.X64_2326100_db_home.zip をsftp等で/u01/app/oracle/oradata/libに格納します。
mkdir -p /u01/app/oracle/product/26ai/dbhome_1
unzip -q /u01/app/oracle/oradata/lib/LINUX.X64_2326100_db_home.zip -d /u01/app/oracle/product/26ai/dbhome_1
rm /u01/app/oracle/oradata/lib/LINUX.X64_2326100_db_home.zip

6-2. Oracle AI Database 26ai Enterprise Edition導入

下記コマンドでインストーラーを起動し、OUIのウィザードに沿ってインストールします。
※ 詳細は省略します。太字はデフォルトから変更する箇所です。

/u01/app/oracle/product/26ai/dbhome_1/runInstaller
  1. 構成オプションの選択 → ソフトウェアのみの設定
  2. データベース・インストール・オプションの選択 → 単一インスタンス・データベースのインストール
  3. インストール場所の指定
    1. Oracleベース → /u01/app/oracle
  4. インベントリの作成 :
    1. インベントリ・ディレクトリ → /u01/app/oraInventory
    2. oraInventoryグループ名 → oinstall
  5. 権限のあるオペレーティング・システム・グループ
    1. データベース管理者(OSDBA)グループ → dba
    2. データベース・オペレータ(OSOPER)グループ(オプション) → oper
    3. データベースのバックアップおよびリカバリ(OSDBACKUPDBA)グループ → backupdba
    4. Data Guard管理者(OSDGDBA)グループ → dgdba
    5. 暗号化鍵管理(OSKMDBA)グループ → kmdba
    6. Real Application Cluster管理(OSRACDBA)グループ → racdba
  6. rootスクリプトの実行構成
    1. 構成スクリプトを自動的に実行 → 無効
  7. サマリー : レスポンス・ファイルの保存 (/home/oracle/db.rsp)
  8. 構成スクリプトの実行 (ここだけrootユーザーで実行)
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/26ai/dbhome_1/root.sh

6-3. oracleユーザーの環境変数を設定

oracleユーザーの環境変数を設定するため、.bash_profileに下記の行を追記します。

/home/oracle/.bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/26ai/dbhome_1
export PATH=${PATH}:${ORACLE_HOME}/bin:${ORACLE_HOME}/jdk/bin
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib
export NLS_LANG=JAPANESE_JAPAN.AL32UTF8
export LANG=ja_JP.UTF-8

.bash_profileに設定後、下記コマンドで.bash_profileを読み込みます。

. /home/oracle/.bash_profile

7. データベースの作成

7-1. CDBの作成

DBCAを使用してデータベースを作成します。
主な構成は次の通りです。

# 設定項目 設定値
1 DB名 cdb1
2 ブロックサイズ 8kByte(8,192Byte)
3 データベース・キャラクタ・セット Unicode(AL32UTF8)

※ 詳細は省略します。太字はデフォルトから変更する箇所です。

${ORACLE_HOME}/bin/dbca
  1. データベース操作の選択 → データベースの作成
  2. データベース作成モードの選択 → 拡張構成
  3. データベース・デプロイメント・タイプの選択
    1. データベース・タイプ → Oracle単一インスタンス・データベース
    2. データベースのテンプレート → カスタム・データベース
  4. データべースIDの詳細の指定
    1. グローバル・データベース名 → cdb1
    2. SID → cdb1
    3. コンテナ・データベースとして作成
      1. PDB用のローカルUNDO表領域の使用 → 有効
      2. 空のコンテナ・データベースの作成 → 選択
  5. データベース記憶域オプションの選択
    1. データベース記憶域属性にテンプレート・ファイルを使用 → 未選択
    2. データベース記憶域属性に次を使用 → 選択
      1. データベース・ファイルの記憶域タイプ → ファイルシステム
      2. データベース・ファイルの位置 → /u01/app/oracle/oradata/cdb1
      3. Oracle Managed Filesの使用(OMF) → 無効
  6. 高速リカバリ・オプションの選択
    1. 高速リカバリ領域の指定 → 無効
    2. アーカイブ有効化 → 無効
  7. ネットワーク構成詳細の指定
    1. 新規リスナーの作成 → 有効
      1. リスナー名 → LISTENER
      2. リスナー・ポート → 1521
  8. データベース・オプションの選択
    1. Oracle JVM → 有効
    2. Oracle Text → 有効
    3. Oracle OLAP → 有効
    4. Oracle Spatial → 有効
    5. Oracle Label Security → 無効
    6. Oracle Database Vault → 無効
  9. 構成オプションの指定
    1. メモリー → 自動共有メモリー管理を使用
      1. SGAサイズ → 1024 MB
      2. PGAサイズ → 512 MB
    2. サイズ指定
      1. ブロック・サイズ → 8192 BYTES
      2. 処理 → 320
    3. キャラクターセット → Unicode(AL32UTF8)を使用
      1. 各国語文字セット → AL16UTF16 - Unicode UTF-16汎用キャラクタ・セット
      2. デフォルト言語 → 日本語
      3. デフォルト地域 → 日本
    4. 接続モード → 専用サーバー・モード
  10. 管理オプションの指定
    1. Enterprise Manager (EM) Cloud Controlへの登録 → 無効
  11. データベース・ユーザー資格証明の指定 → 適宜設定
  12. データベース作成オプションの選択
    1. データベースの作成 → 有効
    2. データベース・テンプレートとして保存 → 無効
    3. データベース作成スクリプトの生成 → 有効
    4. 宛先ディレクトリー → {ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/scripts
  13. サマリー → レスポンス・ファイルの保存 (/home/oracle/dbca.rsp)

7-2. CDB上のPDBの作成(pdb$seedから)

SQL*Plusでcdb1に接続し、pdb$seedからPDBを作成します。

create pluggable database pdb1_1
  admin user pdb1_1_admin identified by oracle
  roles = (dba)
  file_name_convert = ( '/u01/app/oracle/oradata/cdb1/pdbseed/', '/u01/app/oracle/oradata/cdb1/pdb1_1/' )
;
alter pluggable database pdb1_1 open;

pdb1_1がオープンしたことを確認します。

show pdbs

7-3. HugePagesの設定

データベースが起動している状態で、必要なHugePagesのサイズを確認し、カーネルパラメーターに登録します。HugePagesのサイズは下記コマンドを実行して推奨値を算出します(oracleユーザーで実行します)。

HPG_SZ=`grep Hugepagesize /proc/meminfo | awk {'print $2'}`
NUM_PG=1
for SEG_BYTES in `ipcs -m | awk {'print $5'} | grep "[0-9][0-9]*"`
do
   MIN_PG=`echo "$SEG_BYTES/($HPG_SZ*1024)" | bc -q`
   if [ $MIN_PG -gt 0 ]; then
      NUM_PG=`echo "$NUM_PG+$MIN_PG+1" | bc -q`
   fi
done
echo $NUM_PG

ここで出力された値(仮に2055とします)を、/etc/sysctl.d/99-oracledb.confに追記します(rootユーザーで実施)。

/etc/sysctl.d/99-oracledb.conf
+ 13
+ 14 # HugePages
+ 15 vm.nr_hugepages = 2055

HugePagesのサイズは、hugepages_settings.shというスクリプトで推奨値を計算できます。
本スクリプトはMy Oracle Support 401749.1から入手可能ですが、今回はOTNの範囲で作成のため、以下マニュアルを流用します。
[12cR1] データベース管理者リファレンスfor Linux and UNIX System-Based Operating Systems - G.1.2 LinuxでのHugePagesの構成
このマニュアル内では、カーネル・バージョンが3.8までしか対応していませんが(Oracle Linux 9.7のデフォルトは6.12)、いくつかのサイトを確認するに、カーネル・バージョンが3.8と6.12の時で算出方法に変更ないと判断し、上記コマンドの算出としています。

8. Oracle Database の初期設定

データベーを手動で起動・停止を行うスクリプトを記載します。
本章の設定では、指定がない限り全てoracleユーザーで実行します。

8-1. Oracle Database起動スクリプト(手動実行用)

Oracle Database起動スクリプト(/home/oracle/start_oracledb.sh)を次の内容で保存します。

/home/oracle/start_oracledb.sh
#!/bin/bash
export ORAENV_ASK=NO
export NLS_LANG=american_america

egrep -v '^(#|$)' /etc/oratab | while read def
do
  sid=$(echo $def | awk -F: '{ print $1 }')
  export ORACLE_SID=$sid
  . oraenv
  sqlplus -S / as sysdba << _EOF_
    startup
_EOF_

  lsnrctl status > /dev/null 2>&1
  if [ $? -ne 0 ] ; then lsnrctl start ; fi
done

8-2. Oracle Database停止スクリプト(手動実行用)

Oracle Database停止スクリプト(/home/oracle/stop_oracledb.sh)を次の内容で保存します。

/home/oracle/stop_oracledb.sh
#!/bin/bash
export ORAENV_ASK=NO
export NLS_LANG=american_america

egrep -v '^(#|$)' /etc/oratab | while read def
do
  sid=$(echo $def | awk -F: '{ print $1 }')
  export ORACLE_SID=$sid
  . oraenv
  sqlplus -S / as sysdba << _EOF_
    shutdown immediate
_EOF_

  lsnrctl status > /dev/null 2>&1
  if [ $? -eq 0 ] ; then lsnrctl stop ; fi
done

9. サンプル・スキーマの投入(オマケ)

Oracle Databaseの学習・検証を行う際、検証用のユーザーやそのデータ必要になります。
マニュアル記載のユーザー、データが含まれているサンプル・スキーマの投入方法を記載します。
本省の設定では、指定がない限り全てoracleユーザーで実行します。

サンプル・スキーマについては下記を参照下さい。
[26ai] Databaseサンプル・スキーマ
以下導入手順は下記を参考にしています。
GitHub - oracle-samples/db-sample-schemas

9.1. サンプル・スキーマの展開

サンプル・スキーマを入手後、展開します。

mkdir -p /u01/app/oracle/oradata/lib

### ここで、2026年8月時点の最新のdb-sample-schemas-23.3.zipを
### sftp等で/u01/app/oracle/oradata/libに格納します。
cd /u01/app/oracle/oradata/lib
unzip -q db-sample-schemas-23.3.zip

サンプル・スキーマはこちらから入手してください。
Release Oracle Database Sample Schemas

9-2. スクリプトの一部修正

README.mdやREADME.txtを参考に、スクリプト内の文字列を展開した先のディレクトリ名に変更します。

cd db-sample-schemas-23.3
perl -p -i.bak -e 's#__SUB__CWD__#'$(pwd)'#g' *.sql */*.sql */*.dat

9-3. cdb1上のプラガブル・データベースpdb1_1上にサンプル・スキーマを作成

pdb1_1にサンプル・スキーマを登録します。
example表領域を作成し、サンプル・スキーマをexample表領域上に作成します。

export ORACLE_SID=cdb1
sqlplus -S / as sysdba << "_EOF_"
  alter session set container = pdb1_1;
  create tablespace example
    datafile '/u01/app/oracle/oradata/cdb1/pdb1_1/example01.dbf'
    size 10M autoextend on;
  select name, con_id from v$tablespace order by con_id, ts#;
_EOF_

次にサンプル・スキーマを1つずつ作成します。

9-3-1. サンプルスキーマ CO 作成

cd /u01/app/oracle/oradata/lib/db-sample-schemas-23.3/customer_orders
sqlplus system/******@db26ais01:1521/pdb1_1 @co_install.sql
※ coユーザのパスワード、スキーマ作成表領域を指定

9-3-2. サンプルスキーマ HR 作成

cd /u01/app/oracle/oradata/lib/db-sample-schemas-23.3/human_resources
sqlplus system/******@db26ais01:1521/pdb1_1 @hr_install.sql
※ hrユーザのパスワード、スキーマ作成表領域を指定

9-3-3. サンプルスキーマ OE 作成

cd /u01/app/oracle/oradata/lib/db-sample-schemas-23.3/order_entry

sqlplus system/******@db26ais01:1521/pdb1_1 << "_EOF_"
  define db_oe_pwd = oe
  define default_ts = example
  define temp_ts = temp
  define db_hr_pwd = hr
  define db_sys_pwd = ******
  define data_path = /u01/app/oracle/oradata/lib/db-sample-schemas-23.3/
  define log_path = /u01/app/oracle/oradata/lib/db-sample-schemas-23.3/order_entry/
  define vrs = v3
  define connect_string=db26ais01:1521/pdb1_1
  @oe_main.sql &db_oe_pwd &default_ts &temp_ts &db_hr_pwd &db_sys_pwd &data_path &log_path &vrs &connect_string
_EOF_

9-3-4. サンプルスキーマ PM 作成

cd /u01/app/oracle/oradata/lib/db-sample-schemas-23.3/product_media

sqlplus system/******@db26ais01:1521/pdb1_1 << "_EOF_"
  define db_pm_pwd = pm
  define default_ts = example
  define temp_ts = temp
  define db_oe_pwd = oe
  define db_sys_pwd = ********
  define data_path = /u01/app/oracle/oradata/lib/db-sample-schemas-23.3/product_media/
  define log_path = /u01/app/oracle/oradata/lib/db-sample-schemas-23.3/product_media/
  define work_path = /u01/app/oracle/oradata/lib/db-sample-schemas-23.3/product_media/
  define connect_string=db26ais01:1521/pdb1_1
  @pm_main.sql &db_pm_pwd &default_ts &temp_ts &db_oe_pwd &db_sys_pwd &data_path &log_path &work_path &connect_string
_EOF_

9-3-5. サンプルスキーマ SH 作成

cd /u01/app/oracle/oradata/lib/db-sample-schemas-23.3/sales_history
sqlplus system/******@db26ais01:1521/pdb1_1 @sh_install.sql
※ shユーザのパスワード、スキーマ作成表領域を指定

9-4. パスワードの有効期限を無期限に変更

sqlplus / as sysdba << _EOF_
  alter session set container = pdb1_1;

  alter profile default limit failed_login_attempts unlimited;
  alter profile default limit password_grace_time   unlimited;
  alter profile default limit password_life_time    unlimited;
  alter profile default limit password_lock_time    unlimited;

  set pagesize 50000
  set linesize 120
  column profile       format a16
  column resource_name format a25
  column resource_type format a15
  column limit         format a27

  select profile, resource_name, resource_type, limit from dba_profiles order by profile, resource_type, resource_name;
_EOF_
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?