トップ 一覧 ping 検索 ヘルプ RSS ログイン

Oracle Database10g インストール10gR2 For Fedora 10の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!Oracle Database10g インストール10gR2 For Fedora 10
[Oracle Database10g][Fedora][VirtualBox]
*インストールガイド
**http://otndnld.oracle.co.jp/document/products/oracle10g/102/linux/B19280-02/toc.htm

VirtualBox 上の Fedora 10 にOracle10gをインストール

!!準備
!ダウンロード
http://www.oracle.com/technology/global/jp/software/products/database/index.html
から、10201_database_linux32.zip をダウンロード

!!rootとしての作業
!ハードウェア要件
""インストール時に、以下の要件を満たしていなくても、以下のようにすることでインストールは続行できる。
 $runInstaler -ignoreSysPrereqs


*1024MB以上の物理RAM
 # grep MemTotal /proc/meminfo
*スワップ領域
,RAM,必要量
,1024 - 2048 MB,RAMの1.5倍
,2049 - 8192 MB,RAMと同じ
,8193 -        ,RAMの0.75倍
 # grep SwapTotal /proc/meminfo
*/tmpディレクトリに400MBの領域
 # df -h /tmp
*Oracleソフトウェア用ディスク領域
,タイプ,必要量
,Enterprise Edition,1.5GB
,Standard Edition,1.5GB
,カスタム(最大),1.5GB
 # df -h
*システム・アーキテクチャでソフトウェアを実行できるか
 # grep "model name" /proc/cpuinfo

!ソフトウェア要件
次のいずれかのオペレーティング・システム・バージョン:
*Red Hat Enterprise Linux AS/ES 3.0(Update 4以上)
*Red Hat Linux 4.0
*SP 2以上を適用したSUSE Linux Enterprise Server 9.0
*Asianux 1.0
*Asianux 2.0

システムの確認
 # cat /etc/issue
カーネル
 # uname -r
!名前解決の構成
名前解決が設定されていない場合は、Oracle Universal Installerを実行するとエラーが発生することがあります。このエラーを回避するには、インストール前に、ホスト名が/etc/hostsファイルを介してのみ解決されることを確認する必要

/etc/hostsに登録
 # Do not remove the following line, or various programs
 # that require network functionality will fail.
 127.0.0.1               localhost.localdomain localhost vboxfedora10
 ::1             localhost6.localdomain6 localhost6
 192.168.24.56           vboxfedora10.typea.info
!グループとユーザの作成

,タイプ,種別,名称
,Oracleインベントリ・グループ,グループ,oinstall
,OSDBAグループ,グループ,dba
,OSOPERグループ(オプション),グループ,oper
,Oracleソフトウェア所有者,ユーザ,oracle
,nobodyユーザ,ユーザ,nobody

※ operを作成するのは、一連の限られたデータベース管理権限(SYSOPERオペレータ権限)を持つオペレーティング・システム・ユーザーのグループを識別する必要がある場合のみ
。ほとんどのインストールの場合は、OSDBAグループのみを作成すれば十分
※ nobodyユーザを作成するのは、システムに存在しない場合。 id nobodyで確認

 # grep oinstall /etc/group
 # groupadd oinstall
 # groupadd dba
 # useradd -g oinstall -G dba oracle
 # passwd oracle

!カーネルパラメータの構成
各カーネル・パラメータが表に示す推奨値以上の値に設定されていることを確認
以下のファイルを確認
 # sysctl -a
ですべてのカーネルパラメータを確認できる
 # sysctl -a | grep sem
 kernel.sem = 250        32000   32      128

::/proc/sys/kernel/sem 
,パラメータ,値
,semmsl,250
,semmns,32000
,semopm,100
,semmni,128

::/proc/sys/kernel/shmall 
,パラメータ,値
,shmall,2097152

::/proc/sys/kernel/shmmax 
,パラメータ,値
,shmmax,物理メモリーのサイズの1/2(バイト数) 

::/proc/sys/kernel/shmmni 
,パラメータ,値
,shmmni,4096

::/proc/sys/fs/file-max 
,パラメータ,値
,file-max,65536

::/proc/sys/net/ipv4/ip_local_port_range 
,パラメータ,値
,ip_local_port_range,最小: 1024、最大: 65000 

::/proc/sys/net/core/rmem_default 
,パラメータ,値
,rmem_default,1048576 

::/proc/sys/net/core/rmem_max 
,パラメータ,値
,rmem_max,1048756

::/proc/sys/net/core/wmem_default 
,パラメータ,値
,wmem_default,262144 

