ウェブサイト検索

Oracle Database 12c を RHEL/CentOS 7 にインストールする方法


Oracle データベースは、エンタープライズ環境で最も広く使用されているリレーショナル データベース管理システム (RDBMS) の 1 つです。 Oracle Corporation によって開発、保守、サポートされているこの RDBMS は、多くの場合、Enterprise Linux (RHEL、CentOS、または Scientific Linux) の上にインストールされます。これにより、非常に堅牢なオペレーティング システム、つまりデータベースが選択されます。

この記事では、RHEL/CentOS 7 GUI サーバーにOracle 12c Release 2をインストールする方法について説明します。

注意: RHEL/CentOS 6 ユーザーは、このガイドに従って Oracle Database 12c を RHEL/CentOS 6.x にインストールできます。

さぁ、始めよう。

前提条件:

Oracle 12c をインストールした後、構成はグラフィカル インターフェイスを通じて実行されます。これが、X Window System ソフトウェア グループがインストールされた CentOS 7 サーバーが必要な理由です。

こちらもお読みください: RHEL/CentOS 7 サーバーへの GUI (Gnome) のインストール

さらに、Oracle Database 12c インストール ファイル (3.2 GB) をダウンロードするにはOracle アカウントが必要であることに注意してください。ただし、アカウントは無料で作成できるため、心配する必要はありません。

最後に、サーバーに少なくとも2 GBのRAMと30 GBの利用可能なディスク容量があることを確認してください。これらのハードウェア要件は、当社のようなテスト環境では安全ですが、本番環境で Oracle を使用することを検討する場合は、要件を増やす必要があります。

Oracle 12c インストールの準備

1. まず、RHEL/CentOS 7 システムに現在インストールされているすべてのパッケージが最新バージョンに更新されていることを確認します。

yum update -y

2. 次に、RDBMS に必要な依存関係をすべて、zip および unzip パッケージとともにインストールします。

yum install -y binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh compat-libstdc++-33 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64 zip unzip

3. Oracle のユーザー アカウントとグループを作成します。

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle

最後に、新しく作成した oracle アカウントのパスワードを設定します。

passwd oracle

4. 次のカーネル パラメータを /etc/sysctl.conf ファイルに追加します。

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8329226240
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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 = 1048586

そしてそれらを適用します:

sysctl -p
sysctl -a

5. /etc/security/limits.conf ファイルで oracle の制限を設定します。

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

6. /stage という名前のディレクトリを作成し、zip 形式のインストール ファイルを解凍します。

unzip linuxx64_12201_database.zip -d /stage/

続行する前に、実際のインストール中に使用される他のディレクトリを作成し、必要な権限を割り当てます。

mkdir /u01
mkdir /u02
chown -R oracle:oinstall /u01
chown -R oracle:oinstall /u02
chmod -R 775 /u01
chmod -R 775 /u02
chmod g+s /u01
chmod g+s /u02

これで、インストール スクリプトを実行する準備が整いました。

7. RHEL/CentOS 7 サーバーで GUI セッションを開き、インストール スクリプトを起動します。

/stage/database/runInstaller 

そして、インストーラーが示す手順に従います。

CentOS 7 への Oracle 12c のインストール

8. Oracle アカウントに関連付けられた電子メール アドレスを入力します (オプション)。

9. [作成] を選択し、データベースを構成します。

10. 最小構成とスターター データベースをセットアップしているため、デスクトップ クラスを選択します。

11. 基本構成として次のオプションを選択します。

  • Oracle ベース: /u01/app/oracle
  • ソフトウェアの場所: /u01/app/oracle/product/12.2.0/dbhome_1
  • データベース ファイルの場所: /u01
  • OSDBA グループ: dba
  • グローバル データベース名: 任意の名前を選択します。ここではテクミントを選択しました。
  • 初めてデータベースに接続するときに使用するパスワードをメモしておいてください。
  • [コンテナとして作成] データベースのチェックを外します。

12. デフォルトのインベントリディレクトリを/u01/app/oraInventoryのままにします。

13. インストールの事前チェックがエラーなく完了していることを確認します。

エラーが見つかった場合、インストーラーはこの時点から先へ進むことを許可しません。

14. Oracle 12c のインストールが完了するまで待ちます。

インストール中のある時点で、さらに権限を設定したり問題を修正したりするために、いくつかのスクリプトを実行するよう求められる場合があります。これを次に示します。

そしてここ:

cd /u01/app/oraInventory
./orainstRoot.sh
cd /u01/app/oracle/product/12.2.0/dbhome_1
./root.sh

15. その後、インストールを続行するには、GUI セッションの前の画面に戻り、[OK] をクリックする必要があります。

完了すると、Oracle Enterprise Manager の URL を示す次のメッセージが表示されます。

https://localhost:5500/em

Oracle 12c の仕上げ

16. サーバーの外部からの接続を許可するには、次のポートを開く必要があります。

1521/TCP
5500/TCP
5520/TCP
3938/TCP

次のように:

firewall-cmd --zone=public --add-port=1521/tcp --add-port=5500/tcp --add-port=5520/tcp --add-port=3938/tcp --permanent
firewall-cmd --reload

17. 次に、前に選択したパスワードを使用して oracle としてログインし、次の行を .bash_profile ファイルに追加します。

TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=tecmint; export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

18. 最後に、localhost を 0.0.0.0 に置き換えます。

vi $ORACLE_HOME/network/admin/listener.ora

19. 最後のステップでは、.bash_profile を再ロードして新しい設定を適用します。

source .bash_profile

20. 次に、システム アカウントと前のセクションのステップ 11 で選択したパスワードを使用してデータベースにログインします。

sqlplus system@tecmint

必要に応じて、tecmint データベース内にテーブルを作成し、次のようにサンプル レコードを挿入します。

SQL> CREATE TABLE NamesTBL
(id   NUMBER GENERATED AS IDENTITY,
name VARCHAR2(20));

IDENTITY 列は Oracle 12c で初めて導入されたことに注意してください。

SQL> INSERT INTO NamesTBL (name) VALUES ('Gabriel');
SQL> INSERT INTO NamesTBL (name) VALUES ('Admin');
SQL> SELECT * FROM NamesTBL;

システム起動時に Oracle を起動できるようにする

21. データベース サービスが起動時に自動的に開始できるようにするには、次の行を /etc/systemd/system/oracle-rdbms.service ファイルに追加します。

/etc/systemd/system/oracle-rdbms.service
Invoking Oracle scripts to start/shutdown Instances defined in /etc/oratab
and starts Listener

[Unit]
Description=Oracle Database(s) and Listener
Requires=network.target

[Service]
Type=forking
Restart=no
ExecStart=/u01/app/oracle/product/12.2.0/dbhome_1/bin/dbstart /u01/app/oracle/product/12.2.0/dbhome_1
ExecStop=/u01/app/oracle/product/12.2.0/dbhome_1/bin/dbshut /u01/app/oracle/product/12.2.0/dbhome_1
User=oracle

[Install]
WantedBy=multi-user.target

22. 最後に、起動中に /etc/oratabtecmint データベースを起動する必要があることを示す必要があります (Y:はい)。

まとめ

この記事では、RHEL/CentOS 7 にOracle 12c をインストールする方法、データベースの作成と構成方法、テーブルの作成とデータ行の挿入方法について説明しました。

さらに、システムの起動時にデータベース サーバーが稼働しており、その時点でデフォルトのデータベースが使用可能になっている必要があることに注意することが重要です。

この記事に関してご質問やご意見がございましたら、以下のフォームを使用してお気軽にお問い合わせください。