| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「Oracle Database10g インストール10gR2 For Fedora 10」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
(ページの作成:「==Oracle Database10g インストール10gR2 For Fedora 10== [Oracle Database10g][Fedora][VirtualBox] *インストールガイド **http://otndnld.oracle.co.jp/docume…」)
 
 
(同じ利用者による、間の3版が非表示)
1行目: 1行目:
==Oracle Database10g インストール10gR2 For Fedora 10==
+
==[[Oracle Database10g インストール10gR2 For Fedora 10]]==
[Oracle Database10g][Fedora][VirtualBox]
+
[[Oracle Database10g]] | [[Fedora]] | [[VirtualBox]] |
 
*インストールガイド
 
*インストールガイド
 
**http://otndnld.oracle.co.jp/document/products/oracle10g/102/linux/B19280-02/toc.htm
 
**http://otndnld.oracle.co.jp/document/products/oracle10g/102/linux/B19280-02/toc.htm
  
VirtualBox 上の Fedora 10 にOracle10gをインストール
+
[[VirtualBox]] 上の Fedora 10 にOracle10gをインストール
  
 
===準備===
 
===準備===
13行目: 13行目:
 
===rootとしての作業===
 
===rootとしての作業===
 
====ハードウェア要件====
 
====ハードウェア要件====
<blockquote>インストール時に、以下の要件を満たしていなくても、以下のようにすることでインストールは続行できる。</blockquote>
+
&lt;blockquote&gt;インストール時に、以下の要件を満たしていなくても、以下のようにすることでインストールは続行できる。&lt;/blockquote&gt;
 
  $runInstaler -ignoreSysPrereqs
 
  $runInstaler -ignoreSysPrereqs
  
  
*1024MB以上の物理RAM
+
*1024MB以上の物理[[R]]AM
 
  # grep MemTotal /proc/meminfo
 
  # grep MemTotal /proc/meminfo
 
*スワップ領域
 
*スワップ領域
 
{|class="wikitable"
 
{|class="wikitable"
!RAM
+
![[R]]AM
 
!必要量
 
!必要量
 
|-
 
|-
 
|1024 - 2048 MB
 
|1024 - 2048 MB
|RAMの1.5倍
+
|[[R]]AMの1.5倍
 
|-
 
|-
 
|2049 - 8192 MB
 
|2049 - 8192 MB
|RAMと同じ
+
|[[R]]AMと同じ
 
|-
 
|-
 
|8193 -         
 
|8193 -         
|RAMの0.75倍
+
|[[R]]AMの0.75倍
 
|-
 
|-
 
|}
 
|}
37行目: 37行目:
 
*/tmpディレクトリに400MBの領域
 
*/tmpディレクトリに400MBの領域
 
  # df -h /tmp
 
  # df -h /tmp
*Oracleソフトウェア用ディスク領域
+
*[[Oracle]]ソフトウェア用ディスク領域
 
{|class="wikitable"
 
{|class="wikitable"
 
!タイプ
 
!タイプ
57行目: 57行目:
 
====ソフトウェア要件====
 
====ソフトウェア要件====
 
次のいずれかのオペレーティング・システム・バージョン:
 
次のいずれかのオペレーティング・システム・バージョン:
*Red Hat Enterprise Linux AS/ES 3.0(Update 4以上)
+
*Red Hat Enterprise [[Linux]] AS/ES 3.0(Update 4以上)
*Red Hat Linux 4.0
+
*Red Hat [[Linux]] 4.0
*SP 2以上を適用したSUSE Linux Enterprise Server 9.0
+
*SP 2以上を適用したSUSE [[Linux]] Enterprise Server 9.0
 
*Asianux 1.0
 
*Asianux 1.0
 
*Asianux 2.0
 
*Asianux 2.0
68行目: 68行目:
 
  # uname -r
 
  # uname -r
 
====名前解決の構成====
 
====名前解決の構成====
名前解決が設定されていない場合は、Oracle Universal Installerを実行するとエラーが発生することがあります。このエラーを回避するには、インストール前に、ホスト名が/etc/hostsファイルを介してのみ解決されることを確認する必要
+
名前解決が設定されていない場合は、[[Oracle]] Universal Installerを実行するとエラーが発生することがあります。このエラーを回避するには、インストール前に、ホスト名が/etc/hostsファイルを介してのみ解決されることを確認する必要
  
 
/etc/hostsに登録
 
/etc/hostsに登録
83行目: 83行目:
 
!名称
 
!名称
 
|-
 
|-
|Oracleインベントリ・グループ
+
|[[Oracle]]インベントリ・グループ
 
|グループ
 
|グループ
 
|oinstall
 
|oinstall
91行目: 91行目:
 
|dba
 
|dba
 
|-
 
|-
|OSOPERグループ(オプション)
+
|OSOPE[[R]]グループ(オプション)
 
|グループ
 
|グループ
 
|oper
 
|oper
 
|-
 
|-
|Oracleソフトウェア所有者
+
|[[Oracle]]ソフトウェア所有者
 
|ユーザ
 
|ユーザ
 
|oracle
 
|oracle
105行目: 105行目:
 
|}
 
|}
  
operを作成するのは、一連の限られたデータベース管理権限(SYSOPERオペレータ権限)を持つオペレーティング・システム・ユーザーのグループを識別する必要がある場合のみ
+
operを作成するのは、一連の限られたデータベース管理権限(SYSOPE[[R]]オペレータ権限)を持つオペレーティング・システム・ユーザーのグループを識別する必要がある場合のみ
 
。ほとんどのインストールの場合は、OSDBAグループのみを作成すれば十分
 
。ほとんどのインストールの場合は、OSDBAグループのみを作成すれば十分
 
※ nobodyユーザを作成するのは、システムに存在しない場合。 id nobodyで確認
 
※ nobodyユーザを作成するのは、システムに存在しない場合。 id nobodyで確認
268行目: 268行目:
  
 
====ソフトウェアディレクトリの構成====
 
====ソフトウェアディレクトリの構成====
[Oracle Database10g OFA] [OFA]
+
[[Oracle Database10g OFA|OFA]]
 
{|class="wikitable"
 
{|class="wikitable"
 
!タイプ
 
!タイプ
278行目: 278行目:
 
|Oracleソフトウェア・インストールのトップレベル・ディレクトリ OFA(/[ファイル・システムのマウント・ポイント・ディレクトリ]/app/[ユーザー名])
 
|Oracleソフトウェア・インストールのトップレベル・ディレクトリ OFA(/[ファイル・システムのマウント・ポイント・ディレクトリ]/app/[ユーザー名])
 
|-
 
|-
|Oracleインベントリ
+
|[[Oracle]]インベントリ
 
|$ORACLE_BASE/oraInventory
 
|$ORACLE_BASE/oraInventory
 
|システムにインストールされた全ソフトウェアのインベントリが格納 OFA($ORACLE_BASE/oraInventory) 手動で作成する必要はない
 
|システムにインストールされた全ソフトウェアのインベントリが格納 OFA($ORACLE_BASE/oraInventory) 手動で作成する必要はない
 
|-
 
|-
|Oracleホーム
+
|[[Oracle]]ホーム
 
|$ORACLE_BASE/product/10.2.0/db_1
 
|$ORACLE_BASE/product/10.2.0/db_1
|特定のOracle製品のソフトウェアをインストールするために選択するディレクトリ 推奨 $ORACLE_BASE/product/10.2.0/db_1 手動で作成する必要はない
+
|特定の[[Oracle]]製品のソフトウェアをインストールするために選択するディレクトリ 推奨 $ORACLE_BASE/product/10.2.0/db_1 手動で作成する必要はない
 
|-
 
|-
 
|}
 
|}
  
=====Oracleベース・ディレクトリの作成=====
+
=====[[Oracle]]ベース・ディレクトリの作成=====
  
 
  # mkdir -p /opt/oracle/app/oracle
 
  # mkdir -p /opt/oracle/app/oracle
  # chown -R oracle:oinstall /opt/oracle/app
+
  # chown -[[R]] oracle:oinstall /opt/oracle/app
  # chmod -R 775 /opt/oracle/app
+
  # chmod -[[R]] 775 /opt/oracle/app
  
 
====oracleユーザーの環境の構成====
 
====oracleユーザーの環境の構成====
Oracle Universal Installerは、oracleアカウントから実行します。ただし、Oracle Universal Installerを起動する前に、oracleユーザーの環境を構成する必要がある。
+
[[Oracle]] Universal Installerは、oracleアカウントから実行します。ただし、[[Oracle]] Universal Installerを起動する前に、oracleユーザーの環境を構成する必要がある。
 
=====シェル起動ファイルで、デフォルトのファイル・モード作成マスク(umask)を022に設定=====
 
=====シェル起動ファイルで、デフォルトのファイル・モード作成マスク(umask)を022に設定=====
 
.bash_profileに、umask 022を追加
 
.bash_profileに、umask 022を追加
 
  # su oracle
 
  # su oracle
 
  $ cd ~
 
  $ cd ~
  $ vi .bash_profile
+
  $ [[vi]] .bash_profile
 
     :
 
     :
 
  umask 022
 
  umask 022
  
 
====環境変数の設定====
 
====環境変数の設定====
=====ORACLE_BASE , ORACLE_SID を設定=====
+
=====O[[R]]ACLE_BASE , O[[R]]ACLE_SID を設定=====
  oracle]$ ORACLE_BASE=/opt/oracle/app
