現在地

第8回 Oracleインストール支援ツールを使う(3)


これまではOracle Preinstallation RPMの内部動作について説明しました。今回はインターネットに接続できないときの使用方法や、ASM/RACをインストールするときの追加作業について説明します。

インターネットに接続できない環境でYumを使うには?

前回はインターネットに接続できることを前提としました。しかしデータベースサーバーは、インターネットに接続できないネットワークセグメントにあることが多く、Yumを使えないことがよくあります。

またネットワーク上のYumリポジトリは日々更新されるので、本番環境/検証環境/開発環境のような同じ環境を複数構築する場合、何も考えずにYumリポジトリを使うと、OSが違う状態になる可能性があります。

このようなときに便利なのがローカルリポジトリです。ローカルという名前の通り、インターネットに依存しないYumリポジトリです。ローカルリポジトリを使用すれば、インターネットに接続できないサーバーでも、Yumの利便性を享受できます。

おもな実現方法には以下の3種類があります。


  1. LinuxのインストールメディアをYumリポジトリとして使う
  2. インターネットに接続可能なサーバーにRPMをダウンロードして、それをYumリポジトリ化して使う(ファイルコピーやDVDに焼いて利用)
  3. インターネットに接続可能な社内サーバーにRPMをダウンロードし、それをYumリポジトリとしてイントラネット内で共有する

オススメは2か3の方法です。しかしLinuxの話になりすぎるので、今回は1の方法を説明します。2や3の方法については、ヒントをいくつか書きます。みなさんで調べてください。


  • ローカルリポジトリは、手動もしくは自作スクリプトで作成できる。
  • Oracle Linuxの場合、サポートユーザー向けに提供されているuln-yum-mirrorというパッケージを使用するのが一般的。それ以外にRed Hat Network SatelliteのクローンSpacewalkを使用する方法もある。

インターネットに接続できない環境でOracle Preinstallation RPMを使う

以下の条件で操作する手順を説明します。


  • インターネットに接続できない
  • Oracle Preinstallation RPMは事前にダウンロード
  • Oracle Linuxのバージョンは 6.6で、DVDあり
  • データベースのバージョンは12.1

■Oracle Preinstallation RPMをダウンロードする

インターネットに接続できるコンピューターでOracle Public YumリポジトリからOracle Preinstallation RPMをダウンロードします。ブラウザ以外の方法としては、wgetコマンドやyumdownloaderコマンドも使用できます。

wgetでダウンロードするときには次のように入力します。プロキシが必要なネットワークでは/etc/wgetrcにプロキシサーバーを指定します。また今回は2015年11月時点の最新バージョンを使用していますが、そのときの最新バージョンを取得してください。

なお12R2用はoracle-database-server-12cR2-preinstallという、異なるパッケージ名になっているので注意してください。

# wet http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/x86_64/oracle-rdbms-server-12cR1-preinstall-1.0-14.el6.x86_64.rpm

ローカルリポジトリを構築する

Oracleデータベースをインストールするサーバーにローカルリポジトリを構築します。今回はLinuxのインストールDVDを使用しますが、ISOイメージも使用できます。

1. LinuxのインストールメディアをDVDドライブにセットします。自動マウントされる環境では、マウントポイントをmountコマンドで確認してください。自動マウントされないときは、次のようにマウントします。

# mkdir /var/tmp/media
# mount -o ro /dev/sr0 /var/tmp/media

ISOイメージを使用するときには、次のようにループバックマウントします。

# mount -o ro,loop /tmp/OracleLinux-R6-U6-Server-x86_64-dvd.iso /var/tmp/media

2. 正しくマウントされていることを確認します。次のように表示されればOKです。

# ls /var/tmp/media/
EFI               README-en.html                RPM-GPG-KEY         eula.en_US
EULA              RELEASE-NOTES-en              RPM-GPG-KEY-oracle  eula.py
GPL               RELEASE-NOTES-en.html         ResilientStorage    images
HighAvailability  RELEASE-NOTES-x86-en          ScalableFileSystem  isolinux
LoadBalancer      RELEASE-NOTES-x86-en.html     Server              media.repo
Packages          RELEASE-NOTES-x86_64-en       TRANS.TBL           repodata
README-en         RELEASE-NOTES-x86_64-en.html  UEK3                supportinfo

