Oracle Database10g インストール10gR2 For Fedora 10
目次
- 1 Oracle Database10g インストール10gR2 For Fedora 10
- 1.1 準備
- 1.2 rootとしての作業
- 1.2.1 ハードウェア要件
- 1.2.2 ソフトウェア要件
- 1.2.3 名前解決の構成
- 1.2.4 グループとユーザの作成
- 1.2.5 カーネルパラメータの構成
- 1.2.5.1 /proc/sys/kernel/sem
- 1.2.5.2 /proc/sys/kernel/shmall
- 1.2.5.3 /proc/sys/kernel/shmmax
- 1.2.5.4 /proc/sys/kernel/shmmni
- 1.2.5.5 /proc/sys/fs/file-max
- 1.2.5.6 /proc/sys/net/ipv4/ip_local_port_range
- 1.2.5.7 /proc/sys/net/core/rmem_default
- 1.2.5.8 /proc/sys/net/core/rmem_max
- 1.2.5.9 /proc/sys/net/core/wmem_default
- 1.2.5.10 /proc/sys/net/core/wmem_max
- 1.2.5.11 カーネル・パラメータの値が推奨値と異なる場合
- 1.2.6 oracleユーザーに対するシェル制限の設定
- 1.2.7 ソフトウェアディレクトリの構成
- 1.2.8 oracleユーザーの環境の構成
- 1.2.9 環境変数の設定
- 1.3 インストール時の問題の解決
- 1.4 インストール
- 1.4.1 手順
- 1.4.1.1 Welcom
- 1.4.1.2 インベントリディレクトリと権限の指定
- 1.4.1.3 インストールタイプの選択
- 1.4.1.4 インストールパスの指定
- 1.4.1.5 製品固有の必須条件のチェック
- 1.4.1.6 物理メモリが足りないので警告がでるが、かまわず進む
- 1.4.1.7 データベースの作成を選択
- 1.4.1.8 データベースの構成の選択にて、汎用目的を選択
- 1.4.1.9 グローバルデータベース名とドメイン名の設定
- 1.4.1.10 データベース管理に Database Controlを利用するにチェック
- 1.4.1.11 ストレージを指定
- 1.4.1.12 自動バックアップ有効/無効設定
- 1.4.1.13 スキーマパスワードの指定
- 1.4.1.14 インストールサマリー
- 1.4.1.15 インストールの実行
- 1.4.1.16 完了-パスワード管理を押下
- 1.4.1.17 パスワードを設定し、ロックを解除
- 1.4.1.18 以下のスクリプトを実行するよう指示。
- 1.4.1.19 完了
- 1.4.1 手順
- 1.5 インストール後の作業
Oracle Database10g インストール10gR2 For Fedora 10
Oracle Database10g | Fedora | VirtualBox |
VirtualBox 上の Fedora 10 にOracle10gをインストール
準備
ダウンロード
http://www.oracle.com/technology/global/jp/software/products/database/index.html から、10201_database_linux32.zip をダウンロード
rootとしての作業
ハードウェア要件
<blockquote>インストール時に、以下の要件を満たしていなくても、以下のようにすることでインストールは続行できる。</blockquote>
- $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
ソフトウェアディレクトリの構成
タイプ | 設定例 | 内容 |
---|---|---|
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ベース・ディレクトリの作成
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 を設定
<blockquote>Oracle Database 10gに必要な環境変数をoracleユーザーに設定します。 Oracle9i Databaseでは、ORACLE_HOMEやNLS_LANGなども設定していましたが、 Oracle Database 10gでは、インストール時にはORACLE_BASEとORACLE_SIDだけになりました。 それ以外の環境変数は、インストール後に設定します。</blockquote>
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でないため、インストール失敗
<blockquote>以下の手順で、インストーラに対応したOSであると偽装する。</blockquote>
インストーラをだます
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
記述を変更
- oracle]$ ./runInstaller
libXp.so.6 とやらが見つからないようで、失敗
- libXp のインストール
<blockquote>libXp.i386をインストールしてみる。</blockquote>
- # yum -y install libXp.i386
立ち上がったが、文字化け全開
<blockquote>言語の設定を変えて再実行する</blockquote>
- oracle]$LANG=C
- oracle]$./runInstaller -ignoreSysPrereqs
インストールの途中で、以下のエラー
指定されたログを確認
/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++共有ライブラリーを確認
- # yum provides libstdc++.so.5
- Loaded plugins: refresh-packagekit
- compat-libstdc++-33-3.2.3-64.i386 : 標準 C++ 互換の共有ライブラリー
- Matched from:
- Other : libstdc++.so.5
<blockquote>compat-libstdc++-33をインストールする。</blockquote>
- # yum -y install compat-libstdc++-33
- # ldconfig
インストール
http://otndnld.oracle.co.jp/document/products/oracle10g/102/linux/B19280-02/inst_task.htm#666585 なんとか、インストーラ起動にこぎつけた。
手順
Welcom
インベントリディレクトリと権限の指定
ソフトウェアのインストールに使用するインベントリディレクトリと書き込み権限を持つOSのグループを指定する。
インストールタイプの選択
インストールパスの指定
製品固有の必須条件のチェック
物理メモリが足りないので警告がでるが、かまわず進む
データベースの作成を選択
データベースの構成の選択にて、汎用目的を選択
グローバルデータベース名とドメイン名の設定
- キャラクターセットに、Unicord Standard UTF-8 AL32UTF8を選択
- サンプルスキーマも作成しておく
データベース管理に Database Controlを利用するにチェック
- 複数データベースを管理する場合、Grid Controlにチェック
ストレージを指定
ストレージ |
---|
ファイルシステム |
自動ストレージ管理(ASM) |
RAWデバイス |
自動バックアップ有効/無効設定
スキーマパスワードの指定
インストールサマリー
インストールの実行
完了-パスワード管理を押下
パスワードを設定し、ロックを解除
以下のスクリプトを実行するよう指示。
- ターミナルを起動
- rootでログイン
- スクリプトを起動
- OK押下
- /opt/oracle/app/oraInventory/orainstRoot.sh
- /opt/oracle/app/oracle/product/10.2.0/db_1/root.sh
完了
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 |
インストール後の作業
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.
<blockquote>(?)は、環境変数 ORACLE_HOME の値を表す</blockquote> <blockquote>(@)記号は環境変数ORACLE_SIDを表す</blockquote>
文字化け対策
Java管理ツール
$ORACLE_HOME/jdk/jre/lib/以下の、font.properties 等の設定がおかしいと思われるが、面倒くさいので、JRE自体を差し替える。
- 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
Enterprise Manager Database Control
以下のように、ボタン名が□□等に文字化けしている。
- インストール時の言語に日本語が選択されていないことが原因らしい
- $ORACLE_HOME/jdk/jre/lib/fonts/ にALBANWTJ.TTF というファイルが 存在しない場合がこれに該当
<blockquote>参照するとOracle Warehouse Builderにオプションとして梱包されているようなので、試用版をダウンロードして、解凍、fonts フォルダからALBANWTJ.TTFをコピー</blockquote>
表示された!
SSHからSQL*Plusを起動したときの文字化け
linuxへssh接続して、sqlplusを使用するときに、Delキーや、BackSpaceキーを使用すると、文字化け(?)する。 sttyコマンドを利用
- SQL>^H^H^H^H^H ← こうなる
- SQL>ho stty erase ^H ← BackSpaceを押下
完了
アラートログにエラー
© 2006 矢木浩人