+
  oracle]$ O[[R]]ACLE_BASE=/opt/oracle/app
  oracle]$ ORACLE_SID=oradb1
+
  oracle]$ O[[R]]ACLE_SID=oradb1
  oracle]$ export ORACLE_BASE ORACLE_SID
+
  oracle]$ export O[[R]]ACLE_BASE O[[R]]ACLE_SID
  
<blockquote>Oracle Database 10gに必要な環境変数をoracleユーザーに設定します。 Oracle9i Databaseでは、ORACLE_HOMEやNLS_LANGなども設定していましたが、 Oracle Database 10gでは、インストール時にはORACLE_BASEとORACLE_SIDだけになりました。 それ以外の環境変数は、インストール後に設定します。</blockquote>
+
&lt;blockquote&gt;Oracle [[Database]] 10gに必要な環境変数をoracleユーザーに設定します。 Oracle9i [[Database]]では、ORACLE_HOMEやNLS_LANGなども設定していましたが、 Oracle [[Database]] 10gでは、インストール時にはORACLE_BASEとORACLE_SIDだけになりました。 それ以外の環境変数は、インストール後に設定します。&lt;/blockquote&gt;
=====ORACLE_HOME , TNS_ADMIN の解除=====
+
=====O[[R]]ACLE_HOME , TNS_ADMIN の解除=====
  oracle]$ unset ORACLE_HOME
