CentOS 7にOracle Database 12cをインストールする手順

重要: 本チュートリアルは公式ライセンスに従ってOracleソフトウェアをダウンロード・利用することを前提としています。テスト環境での実施を推奨します。
目的と想定読者
- 目的: CentOS 7上でOracle Database 12c(12.1.0)をインストールして稼働確認すること。
- 想定読者: Linuxの基本操作(root権限、パッケージ管理、SSH)に慣れたシステム管理者やデータベース管理者。
主要なポイント
- Oracleは専用ユーザ(oracle)で動作します。rootで直接走らせないでください。
- GUIインストーラを使用するためにX WindowとsshのX転送が必要です。
- kernelパラメータとlimitsはインストール前に正しく設定してください。
目次
- 前提条件
- 1 ステップ: 必要パッケージのインストール
- 2 ステップ: ユーザとシステムの設定
- 3 ステップ: デスクトップ環境の準備
- 4 ステップ: Oracle データベースのダウンロードと展開
- 5 ステップ: Oracle Database 12cのインストール
- 6 ステップ: テストと検証
- 追加: トラブルシューティング、チェックリスト、運用への引継ぎ、セキュリティ注意点
前提条件
- CentOS 7 64-bit
- 少なくとも1GBのRAM(開発/テストではより多いメモリを推奨)
- root権限(インストール中に一部スクリプトをrootで実行する必要があります)
- Oracleアカウント(Oracle公式サイトからインストーラをダウンロード)
1 ステップ - 必要パッケージのインストール
説明: Oracleインストールに必要な開発ツールやライブラリをあらかじめ入れます。以下はyumでまとめて入れる例です。
インストールコマンド(rootで実行):
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
ノート: このリストは代表例です。Oracleのバージョンや使用するOSのリポジトリによってパッケージ名に差が出ることがあります。
重要: インストールが終わったら、yumの出力にエラーがないか確認してください。
2 ステップ - ユーザとシステムの設定
説明: Oracleは専用ユーザoracleで動作します。必要なグループとユーザを作成し、カーネルパラメータとlimitsを調整します。
グループとユーザを作成:
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
TYPE THE PASSWORD
カーネルパラメータの設定:
編集: /etc/sysctl.conf
vim /etc/sysctl.conf
以下を貼り付けます:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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
注意: 既存のシステム制約や他サービスとの兼ね合いがある場合は、値を調整してください。
limitsの設定:
編集: /etc/security/limits.conf
vim /etc/security/limits.conf
以下を貼り付けます:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
保存して終了。
重要: これらの値はOracleの推奨設定に基づく一般的な設定です。負荷や用途に応じて調整してください。
3 ステップ - デスクトップ環境の準備
説明: OracleのGUIインストーラを使うためにX Window Systemを入れ、sshのX転送によるGUI表示を利用します。サーバにフルデスクトップを入れる必要はなく、最低限のXパッケージを入れれば十分です。
インストール例(root):
yum groupinstall -y "X Window System"
X転送で接続:
ssh -X [email protected]
注記: クライアント(あなたのPC)側もXサーバ(XQuartz、VcXsrvなど)が必要です。Windowsでは追加ソフトの導入が必要になります。
4 ステップ - Oracle データベースのダウンロードと展開
説明: Oracle公式サイトから該当バージョンのzipをダウンロードしてサーバにアップロードし、展開します。
作業ディレクトリ例:
cd ~/oracle/
ll
zip/unzipが必要な場合:
yum -y install zip unzip
ZIP展開例(rootまたはoracleが所有するディレクトリへ):
unzip linuxamd64_12102_database_se2_1of2.zip -d /stage/
unzip linuxamd64_12102_database_se2_2of2.zip -d /stage/
所有権とパーミッション:
chown -R oracle:oinstall /stage/
mkdir -p /u01 /u02
chown -R oracle:oinstall /u01 /u02
chmod -R 775 /u01 /u02
chmod g+s /u01 /u02
説明: /u01はソフトウェアインストール用、/u02はデータファイル用の例です。パスは環境に合わせて変更可能です。
5 ステップ - Oracle Database 12cのインストール
説明: GUIインストーラを起動して対話形式で進めます。以下は代表的な流れです。
接続と実行:
ssh -X [email protected]
cd /stage/database/
./runInstaller
インストーラは事前チェックを実行します。すべてパスすることを確認してください。
インストールのGUIで”Next”を選択して進めます。
インストールオプションでは”Create and configure a database”を選択。
システムクラスでは”Desktop Class”を選択(サーバ構成向けの選択肢もあるため目的に応じて選んでください)。
典型的な設定例:
- Oracle base: /u01/app/oracle
- Software location: /u01/app/oracle/product/12.1.0/dbhome_1
- Database file location: /u02
- OSDBA group: dba
- グローバルDB名と管理者パスワードは任意に設定
- “Create as Container database” のチェックは外す(本手順の例)
インベントリディレクトリは /u01/app/oraInventory を指定し、グループは oinstall を使用します。
インストールを開始すると進捗画面が表示されます。
インストール中にrootで実行する必要のあるスクリプトの実行を求められます。別ターミナルでrootとして実行してください。
ダイアログ例:
rootでのスクリプト実行例:
ssh [email protected]
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/12.1.0/dbhome_1/root.sh
実行後、DBCA(Database Configuration Assistant)がデータベースを作成・構成します。完了まで待ちます。
完了したらOKを押してインストーラを閉じます。
6 ステップ - テストと検証
説明: sqlplusでの接続とOracle Enterprise Manager(ポート5500)での確認を行います。
oracleユーザへスイッチ:
ssh [email protected]
su - oracle
環境変数の設定例:
export ORACLE_SID=orcl
export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1/
export PATH=$PATH:$ORACLE_HOME/bin
sqlplusでsysdbaとして接続:
sqlplus / as sysdba
初期ユーザのパスワード変更例:
alter user sys identified by yourpassword;
Enterprise Managerへはブラウザで次のようにアクセス(サーバIPは環境に置き換えてください):
https://192.168.33.55:5500/em/
ログイン: system または sys(管理者パスワード)
ダッシュボード表示例:
これでインストールと基本的な動作確認は完了です。
追加: よくある問題とトラブルシューティング
重要: 以下は代表的な問題と対処法の指針です。環境に合わせてログ(/var/log、インストーラのログ)を参照してください。
X転送でGUIが開かない
- クライアントにXサーバが起動しているか確認。ssh -Xの代わりにssh -Yを試す。
- ファイアウォールやネットワークがX転送を阻害していないか確認。
インストーラの事前チェックで失敗する
- 必要なパッケージが不足している可能性が高い。エラーメッセージを確認して不足パッケージをインストール。
- kernelパラメータやlimitsの設定ミスがないか確認。
rootスクリプトが実行できない
- パスを正しく指定しているか、実行権限があるかを確認。スクリプトはrootで実行する必要があります。
DBが起動しない / 接続できない
- ORACLE_HOME、ORACLE_SID、PATHが正しく設定されているか確認。
- リスナーが起動しているか、listener.oraの設定を確認。
- ポート(デフォルトで1521など)がファイアウォールで開放されているか確認。
追加価値セクション
選択肢: GUI以外のインストール方法
- 無人インストール: responseファイルを使った静的インストールが可能。自動化や複数サーバへの展開に有利。
- Docker/コンテナ: テスト用途であればOracleの公式/非公式イメージを使う選択肢もある(ライセンス確認必須)。
移行・互換性に関する注記
- CentOS 7以外のディストリビューションを使う場合は、パッケージ名や依存関係が異なります。
- Oracleのメジャーバージョンアップ時は、新機能(コンテナDBなど)や互換性を事前に確認してください。
ロール別チェックリスト
- システム管理者:
- 必要パッケージのインストール
- kernelとlimitsの設定適用
- 必要なディレクトリ作成とパーミッション設定
- データベース管理者:
- インストーラの実行とDB作成時のパラメータ設定
- 初期アカウントのパスワード管理
- リスナー設定と接続確認
- セキュリティ担当:
- 管理者パスワードの保管とローテーション方針
- OSレベルのアクセス制御、ファイアウォール、SELinux設定確認
ミニメソドロジー: 安全なインストール手順(運用導入向け)
- テスト環境でインストール手順を検証し、手順書を作成する。
- 本番用のリソース(ディスク、メモリ、ネットワーク)を確認する。
- インストール後に基本動作とバックアップを検証する(RMANやエクスポート)。
- 監視(プロセス、バックアップ、ディスク使用率)を設定して運用に移行する。
受け入れテスト(KPIではなく動作確認)
- sqlplusでsysdbaとして接続できること。
- Enterprise Managerのダッシュボードにアクセスできること(ポート5500、HTTPS)。
- 作成したデータベースに簡単なクエリを実行して結果が返ること。
セキュリティと運用上の注意点
- Oracleユーザとoracleホームの権限は最小限に留める。
- 管理者アカウント(sys, system)のパスワードは強固に設定し、記録・保管方法を定める。
- 不要なネットワークポートは閉じる。EMはデフォルトで5500ポートを使用する(環境により異なる)。
- SELinuxを有効にする場合は、必要なポリシーや許可設定を確認する。
メンテナンスと次のステップ
- パッチ適用: Oracleのパッチ(OPatch等)やOSのセキュリティ更新を定期的に適用する。
- バックアップ: RMANやデータポンプを使ったバックアップ手順を確立する。
- 監視: Oracleのメトリクス(表領域、セッション数、CPU/IO)を監視してSLAを維持する。
参考
- CentOS公式チュートリアル: https://wiki.centos.org/HowTos/Oracle12onCentos7
まとめ
- CentOS 7へのOracle 12cインストールは、事前準備(パッケージ・カーネル・limits)、oracleユーザの作成、X環境の準備、展開・インストール、そしてsqlplus/EMでの確認という流れで進めます。
- 本番導入時は自動化、不具合時のログ確認、セキュリティとバックアップ方針を必ず整備してください。
重要: 本手順は一般的な手順を示すものであり、貴社環境のポリシーや要件に合わせて調整してください。