エンジニア成長日記

成長するにはインプットばかりでなく、アウトプットも必要である。日々の成長記録を書き留めていきたい。

Oracle11gの勉強備忘録。~インストール媒体を入手しよう。~

f:id:abcmark2010:20160123112945j:plain

はじめに

Oracle11gの勉強備忘録。~目次~ - エンジニア成長日記」続きです。

Oracleを評価するにあたり、インストール媒体を用意する必要があります。

商用の製品では、機能制限や試用期間が設けられた評価版が提供されてますが、Oracleの場合はどうなのでしょうか?

結論から言うと、個人的な学習目的であれば、Oracle社では、機能制限&試用期間がないインストール媒体(Enterprise Edition)を無償で利用可能なようです。

今回は、ライセンス~インストール媒体の入手までのお話しをまとめてみます。

OTN開発者ライセンスについて

開発者向けに「OTN開発者ライセンス」というラインセンスを設けており、次のような一定の基準でOracleを利用することができるようです。

  • オラクル製品を無償で利用可能です(試用、検証、開発、テスト、試作及び実演が可能です)
  • 顧客向け案件の開発、研修目的には利用できません(自社内システム向けの開発目的であれば利用可能です)
  • 日付制限はありません
  • サポート・サービスの提供や Patch Set Release(PSR) の提供はありません
  • US-OTN で提供されている製品全てを提供しています(プラットフォームの限定はありません)
  • OTN 公開終了と同時に提供終了とさせていただきます

引用元:自分用Oracle DBを「無償で」作ろう!「OTN開発者ライセンス」 (オラクルエンジニア通信 - 技術資料、マニュアル、セミナー)

より厳密な基準は、「http://www.oracle.com/technetwork/jp/licenses/standard-license-192230-ja.html」で確認しましょう。

Oracle.comユーザ登録

インストール媒体を入手するにあたり、Oracle社が提供しているサイトへユーザ登録する必要があります。 ユーザ登録には、メールアドレスは必須です。事前に入手しましょう。

登録手順
  1. Oracle | Create Account」へ接続します。
  2. Oracleプロファイルの作成」画面が表示され、メールアドレスなど必要な情報を入力後、「プロファイルの作成」をクリックします。 f:id:abcmark2010:20160117215223j:plain
  3. 登録したメールアドレス宛に、「お客様のOracleプロファイルの電子メール・アドレスの確認」という件名でメールが到着するため、「電子メール・アドレスの確認」リンクをクリックします。 f:id:abcmark2010:20160117215247j:plain
  4. Oracle | Integrated Cloud Applications and Platform Servicesへ接続します。
  5. 「Sign In / Register」をクリックします。 f:id:abcmark2010:20160117215424j:plain
  6. 登録したアドレスおよびパスワードを入力後、「サインイン」をクリックします。 f:id:abcmark2010:20160117215302j:plain
  7. ログインできることを確認します。

インストール媒体のダウンロード

  1. Oracle Database 11g ダウンロード」へ接続します。
  2. 「ライセンスに同意する」にチェックします。 f:id:abcmark2010:20160117215559j:plain
  3. 今回は、「CentOS6.7(64bit)」環境にインストールするため、 「Linux x86-64」横にある「File 1」と「File 2」をダウンロードします。 ※利用する環境によって、ダウンロードする媒体を選択してください。 f:id:abcmark2010:20160117215620j:plain
  4. 次の媒体がダウンロード完了したことを確認します。

参考サイト

自分用Oracle DBを「無償で」作ろう!「OTN開発者ライセンス」 (オラクルエンジニア通信 - 技術資料、マニュアル、セミナー)

http://www.oracle.com/technetwork/jp/licenses/standard-license-192230-ja.html

サクラエディタで常に手前に表示する機能を追加する手順

はじめに

Uneditorなどのエディタでは、常に手前に表示する機能が提供されていますが、sakuraでは、類似機能を見つけることができませんでした。

調べてみると、sakuraでも 1.5.0.0から、常に手前に表示するマクロが提供されているようです。

しかし、標準で利用することができないため、今回は、キーマクロを登録し、気軽に「常に手前に表示・解除」できるようにショートカットキーを割り当る方法を記載します。 ※2016/01/23追記. ショートカットキーは割り当てられていませんでしたが、「ウィンドウ」‐「常に手前に表示」に標準機能でありました。