+
  oracle]$ unset O[[R]]ACLE_HOME
 
  oracle]$ unset TNS_ADMIN
 
  oracle]$ unset TNS_ADMIN
  
324行目: 324行目:
 
  oracle]$ ./runInstaller
 
  oracle]$ ./runInstaller
 
====対象OSでないため、インストール失敗====
 
====対象OSでないため、インストール失敗====
<blockquote>以下の手順で、インストーラに対応したOSであると偽装する。</blockquote>
+
&lt;blockquote&gt;以下の手順で、インストーラに対応したOSであると偽装する。&lt;/blockquote&gt;
  
 
[[File:0880_ora_inst01.jpg]]
 
[[File:0880_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
+
http://kamoland.com/wiki/wiki.cgi?RedHat9%A4%D8%A4%CE[[Oracle]]10g%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB
インストール後に戻すようにバックアップ
+
インストール後に戻すように[[バックアップ]]
 
  # cp /etc/redhat-release /etc/redhat-release.bak  
 
  # cp /etc/redhat-release /etc/redhat-release.bak  
 
記述を変更
 
記述を変更
  # vi /etc/redhat-release
+
  # [[vi]] /etc/redhat-release
  # Red Hat Enterprise Linux AS release 3 (Taroon)
+
  # Red Hat Enterprise [[Linux]] AS release 3 (Taroon)
  
 
  oracle]$ ./runInstaller
 
  oracle]$ ./runInstaller
339行目: 339行目:
 
*libXp のインストール
 
*libXp のインストール
 