3. Yumリポジトリの定義ファイルを確認します。今回の例ではpublic-yum-ol6.repoがあります。このファイルにインターネット上のYumリポジトリが定義されています。

# cd /etc/yum.repos.d
# ls
public-yum-ol6.repo ←ファイルがある

このファイルは参照しないのでリネームするか、ほかのディレクトリに移動します。とりあえず今回はリネームします。

# mv public-yum-ol6.repo public-yum-ol6.repo.org

4. メディア用のリポジトリ定義ファイルを作成します。

# vi /etc/yum.repos.d/media.repo

定義ファイルの内容

[ol66]
name=Oracle Linux 6.6 x86_64
baseurl=file:///media/cdrom
    file:///mnt
    file:///var/tmp/media  ←マウントポイントと一致させる
gpgkey=file:////etc/pki/rpm-gpg/RPM-GPG-KEY
gpgcheck=1   ←エラーが出るようならば0でもOK
enabled=0  ←ISOイメージなどで常にマウントしているならば1でもOK

5. 作成したリポジトリ定義ファイルが正しいことを確認します。次のように名前と数字が表示されれば正常です。enablerepoオプションには、定義ファイルの先頭に設定した文字を指定します。

# yum clean all

# yum --enablerepo=ol66 repolist enabled
Loaded plugins: security
repo id                      repo name                                    status
ol66                         Oracle Linux 6.6 x86_64                      3,765
repolist: 3,765

今回は3で、ほかのリポジトリ定義ファイルをリネームしました。たくさんの定義ファイルがあるときには次のように実行することで、yumコマンド実行時だけ、ほかのリポジトリを無効にできます。

# yum --disablerepo="*" --enablerepo=ol66 repolist enabled

6. GPGキーをインストールします。省略すると、インストール時に警告が表示されることがあります。

# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY

7. 事前にダウンロードしたoracle-rdbms-server-12cR1-preinstallをインストールします。Oracle Linuxの場合は、メディアのPackagesディレクトリにあるものも使用できます。

# LANG=C yum --enablerepo=ol66 localinstall /tmp/oracle-rdbms-server-12cR1-preinstall-1.0-14.el6.x86_64.rpm
Loaded plugins: refresh-packagekit, security
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package oracle-rdbms-server-12cR1-preinstall.x86_64 0:1.0-14.el6 will be installed
--> Processing Dependency: compat-libcap1 for package: oracle-rdbms-server-12cR1-preinstall-1.0-14.el6.x86_64
--> Processing Dependency: ksh for package: oracle-rdbms-server-12cR1-preinstall-1.0-14.el6.x86_64
--> Processing Dependency: libaio-devel for package: oracle-rdbms-server-12cR1-preinstall-1.0-14.el6.x86_64
--> Processing Dependency: compat-libstdc++-33 for package: oracle-rdbms-server-12cR1-preinstall-1.0-14.el6.x86_64
--> Running transaction check
---> Package compat-libcap1.x86_64 0:1.10-1 will be installed
---> Package compat-libstdc++-33.x86_64 0:3.2.3-69.el6 will be installed
---> Package ksh.x86_64 0:20120801-21.el6_6.3 will be installed
---> Package libaio-devel.x86_64 0:0.3.107-10.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                     Arch   Version             Repository         Size
================================================================================
Installing:
 oracle-rdbms-server-12cR1-preinstall
                             x86_64 1.0-14.el6          ol66               16 k
Installing for dependencies:
 compat-libcap1              x86_64 1.10-1              ol66               17 k
 compat-libstdc++-33         x86_64 3.2.3-69.el6        ol66              183 k
 ksh                         x86_64 20120801-21.el6_6.3 ol66 7             58 k
 libaio-devel                x86_64 0.3.107-10.el6      ol66               13 k

Transaction Summary
================================================================================
Install       5 Package(s)

Total download size: 986 k
Installed size: 2.5 M
Is this ok [y/N]: y ← yを入力

これでOracle Preinstallation RPMのインストールが終わりました。

8. ここまでくれば、あとは前回と同じです。「インストーラーを起動する」の部分に書いてある通り、oracleユーザーにパスワードを設定し、インストーラーを起動します。