::/proc/sys/net/core/wmem_max 
,パラメータ,値
,wmem_max,262144 

::カーネル・パラメータの値が推奨値と異なる場合
パラメータ名の前に当たる部分は、
 # sysctl -a | grep file-max
 fs.file-max = 50257
として、確認できるので、/etc/sysctl.conf に変更するパラメータの設定を、以下のような行として追加(再起動後も有効になる)

 fs.file-max = 65536
 net.core.wmem_default = 262144
 net.core.wmem_max = 262144

sysctlで、設定の再読み込みを行う
 # sysctl -p

!oracleユーザーに対するシェル制限の設定
*ソフトウェアのパフォーマンスを改善するためには、oracleユーザーの次のシェル制限値を大きくする必要がある。
*シェル制限とは、ユーザーごとの最大プロセス数や最大オープンファイル数など、 ユーザーごとに設定する制限値。 
*シェル制限には、rootユーザーが変更できる上限値のハードリミットと、 一般ユーザーが変更できる上限値のソフトリミットがある

::/etc/security/limits.confファイルに次の各行を追加
 oracle              soft    nproc   2047
 oracle              hard    nproc   16384
 oracle              soft    nofile  1024
 oracle              hard    nofile  65536

::oracleユーザーのデフォルト・シェルに応じて、デフォルトのシェル起動ファイルを変更
/etc/profile に以下の行を追記
 if [ $USER = "oracle" ]; then
         if [ $SHELL = "/bin/ksh" ]; then
                 ulimit -p 16384
                 ulimit -n 65536
         else
                 ulimit -u 16384 -n 16636
         fi
 fi

!ソフトウェアディレクトリの構成
[[OFA|Oracle Database10g OFA]]
,タイプ,設定例,内容
,Oracleベース,/opt/oracle/app,Oracleソフトウェア・インストールのトップレベル・ディレクトリ OFA(/[ファイル・システムのマウント・ポイント・ディレクトリ]/app/[ユーザー名])
,Oracleインベントリ,$ORACLE_BASE/oraInventory,システムにインストールされた全ソフトウェアのインベントリが格納 OFA($ORACLE_BASE/oraInventory) 手動で作成する必要はない
,Oracleホーム,$ORACLE_BASE/product/10.2.0/db_1,特定のOracle製品のソフトウェアをインストールするために選択するディレクトリ 推奨 $ORACLE_BASE/product/10.2.0/db_1 手動で作成する必要はない

::Oracleベース・ディレクトリの作成

 # mkdir -p /opt/oracle/app/oracle
 # chown -R oracle:oinstall /opt/oracle/app
 # chmod -R 775 /opt/oracle/app

!oracleユーザーの環境の構成
Oracle Universal Installerは、oracleアカウントから実行します。ただし、Oracle Universal Installerを起動する前に、oracleユーザーの環境を構成する必要がある。
::シェル起動ファイルで、デフォルトのファイル・モード作成マスク(umask)を022に設定
.bash_profileに、umask 022を追加
 # su oracle
 $ cd ~
 $ vi .bash_profile
    :
 umask 022

!環境変数の設定
::ORACLE_BASE , ORACLE_SID を設定
 oracle]$ ORACLE_BASE=/opt/oracle/app
 oracle]$ ORACLE_SID=oradb1
 oracle]$ export ORACLE_BASE ORACLE_SID

""Oracle Database 10gに必要な環境変数をoracleユーザーに設定します。 Oracle9i Databaseでは、ORACLE_HOMEやNLS_LANGなども設定していましたが、 Oracle Database 10gでは、インストール時にはORACLE_BASEとORACLE_SIDだけになりました。 それ以外の環境変数は、インストール後に設定します。
::ORACLE_HOME , TNS_ADMIN の解除
 oracle]$ unset ORACLE_HOME
 oracle]$ unset TNS_ADMIN


!!インストール時の問題の解決
インストールを行ったところ、以下の問題が発生した。

::解凍からrunInstallerの起動
 oracle]$ unzip 10201_database_linux32.zip 
 oracle]$ cd database
 oracle]$ ./runInstaller
!対象OSでないため、インストール失敗
""以下の手順で、インストーラに対応したOSであると偽装する。

{{ref_image ora_inst01.jpg}}
::インストーラをだます
http://kamoland.com/wiki/wiki.cgi?RedHat9%A4%D8%A4%CEOracle10g%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB
インストール後に戻すようにバックアップ
 # cp /etc/redhat-release /etc/redhat-release.bak 