[[File:0881_ora_inst02.jpg]]
 
[[File:0881_ora_inst02.jpg]]
<blockquote>libXp.i386をインストールしてみる。</blockquote>
+
&lt;blockquote&gt;libXp.i386をインストールしてみる。&lt;/blockquote&gt;
 
  # yum -y install libXp.i386
 
  # yum -y install libXp.i386
  
====立ち上がったが、文字化け全開====
+
====立ち上がったが、[[文字化け]]全開====
 
[[File:0882_ora_inst03.jpg]]
 
[[File:0882_ora_inst03.jpg]]
  
<blockquote>言語の設定を変えて再実行する</blockquote>
+
&lt;blockquote&gt;[[言語]]の設定を変えて再実行する&lt;/blockquote&gt;
 
  oracle]$LANG=C
 
  oracle]$LANG=C
 
  oracle]$./runInstaller -ignoreSysPrereqs
 
  oracle]$./runInstaller -ignoreSysPrereqs
368行目: 368行目:
 
  # cd /usr/lib
 
  # cd /usr/lib
 
  # ls -l | grep libstdc++
 
  # ls -l | grep libstdc++
  lrwxrwxrwx  1 root root      19 2008-12-04 22:47 libstdc++.so.6 -> libstdc++.so.6.0.10
+
  lrwxrwxrwx  1 root root      19 2008-12-04 22:47 libstdc++.so.6 -&gt; libstdc++.so.6.0.10
 
  -rwxr-xr-x  1 root root  954544 2008-11-05 21:14 libstdc++.so.6.0.10
 
  -rwxr-xr-x  1 root root  954544 2008-11-05 21:14 libstdc++.so.6.0.10
  
 
互換性のある[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 標準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 標準C++共有ライブラリー]を確認
  # yum provides libstdc++.so.5
+
  # yum pro[[vi]]des libstdc++.so.5
 
  Loaded plugins: refresh-packagekit
 
  Loaded plugins: refresh-packagekit
 
  compat-libstdc++-33-3.2.3-64.i386 : 標準 C++ 互換の共有ライブラリー
 
  compat-libstdc++-33-3.2.3-64.i386 : 標準 C++ 互換の共有ライブラリー
378行目: 378行目:
 
  Other      : libstdc++.so.5
 
  Other      : libstdc++.so.5
  
<blockquote>compat-libstdc++-33をインストールする。</blockquote>
+
&lt;blockquote&gt;compat-libstdc++-33をインストールする。&lt;/blockquote&gt;
 
  # yum -y install compat-libstdc++-33
 
  # yum -y install compat-libstdc++-33
  
409行目: 409行目:
 
*サンプルスキーマも作成しておく
 
*サンプルスキーマも作成しておく
 
[[File:0892_ora_inst13.jpg]]
 
[[File:0892_ora_inst13.jpg]]
=====データベース管理に Database Controlを利用するにチェック=====
+
=====データベース管理に [[Database]] Controlを利用するにチェック=====
 
*複数データベースを管理する場合、Grid Controlにチェック
 
*複数データベースを管理する場合、Grid Controlにチェック
 
[[File:0893_ora_inst14.jpg]]
 
[[File:0893_ora_inst14.jpg]]
420行目: 420行目:
 
|自動ストレージ管理(ASM)
 
|自動ストレージ管理(ASM)
 
|-
 
|-
|RAWデバイス
+
|[[R]]AWデバイス
 
|-
 
|-
 
|}
 
|}
 
[[File:0894_ora_inst15.jpg]]
 
[[File:0894_ora_inst15.jpg]]
=====自動バックアップ有効/無効設定=====
+
=====自動[[バックアップ]]有効/無効設定=====
 
[[File:0895_ora_inst16.jpg]]
 
[[File:0895_ora_inst16.jpg]]
 
=====スキーマパスワードの指定=====
 
=====スキーマパスワードの指定=====
441行目: 441行目:
 
#スクリプトを起動
 
#スクリプトを起動
 
#OK押下
 
#OK押下
  /opt/oracle/app/oraInventory/orainstRoot.sh