マクロ仕様

次のマクロを使用することで、常に手前に表示・解除することが可能です。

■マクロ構文
・構文:  WindowTopMost( int1 :Integer );
    int1    トグル動作
・記録:  ○
・解説
    トグル動作には、下記の動作を指定できます。
    0    トグル動作です。メニュー・コマンド実行と同じ動作です。
    1    常に手前に表示します。
    2    常に手前に表示を解除します。

手順

マクロファイルの作成

  • 「常に手前に表示するマクロ」と「常に手前に表示を解除するマクロ」という名前で、以下のマクロを記述したファイルを、拡張子.mac」で保存します。
[常に手前に表示するマクロ.mac]

WindowTopMost(1);
[常に手前に表示を解除するマクロ.mac]

WindowTopMost(2);

[エクスプローラ画像]

f:id:abcmark2010:20160111191858p:plain

マクロの登録

  • 「設定」→「共通設定」へ移動します。 ※ショートカットキー「Ctrl + 6」

f:id:abcmark2010:20160111190227p:plain

  • 共通設定ウィンドウが表示されます。

f:id:abcmark2010:20160111190316p:plain

  • 「マクロ」タブに移動します。

f:id:abcmark2010:20160111190331p:plain

  • 作成したマクロファイルが保存されているフォルダを指定します。

f:id:abcmark2010:20160111190750p:plain

  • 「Id」で「0」を選択します。

  • 「File」から作成したマクロ「常に手前に表示するマクロ.mac」を選択します。

  • 「マクロを実行するたびにファイルを読み込みなおす(L)」にチェックを付けます。

  • 「設定」をクリックして反映させます。 ※同様に、「常に手前に表示を解除するマクロ.mac」も、Id「1」に設定します。

  • 設定を確認し、「OK」をクリックします。

[最終的な設定]

f:id:abcmark2010:20160111191606p:plain

  • ツール」‐「登録済みマクロ」に、設定したマクロが表示されていることを確認します。

f:id:abcmark2010:20160111220911p:plain

ショートカットキー設定

先ほど登録したマクロを、キーボードのショートカットキーに割り当てていきます。

  • 「設定」→「共通設定」へ移動します。 ※ショートカットキー「Ctrl + 6」

f:id:abcmark2010:20160111190227p:plain

  • 共通設定ウィンドウが表示されます。

f:id:abcmark2010:20160111190316p:plain

  • 「キー割り当て」のタブを開きます

  • 外部マクロを選択します。

  • 先ほど登録したマクロを選択します。

  • 割り当て先のキーを選択します。

    • 常に手前に表示 = 「Shift」+「Ctrl」+「F5」
    • 常に手前に表示を解除 = 「Shift」+「Ctrl」+「F4」
  • 割付をクリックします。

  • OKをクリックします。

f:id:abcmark2010:20160111222856p:plain

動作確認

  • 「Shift」+「Ctrl」+「F5」を押すと、ウィンドウが常に手前に表示されます。

  • 「Shift」+「Ctrl」+「F4」を押すと、常に手前に表示が解除されます。

参考サイト

サクラの小枝研 - 新機能の説明

サクラエディタの登録済みマクロをショートカットキーに割り当てる方法 | 黒猫さんぽみち

Oracle11gインストール時にパッケージ不足のエラーメッセージが出力される。

現象

Oracle Database 11g インストール時に、上位パッケージが導入されているにもかかわらず、前提パッケージ不足のエラーが発生しました。

OUI

f:id:abcmark2010:20160110204724p:plain

パッケージ:libaio-0.3.105.これは、パッケージlib.aio-0.3.105がシステムで使用可能かテストする前提条件です。
予想される値:libaio-0.3.105(i386)
実地        :欠落
エラーのリスト
・PRVF-7532:パッケージ"libaio-0.3.105(i386)"が
PRVF-7532 : パッケージ"libaio-0.3.105"がノード"ip-10-146-157-117"にありません。
  - Cause: 必要なパッケージがインストールされていないか、またはパッケージがカーネル・モジュールの場合、指定したノードにパッケージがロードされていません。
  - Action: 必要なパッケージがインストールされており、使用可能であることを確認してください。
前提パッケージ

以下の通り、上位のパッケージがインストールされている。

