Oracle Database12cをRHEL / CentOS7にインストールする方法


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

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

重要:RHEL/CentOS 6ユーザーは、このガイドに従ってOracle Database12cをRHEL/CentOS6.xにインストールできます。

さぁ、始めよう。

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

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

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

Oracle12cインストールの準備

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

# yum update -y

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

# 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 

インストーラーによって提示された手順に従います。

CentOS7へのOracle12cのインストール

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

9.データベースの作成と設定を選択します。

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

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

  • Oracle base: /u01/app/oracle
  • Software location: /u01/app/oracle/product/12.2.0/dbhome_1
  • Database file location: /u01
  • OSDBA group: dba
  • Global database name: your choice. We chose tecmint here.
  • Take note of the password, as you will be using it when you first connect to the database.
  • Uncheck Create as Container database.

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

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

エラーが見つかった場合、インストーラーはこのポイントを超えさせません。

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

インストール中のある時点で、いくつかのスクリプトを実行して、追加のアクセス許可を設定したり、問題を修正したりするように求められる可能性があります。これはここに示されています:

そしてここ:

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

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

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

https://localhost:5500/em

Oracle12cの仕上げ

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_profilefileに追加します。

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 [email protected]

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

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

IDENTITY列はOracle12cで最初に導入されたことに注意してください。

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/oratabでtecmintデータベースを起動する必要があることを示す必要があります(Y:はい)。

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

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

この記事について質問やコメントがある場合は、以下のフォームを使用してお気軽にご連絡ください。