+
  /opt/oracle/app/oraInventory/orainst[[R]]oot.sh
 
  /opt/oracle/app/oracle/product/10.2.0/db_1/root.sh
 
  /opt/oracle/app/oracle/product/10.2.0/db_1/root.sh
 
[[File:0903_ora_inst24.jpg]]
 
[[File:0903_ora_inst24.jpg]]
448行目: 448行目:
 
以下をメモ
 
以下をメモ
 
{|class="wikitable"
 
{|class="wikitable"
!J2EEApplication
+
![[J2EE]]Application
 
!path
 
!path
 
|-
 
|-
|iSQL*Plus
+
|i[[SQL]]*Plus
 
|http://localhost.localdomain:5560/isqlplus
 
|http://localhost.localdomain:5560/isqlplus
 
|-
 
|-
|iSQL*Plus DBA
+
|i[[SQL]]*Plus DBA
 
|http://localhost.localdomain:5560/isqlplus/dba
 
|http://localhost.localdomain:5560/isqlplus/dba
 
|-
 
|-
|Enterprise Manager 10g Database Contorol
+
|Enterprise Manager 10g [[Database]] Contorol
 
|http://localhost.localdomain:1158/em
 
|http://localhost.localdomain:1158/em
 
|-
 
|-
466行目: 466行目:
 
====utlrp.sqlスクリプトを実行====
 
====utlrp.sqlスクリプトを実行====
 
*インストール時に(後日ではなく)実行を推奨
 
*インストール時に(後日ではなく)実行を推奨
*パッケージ、プロシージャおよび型も含めて、無効な状態となっている可能性があるすべてのPL/SQLモジュールを再コンパイル
+
*パッケージ、プロシージャおよび型も含めて、無効な状態となっている可能性があるすべてのPL/[[SQL]]モジュールを再コンパイル
  
 
*oracle ユーザに切り替え
 
*oracle ユーザに切り替え
 
*oraenvまたはcoraenvスクリプトを使用して、utlrp.sqlスクリプトを実行するデータベースの環境を設定
 
*oraenvまたはcoraenvスクリプトを使用して、utlrp.sqlスクリプトを実行するデータベースの環境を設定
  oracle]$ ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1
+
  oracle]$ O[[R]]ACLE_HOME=$O[[R]]ACLE_BASE/oracle/product/10.2.0/db_1
  oracle]$ export ORACLE_HOME
+
  oracle]$ export O[[R]]ACLE_HOME
 
  oracle]$ cd /usr/local/bin
 
  oracle]$ cd /usr/local/bin
 
  oracle]$ ./oranev
 
  oracle]$ ./oranev
 
  ORACLE_SID = [oradb1] ? oradb1
 
  ORACLE_SID = [oradb1] ? oradb1
  oracle]$ $ORACLE_HOME/bin/sqlplus "/ AS SYSDBA"
+
  oracle]$ $O[[R]]ACLE_HOME/bin/sqlplus "/ AS SYSDBA"
  SQL*Plus: Release 10.2.0.1.0 - Production on Mon Dec 15 06:11:57 2008
+
  [[SQL]]*Plus: Release 10.2.0.1.0 - Production on Mon Dec 15 06:11:57 2008
 
         :
 
         :
  SQL> startup
+
  [[SQL]]&gt; startup
  ORCLE instance started.
+
  O[[R]]CLE instance started.
 
         :
 
         :
  SQL> @?/rdbms/admin/utlrp.sql
+
  [[SQL]]&gt; @?/rdbms/admin/utlrp.sql
 
         :
 
         :
  PL/SQL procedure successfully completed.  
+
  PL/[[SQL]] procedure successfully completed.  
<blockquote>(?)は、環境変数 ORACLE_HOME の値を表す</blockquote>
+
&lt;blockquote&gt;(?)は、環境変数 O[[R]]ACLE_HOME の値を表す&lt;/blockquote&gt;
<blockquote>(@)記号は環境変数ORACLE_SIDを表す</blockquote>
+
&lt;blockquote&gt;(@)記号は環境変数O[[R]]ACLE_SIDを表す&lt;/blockquote&gt;
====文字化け対策====
+
====[[文字化け]]対策====
=====Java管理ツール=====
+
=====[[Java]]管理ツール=====
 