rpm -qa | grep libaio*

libaio-0.3.107-10.el6.x86_64 libaio-devel-0.3.107-10.el6.x86_64 libaio-0.3.107-10.el6.i686 libaio-devel-0.3.107-10.el6.i686

原因

OUIの前提パッケージの検証が完全一致のため、上位パッケージの場合はインストールされていないものと判断されてしまうようです。

対策

Oracle Database 11gのマニュアルを確認すると、CentOS6(Redhat6)では上位のパッケージがインストールされていれば問題ない説明が記載されています。 該当するパッケージがすべてインストールされていることが確認できれば、この警告メッセージは無視することができます。

Oracle Linux 6、Red Hat Enterprise Linux 6およびAsianux Server 4について、次のバージョン以上のパッケージをインストールする必要があります。
binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6.i686
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6.i686
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6.i686
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6.i686
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)

※Oracle Database Clientクイック・インストレーション・ガイドより引用。

もし、気になる場合は、シンボリックリンク(ln -s libaio-0.3.107 libaio-0.3.105)を張ることで回避する方法もあります。

手順

  • 右上の「すべて無視する」のチェック後、「次へ」をクリックします。

f:id:abcmark2010:20160110215945p:plain

参考サイト

Oracle Database Clientクイック・インストレーション・ガイド

Libraries missing while installing Oracle 11.2g... | Oracle Community

CentOS6.7 LVMで管理しているSWAP領域を変更する手順

はじめに

メモリの増設などで、SWAP領域のサイズを拡張したい場合があります。 LVMで管理している場合は、拡張が容易に行えるため、今回は拡張手順をまとめてみます。

作業の流れ

  1. 現在の構成を確認する。

  2. LVM領域の変更する。

  3. スワップ領域の変更を反映する。

手順

現在の構成を確認する。

  • 現在のLVMの構成情報を表示します。
# lvdisplay
  --- Logical volume ---
  LV Path                /dev/vg_oracle/lv_root     
  LV Name                lv_root
  VG Name                vg_oracle
  LV UUID                us6Hg4-oLUt-e4rW-Bqr1-6LgC-4sId-IrxJHG
  LV Write Access        read/write
  LV Creation host, time oracle.exzample.com, 2016-01-07 23:45:32 +0900
  LV Status              available
  # open                 1
  LV Size                20.52 GiB
  Current LE             5253
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/vg_oracle/lv_swap
  LV Name                lv_swap
  VG Name                vg_oracle
  LV UUID                HkopWN-nxKI-dU6k-xLHe-2kmK-wB5T-0dOwa9
  LV Write Access        read/write
  LV Creation host, time oracle.exzample.com, 2016-01-07 23:45:34 +0900
  LV Status              available
  # open                 0
  LV Size                1.47 GiB
  Current LE             376
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1
  • LVMとしては、「lv_root」と「lv_swap」を管理していることがわかります。

LVM領域の変更する。

  • 変更前のLVMの領域を確認します。
# lvscan
  ACTIVE            '/dev/vg_oracle/lv_root' [20.52 GiB] inherit
  ACTIVE            '/dev/vg_oracle/lv_swap' [1.47 GiB] inherit
  • 「lv_root」領域のサイズ(-1GB)を変更します。
# lvresize -L -1G /dev/vg_oracle/lv_root  
  • 「lv_swap」領域のサイズ(+1GB)を変更します。
# lvresize -L +1G /dev/vg_oracle/lv_swap
  • 変更後のLVMの領域を確認します。
# lvscan
  ACTIVE            '/dev/vg_oracle/lv_root' [18.52 GiB] inherit
  ACTIVE            '/dev/vg_oracle/lv_swap' [3.47 GiB] inherit

スワップ領域の変更を反映する。

  • 反映前のスワップ領域を確認する。 ※「/proc/swaps」ファイルの情報と一緒。
# swapon -s
Filename                                Type            Size    Used    Priority
/dev/dm-1                               partition       2588668 1484    -1
# swapoff /dev/dm-1

※この状態では、スワップ領域が無効化されているため、スワップ領域の情報が表示されなくなります。