記述を変更
 # vi /etc/redhat-release
 # Red Hat Enterprise Linux AS release 3 (Taroon)

 oracle]$ ./runInstaller
!libXp.so.6 とやらが見つからないようで、失敗
*libXp のインストール
{{ref_image ora_inst02.jpg}}
""libXp.i386をインストールしてみる。
 # yum -y install libXp.i386

!立ち上がったが、文字化け全開
{{ref_image ora_inst03.jpg}}

""言語の設定を変えて再実行する
 oracle]$LANG=C
 oracle]$./runInstaller -ignoreSysPrereqs
{{ref_image ora_inst04.jpg}}

!インストールの途中で、以下のエラー
{{ref_image ora_inst20.jpg}}
指定されたログを確認
/opt/oracle/app/oraInventory/logs/installAction2008-12-14_06-32-02AM.log
    :
 INFO: gcc: 
 INFO: /usr/lib/libstdc++.so.5: No such file or directory
 INFO: 
 
 INFO: /opt/oracle/app/oracle/product/10.2.0/db_1/bin/genorasdksh: Failed to  link liborasd 
 kbase.so.10.2
 
 INFO: make: *** [liborasdkbase] Error 1

!/usr/lib/libstdc++.so.5 がないのでエラーとなっているよう。
確認。確かにない。
 # cd /usr/lib
 # ls -l | grep libstdc++
 lrwxrwxrwx  1 root root       19 2008-12-04 22:47 libstdc++.so.6 -> libstdc++.so.6.0.10
 -rwxr-xr-x  1 root root   954544 2008-11-05 21:14 libstdc++.so.6.0.10

互換性のある[標準C++共有ライブラリー|http://typea-mixi01.appspot.com/yh_s?q=%E6%A8%99%E6%BA%96C%2B%2B%E5%85%B1%E6%9C%89%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%83%BC]を確認
 # yum provides libstdc++.so.5
 Loaded plugins: refresh-packagekit
 compat-libstdc++-33-3.2.3-64.i386 : 標準 C++ 互換の共有ライブラリー
 Matched from:
 Other       : libstdc++.so.5

""compat-libstdc++-33をインストールする。
 # yum -y install compat-libstdc++-33

 # ldconfig

!!インストール
http://otndnld.oracle.co.jp/document/products/oracle10g/102/linux/B19280-02/inst_task.htm#666585
なんとか、インストーラ起動にこぎつけた。
!手順
::Welcom
Next
{{ref_image ora_inst05.jpg}}
::インベントリディレクトリと権限の指定
ソフトウェアのインストールに使用するインベントリディレクトリと書き込み権限を持つOSのグループを指定する。
{{ref_image ora_inst06.jpg}}
::インストールタイプの選択
{{ref_image ora_inst07.jpg}}
::インストールパスの指定
{{ref_image ora_inst08.jpg}}
::製品固有の必須条件のチェック
{{ref_image ora_inst09.jpg}}
::物理メモリが足りないので警告がでるが、かまわず進む
{{ref_image ora_inst10.jpg}}
::データベースの作成を選択
{{ref_image ora_inst11.jpg}}
::データベースの構成の選択にて、汎用目的を選択
{{ref_image ora_inst12.jpg}}
::グローバルデータベース名とドメイン名の設定
*キャラクターセットに、Unicord Standard UTF-8 AL32UTF8を選択
*サンプルスキーマも作成しておく
{{ref_image ora_inst13.jpg}}
::データベース管理に Database Controlを利用するにチェック
*複数データベースを管理する場合、Grid Controlにチェック
{{ref_image ora_inst14.jpg}}
::ストレージを指定
,ストレージ
,ファイルシステム
,自動ストレージ管理(ASM)
,RAWデバイス
{{ref_image ora_inst15.jpg}}
::自動バックアップ有効/無効設定
{{ref_image ora_inst16.jpg}}
::スキーマパスワードの指定
{{ref_image ora_inst17.jpg}}
::インストールサマリー
{{ref_image ora_inst18.jpg}}
::インストールの実行
{{ref_image ora_inst19.jpg}}
::完了-パスワード管理を押下
{{ref_image ora_inst22.jpg}}
::パスワードを設定し、ロックを解除
{{ref_image ora_inst23.jpg}}
::以下のスクリプトを実行するよう指示。
+ターミナルを起動
+rootでログイン
+スクリプトを起動
+OK押下
 /opt/oracle/app/oraInventory/orainstRoot.sh
 /opt/oracle/app/oracle/product/10.2.0/db_1/root.sh
{{ref_image ora_inst24.jpg}}
::完了
{{ref_image ora_inst25.jpg}}
以下をメモ
,J2EEApplication,path
,iSQL*Plus,http://localhost.localdomain:5560/isqlplus
,iSQL*Plus DBA,http://localhost.localdomain:5560/isqlplus/dba
,Enterprise Manager 10g Database Contorol,http://localhost.localdomain:1158/em

!!インストール後の作業
http://otndnld.oracle.co.jp/document/products/oracle10g/102/linux/B19280-02/post_inst_task.htm#233462
!utlrp.sqlスクリプトを実行
*インストール時に(後日ではなく)実行を推奨
*パッケージ、プロシージャおよび型も含めて、無効な状態となっている可能性があるすべてのPL/SQLモジュールを再コンパイル

*oracle ユーザに切り替え
*oraenvまたはcoraenvスクリプトを使用して、utlrp.sqlスクリプトを実行するデータベースの環境を設定
 oracle]$ ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1
 oracle]$ export ORACLE_HOME
 oracle]$ cd /usr/local/bin
 oracle]$ ./oranev
 ORACLE_SID = [oradb1] ? oradb1
 oracle]$ $ORACLE_HOME/bin/sqlplus "/ AS SYSDBA"
 SQL*Plus: Release 10.2.0.1.0 - Production on Mon Dec 15 06:11:57 2008
         :
 SQL> startup
 ORCLE instance started.
         :
 SQL> @?/rdbms/admin/utlrp.sql
         :
 PL/SQL procedure successfully completed. 