dbca なども、ごらんの通り
 
dbca なども、ごらんの通り
 
[[File:0907_ora_inst29.jpg]]
 
[[File:0907_ora_inst29.jpg]]
  
$ORACLE_HOME/jdk/jre/lib/以下の、font.properties 等の設定がおかしいと思われるが、面倒くさいので、JRE自体を差し替える。
+
$O[[R]]ACLE_HOME/jdk/jre/lib/以下の、font.properties 等の設定がおかしいと思われるが、面倒くさいので、J[[R]]E自体を差し替える。
*[Fedora 9 Java 6 SDK のインストール] [Java 6 SDK のインストール]
+
*[[Fedora 9 Java 6 SDK のインストール|Java 6 SDK のインストール]]
*Oracle組み込みのJREのリネームと、シンボリックリンクの作成
+
*[[Oracle]]組み込みのJREのリネームと、シンボリックリンクの作成
  
  oracle]$ cd $ORACLE_HOME/jdk
+
  oracle]$ cd $O[[R]]ACLE_HOME/jdk
 
  oracle]$ mv jre jre.ora
 
  oracle]$ mv jre jre.ora
 
  oracle]$ ln -s /usr/java/jdk1.6.0_11/jre jre
 
  oracle]$ ln -s /usr/java/jdk1.6.0_11/jre jre
501行目: 501行目:
 
[[File:0908_ora_inst30.jpg]]
 
[[File:0908_ora_inst30.jpg]]
 
まぁOK
 
まぁOK
=====Enterprise Manager Database Control=====
+
=====Enterprise Manager [[Database]] Control=====
以下のように、ボタン名が□□等に文字化けしている。
+
以下のように、ボタン名が□□等に[[文字化け]]している。
 
[[File:0905_ora_inst27.jpg]]
 
[[File:0905_ora_inst27.jpg]]
*インストール時の言語に日本語が選択されていないことが原因らしい
+
*インストール時の[[言語]]に日本語が選択されていないことが原因らしい
*$ORACLE_HOME/jdk/jre/lib/fonts/ にALBANWTJ.TTF というファイルが 存在しない場合がこれに該当
+
*$O[[R]]ACLE_HOME/jdk/jre/lib/fonts/ にALBANWTJ.TTF というファイルが 存在しない場合がこれに該当
<blockquote>[http://typea-mixi01.appspot.com/yh_s?q=ALBANWTJ.TTF 参照する]とOracle Warehouse Builderにオプションとして梱包されているようなので、試用版をダウンロードして、解凍、fonts フォルダからALBANWTJ.TTFをコピー</blockquote>
+
&lt;blockquote&gt;[http://typea-mixi01.appspot.com/yh_s?q=ALBANWTJ.TTF 参照する]とOracle Warehouse Builderにオプションとして梱包されているようなので、試用版をダウンロードして、解凍、fonts フォルダからALBANWTJ.TTFをコピー&lt;/blockquote&gt;
 
[[File:0906_ora_inst28.jpg]]
 
[[File:0906_ora_inst28.jpg]]
 
表示された!
 
表示された!
=====SSHからSQL*Plusを起動したときの文字化け=====
+
=====SSHからSQL*Plusを起動したときの[[文字化け]]=====
linuxへssh接続して、sqlplusを使用するときに、Delキーや、BackSpaceキーを使用すると、文字化け(?)する。
+
linuxへssh接続して、sqlplusを使用するときに、Delキーや、BackSpaceキーを使用すると、[[文字化け]](?)する。
 
sttyコマンドを利用
 
sttyコマンドを利用
  
  SQL>^H^H^H^H^H ← こうなる
+
  [[SQL]]&gt;^H^H^H^H^H ← こうなる
  
  SQL>ho stty erase ^H ← BackSpaceを押下
+
  [[SQL]]&gt;ho stty erase ^H ← BackSpaceを押下
 
====完了====
 
====完了====
 
[[File:0909_ora_inst31.jpg]]
 
[[File:0909_ora_inst31.jpg]]
 
やっとおわり。
 
やっとおわり。
 
====アラートログにエラー====
 
====アラートログにエラー====
[Oracle 10gR2 libocr10.so が見つからない] [libocr10.so が見つからない]
+
[[Oracle 10gR2 libocr10.so が見つからない|libocr10.so が見つからない]]

2020年2月16日 (日) 04:30時点における最新版

目次

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

ソフトウェアディレクトリの構成

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

<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>

0880 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 のインストール

0881 ora inst02.jpg <blockquote>libXp.i386をインストールしてみる。</blockquote>

# yum -y install libXp.i386

立ち上がったが、文字化け全開

0882 ora inst03.jpg

<blockquote>言語の設定を変えて再実行する</blockquote>

oracle]$LANG=C
oracle]$./runInstaller -ignoreSysPrereqs