# swapon -s
Filename                                Type            Size    Used    Priority
# mkswap /dev/vg_oracle/lv_swap
mkswap: /dev/vg_oracle/lv_swap: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
スワップ空間バージョン1を設定します、サイズ = 3637244 KiB
ラベルはありません, UUID=6f0f39cd-9b98-4371-b11e-944c7a498855
# swapon /dev/vg_oracle/lv_swap
# swapon -s
Filename                                Type            Size    Used    Priority
/dev/dm-1                               partition       3637244 0       -1

参考サイト

Linuxコマンド集 - 【 swapon 】スワップ領域を有効にする:ITpro

Linuxコマンド集 - 【 swapoff 】スワップ領域を無効にする:ITpro

OUI起動時にターミナルが文字化けする

環境

OS

$ cat /etc/redhat-release
CentOS release 6.7 (Final)

Database

Oracle Database 11g

環境設定

$ env | grep LANG
LANG=ja_JP.UTF-8

現象

Oracle 11gをインストールするため、OUI(Oracle Universal Installer)を起動した際に、ターミナルが文字化け(いわゆる□ 豆腐)が発生しました。

f:id:abcmark2010:20160110131614p:plain

原因

OUIは、Javaを利用しているため、Javaの実行環境「JREJava Runtime Edition)」が必要になります。 デフォルトでは、Oracle製品にバンドルされているJREを利用していますが、この「JRE」が、日本語環境にうまく対応していない(さざなみフォントがない)ため、日本語環境の設定(LANG=ja_JP.utf8)していると日本語文字が化けしてしまうようです。

対策

調べてみると対策方法としては、以下の方法がありました。

  • 英語表示でインストールしたい場合

    • 環境変数を英語表示(LANG=C)に一時的に切り替る。
  • 日本語表示でインストールしたい場合

    • Oracle製品にバンドルさているJREを、別のJREに置き換える。
    • Oracle製品にバンドルされているJREのフォントに、さざなみフォントを配置する。
    • さざなみフォントを別のフォント(IPAフォントなど)に置き換える。

手順

英語表示のインストール

英語表示でも問題ない場合は、環境変数を英語表示(LANG=C)に一時的に切り替る手順
  • 環境変数「LANG」に、「LANG=C」を設定する。
# export LANG=C
  • OUIを起動する。
# sh ./runInstaller
  • ターミナルが起動され、英語表示となっていることを確認する。

f:id:abcmark2010:20160110140101p:plain

日本語表示のインストール

日本語表示でインストールしたい場合は、Oracle製品にバンドルさているJRE以外のJREに置き換える手順です。
  • CentOS6のリポジトリから、Javaの環境をインストールする。(JREの環境がない場合のみ)
# yum -y install java
  • Javaのインストール先を調べる。
[root@oracle ~]# which java
/usr/bin/java
[root@oracle ~]# readlink -e /usr/bin/java
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-1.b15.el6_7.x86_64/jre/bin/java
  • OUI起動時に、バンドルされているJRE以外のJREを「-jreLoc」オプションで指定して起動する。
# sh ./runInstaller -jreLoc /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-1.b15.el6_7.x86_64/jre
  • ターミナルが起動され、日本語表示となっていることを確認する。

f:id:abcmark2010:20160110140123p:plain

Oracle製品にバンドルされているJREのフォントに、さざなみフォントを配置する手順
  • 以下のサイトより、さざなみフォント(sazanami-20040629.tar.bz2)をダウンロードします。

/10087/sazanami-20040629.tar.bz2をダウンロード - efont - OSDN

  • ダウンロードしたファイル(xvf sazanami-20040629.tar.bz2)を解凍します。
# tar xvf /tmp/sazanami-20040629.tar.bz2
sazanami-20040629/
sazanami-20040629/README
sazanami-20040629/sazanami-mincho.ttf
sazanami-20040629/sazanami-gothic.ttf
sazanami-20040629/doc/
sazanami-20040629/doc/oradano/
sazanami-20040629/doc/oradano/README.txt
sazanami-20040629/doc/misaki/
sazanami-20040629/doc/misaki/misakib8.txt
sazanami-20040629/doc/mplus/
sazanami-20040629/doc/mplus/LICENSE_J
sazanami-20040629/doc/shinonome/
sazanami-20040629/doc/shinonome/LICENSE
sazanami-20040629/doc/ayu/
sazanami-20040629/doc/ayu/README.txt
sazanami-20040629/doc/kappa/
sazanami-20040629/doc/kappa/README
  • OracleにバンドルされているJREのうち、「all.jar」ファイルを解凍する。