""(?)は、環境変数 ORACLE_HOME の値を表す
""(@)記号は環境変数ORACLE_SIDを表す
!文字化け対策
::Java管理ツール
dbca なども、ごらんの通り
{{ref_image ora_inst29.jpg}}

$ORACLE_HOME/jdk/jre/lib/以下の、font.properties 等の設定がおかしいと思われるが、面倒くさいので、JRE自体を差し替える。
*[[Java 6 SDK のインストール|Fedora 9 Java 6 SDK のインストール]]
*Oracle組み込みのJREのリネームと、シンボリックリンクの作成

 oracle]$ cd $ORACLE_HOME/jdk
 oracle]$ mv jre jre.ora
 oracle]$ ln -s /usr/java/jdk1.6.0_11/jre jre

{{ref_image ora_inst30.jpg}}
まぁOK
::Enterprise Manager Database Control
以下のように、ボタン名が□□等に文字化けしている。
{{ref_image ora_inst27.jpg}}
*インストール時の言語に日本語が選択されていないことが原因らしい
*$ORACLE_HOME/jdk/jre/lib/fonts/ にALBANWTJ.TTF というファイルが 存在しない場合がこれに該当
""[ぐぐる|http://www.google.co.jp/custom?domains=typea.info%3Btypea.dip.jp&q=ALBANWTJ.TTF&sa=%E6%A4%9C%E7%B4%A2&sitesearch=&client=pub-4280062068315072&forid=1&ie=utf-8&oe=utf-8&cof=GALT%3A%23008000%3BGL%3A1%3BDIV%3A%23336699%3BVLC%3A663399%3BAH%3Acenter%3BBGC%3AFFFFFF%3BLBGC%3A336699%3BALC%3A0000FF%3BLC%3A0000FF%3BT%3A000000%3BGFNT%3A0000FF%3BGIMP%3A0000FF%3BFORID%3A1&hl=ja]とOracle Warehouse Builderにオプションとして梱包されているようなので、試用版をダウンロードして、解凍、fonts フォルダからALBANWTJ.TTFをコピー
""[参照する|http://typea-mixi01.appspot.com/yh_s?q=ALBANWTJ.TTF]とOracle Warehouse Builderにオプションとして梱包されているようなので、試用版をダウンロードして、解凍、fonts フォルダからALBANWTJ.TTFをコピー
{{ref_image ora_inst28.jpg}}
表示された!
::SSHからSQL*Plusを起動したときの文字化け
linuxへssh接続して、sqlplusを使用するときに、Delキーや、BackSpaceキーを使用すると、文字化け(?)する。
sttyコマンドを利用

 SQL>^H^H^H^H^H ← こうなる

 SQL>ho stty erase ^H ← BackSpaceを押下
!完了
{{ref_image ora_inst31.jpg}}
やっとおわり。
!アラートログにエラー
[[libocr10.so が見つからない|Oracle 10gR2 libocr10.so が見つからない]]