0883 ora inst04.jpg

インストールの途中で、以下のエラー

0899 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++共有ライブラリーを確認

# 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

Next 0884 ora inst05.jpg

インベントリディレクトリと権限の指定

ソフトウェアのインストールに使用するインベントリディレクトリと書き込み権限を持つOSのグループを指定する。 0885 ora inst06.jpg

インストールタイプの選択

0886 ora inst07.jpg

インストールパスの指定

0887 ora inst08.jpg

製品固有の必須条件のチェック

0888 ora inst09.jpg

物理メモリが足りないので警告がでるが、かまわず進む

0889 ora inst10.jpg

データベースの作成を選択

0890 ora inst11.jpg

データベースの構成の選択にて、汎用目的を選択

0891 ora inst12.jpg

グローバルデータベース名とドメイン名の設定
  • キャラクターセットに、Unicord Standard UTF-8 AL32UTF8を選択
  • サンプルスキーマも作成しておく

0892 ora inst13.jpg

データベース管理に Database Controlを利用するにチェック
  • 複数データベースを管理する場合、Grid Controlにチェック

0893 ora inst14.jpg

ストレージを指定
ストレージ
ファイルシステム
自動ストレージ管理(ASM)
RAWデバイス

0894 ora inst15.jpg

自動バックアップ有効/無効設定

0895 ora inst16.jpg

スキーマパスワードの指定

0896 ora inst17.jpg

インストールサマリー

0897 ora inst18.jpg

インストールの実行

0898 ora inst19.jpg

完了-パスワード管理を押下

0901 ora inst22.jpg

パスワードを設定し、ロックを解除

0902 ora inst23.jpg

以下のスクリプトを実行するよう指示。
  1. ターミナルを起動
  2. rootでログイン
  3. スクリプトを起動
  4. OK押下
/opt/oracle/app/oraInventory/orainstRoot.sh
/opt/oracle/app/oracle/product/10.2.0/db_1/root.sh

0903 ora inst24.jpg

完了

0904 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. 

<blockquote>(?)は、環境変数 ORACLE_HOME の値を表す</blockquote> <blockquote>(@)記号は環境変数ORACLE_SIDを表す</blockquote>

文字化け対策

Java管理ツール

dbca なども、ごらんの通り 0907 ora inst29.jpg

$ORACLE_HOME/jdk/jre/lib/以下の、font.properties 等の設定がおかしいと思われるが、面倒くさいので、JRE自体を差し替える。

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

0908 ora inst30.jpg まぁOK

Enterprise Manager Database Control

以下のように、ボタン名が□□等に文字化けしている。 0905 ora inst27.jpg

  • インストール時の言語に日本語が選択されていないことが原因らしい
  • $ORACLE_HOME/jdk/jre/lib/fonts/ にALBANWTJ.TTF というファイルが 存在しない場合がこれに該当

<blockquote>参照するとOracle Warehouse Builderにオプションとして梱包されているようなので、試用版をダウンロードして、解凍、fonts フォルダからALBANWTJ.TTFをコピー</blockquote> 0906 ora inst28.jpg 表示された!

SSHからSQL*Plusを起動したときの文字化け

linuxへssh接続して、sqlplusを使用するときに、Delキーや、BackSpaceキーを使用すると、文字化け(?)する。 sttyコマンドを利用

SQL>^H^H^H^H^H ← こうなる
SQL>ho stty erase ^H ← BackSpaceを押下

完了

0909 ora inst31.jpg やっとおわり。

アラートログにエラー

libocr10.so が見つからない