# unzip /u01/app/database/stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles/all.jar
  • 「all.jar」を解凍すると、「jdk」というディレクトリ配下に中身が展開される。
$ ll /u01/app/database/stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles/
合計 116172
-rwxr-xr-x. 1 oracle oinstall 118955623  8月 15 16:34 2009 all.jar
drwxr-xr-x. 6 oracle oinstall      4096  2月  2 06:04 2016 jdk    ★展開ファイル
  • Javaのフォント・フォールバックという仕組みを利用するため、「fallback」ディレクトリを作成する。
    ※フォント・フォールバック...システム環境にてフォントが存在しない場合、「fallback」ディレクトリ配下のフォトンを参照する仕組み。
# mkdir /u01/app/database/stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles/jdk/jre/lib/fonts/fallback
  • 作成した「fallback」ディレクトリ配下に、さざなみフォント(sazanami-mincho.ttf、sazanami-gothic.ttf)を配置する。
# cp /tmp/sazanami-20040629/sazanami-* /u01/app/database/stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles/jdk/jre/lib/fonts/fallback
  • 元々配置されていた「all.jar」ファイルを任意のフォルダへ退避する。
# mv /u01/app/database/stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles/all.jar /backup/.
  • 展開された「jdk」から「all.jar」を再圧縮する。
# zip -r /u01/app/database/stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles/all.jar /u01/app/database/stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles/jdk

参考サイト

OUIでの日本語の文字化けへの対処例 (コーソル DatabaseエンジニアのBlog)

Yellow_Camelのブログ : Oracleインストーラーの文字化け対応(CentOS6/Oracle11g)

Oracle11gR2(RHEL6)のインストール文字化け - tkoshima.net

仮想化雑記帳: [余談] CentOS 6.x で Oracle のインストーラで文字化けをさせず日本語でインストールする

Oracle11gの勉強備忘録。~目次~

f:id:abcmark2010:20160123112539j:plain

はじめに

Oracle 9i,10gの頃は、業務で利用していたのですが、最近、触る機会が減ってしまったこともあり、 気づいたら、12cがリリースされてました。

やばい!?と思い、Oracle再勉強中です。ついでに、Oracle Silverの資格も取得し直そうかと。

今回は、仮想マシン(無償版のEXSi)上にインストールしたCentOS6.7(64bit)の環境を立て、 Oracle Database11g(Enterprise Edition)をインストール~データベース作成までの流れを数回に分けてまとめてみます。

目次

  1. インストール媒体を入手しよう。
  2. 事前準備をしよう。
  3. ORACLEソフトウエアトールしよう。(OUIインストール)
  4. ORACLEソフトウエアトールしよう。(サイレントインストール)
  5. データベースを作成しよう。

参考サイト

Oracle Databaseクイック・インストレーション・ガイド

Oracle Databaseインストレーション・ガイド 11gリリース2 (11.2) for Linux

CentOS6.7 minimal インストールした環境にGUIを導入する手順

概要

CentOS6.7 minimal でインストール後、OracleのOUIを利用したインストールなどでGUIが必要になる場合があります。 今回は、GNOMEデスクトップ環境を導入する手順を記述します。

インストール手順

X Windows 関連のパッケージインストール

# yum -y groupinstall "X Window System"

# yum -y groupinstall "General Purpose Desktop"

# yum -y groupinstall "Desktop" 

CUIGUI切り替え

一時的にGUIへ切り替える場合

  • Xウィンドウシステムを起動する。
# startx 

永続的にGUIへ切り替える場合

# sed -i "s/id:3/id:5/g" /etc/inittab
  • 再起動する。
# reboot
or
# shutdown -r now

GUI起動後の設定

日本語化対応

  • 日本語関連のパッケージをグループインストールする。
# yum -y groupinstall "Japanese Support"
  • システム全体の文字セットを変更する。
# vi /etc/sysconfig/i18n

補足

ランレベル

ランレベル 意味
0 システムの停止
1 シングルユーザーモード
2 マルチユーザーモードNFSなし)
3 マルチユーザーモード(テキストログイン)
4 未使用
5 マルチユーザーモード(グラフィカルログイン)
6 システムの再起動