ASM/RAC使用時の追加作業

Oracle RACやOracle ASMを使用するときには、Oracle Preinstallation RPMをインストールしたあとに追加作業が必要です。手順は次のようになります。前回と今回で1から3まで説明しているので、ここでは4と5の手順を説明します。


  1. Oracle Preinstallation RPMインストール
  2. oracleユーザーにパスワード設定
  3. Oracleデータベース用ディレクトリ作成
  4. Oracle Grid Infrastructure用グループ・ユーザー作成
  5. Oracle Grid Infrastructure用ディレクトリ作成
  6. Oracle Grid Infrastructureインストール
  7. Oracle RACインストール

Grid Infrastructure用のグループとユーザーを作成します。oracleユーザーも兼用できるのですが、オラクル社は別のユーザーを推奨しています。

# groupadd -g 54323 asmdba
# groupadd -g 54324 asmoper
# groupadd -g 54325 asmadmin
# useradd -u 54322 -g oinstall -G asmadmin,asmdba,asmoper grid
# usermod -G dba,asmdba,asmadmin oracle

次にインストール先のディレクトリを作成します。

# mkdir -p /u01/app/grid
# mkdir -p /u01/app/12.1.0/grid
# chmod -R 775 /u01/app/grid
# chmod -R 775 /u01/app/12.1.0/grid
# chown grid:oinstall /u01/app/grid
# chown grid:oinstall /u01/app/12.1.0/grid

以上で終了です。必要な環境変数を設定し、Grid Infrastructureをインストールしてください。

おわりに

以前Red Hat Enterprise Linuxの場合についても説明すると書きましたが、簡単にはできないことが判明したため省略させていただきます。原因は、Oracle Preinstallation RPM がOracleのUEKカーネルと依存関係を持っているためです。やり方によってはOSが非サポートになってしまう可能性があるため、紹介しないことにしました。申し訳ございません。

にわかワイン通養成講座

第8回 日本ワイン飲んだことありますか?

秋はワインの季節ですね。厳密にはブドウの収穫期&ワインの醸造期なのですが、ボジョレーヌーボーの解禁日(11月第3木曜日)などもあって、秋には全国各地でワイン関係のイベントが開催されています。かく言う筆者も、週末はワインイベント参加のために各地を飛び歩いています。

そして近年、注目されているのが日本ワインです。テレビ番組や雑誌などで日本ワインが紹介される機会が増え、また実際にワインショップでも日本ワインの品揃えが増えています。

ところで「日本ワイン=まずい」と思っていませんか? 実のところ15年以上前は、筆者も値段のわりにおいしくないと思っていました。しかし最近10年ほどは違います。栽培・醸造技術の向上や意欲のある生産者が増え、日本ワインの品質は著しく向上しています。世界のコンクールでも、たびたび入賞するようになり、海外輸出も始まっています。とくに白ワインには、安くておいしいものがたくさんあります。

ただし日本ワインと国産ワインは違うので注意してください。一般的には次のように区別されています。

日本ワイン:国産原料を使って日本国内で醸造・瓶詰めしたもの
国産ワイン:国産原料・輸入原料を使って日本国内で醸造・瓶詰めしたもの

国産ワインのすべてが悪いわけではありませんが、値段重視であまり上質と言えないものが多いことは事実です。そして現在盛り上がっているのは国産原料を使った日本ワインです。

ところで、日本ワインが盛り上がっている理由は何でしょうか。おいしくなったことが一番の理由だとは思いますが、生産地に気軽に行けることも理由の1つだと思っています。日本ワインの3大生産地は、長野、山梨、北海道です。東京から山梨へは2時間ちょっとで行けます。ワイナリーをめぐりながら風土や景色を感じ、また生産者と触れ合いながら飲むワインは最高です。

通常に訪問する以外にも、秋になると収穫祭やワインまつりを開催しているワイナリーがたくさんあります。また「ワインツーリズムやまなし」「塩尻ワイナリーフェスタ」のような、生産地域一帯を挙げたイベントもあります。一度出かけてみてはいかがでしょう。

蛇足ですが、筆者はあまりにも山梨に行きすぎたのと、あるご縁があって、昨年やまなし大使になってしまいました。こちらは芸能人・著名人がなるようなレアなものではありませんよ。