Oracle8i for Linux R8.1.6 FAQ

ここにあるFAQは全てOracle8i for Linux R8.1.6に関するものです。
2000/12/6更新
  • インストーラが文字化けして先に進めません。
  • loadjavaなどのJServerコマンドが実行できません。
  • Pro*Cで上手くコンパイル出来ません。
  • データベースに格納したデータが文字化けします。
  • データベースのCHARACTER SETは何にすれば良いのでしょうか?
  • Turbo Linux Server 6.1にインストールしたがデータベース作成で固まってしまいます。
  • Red Hat Linux 7.0で動作しません。
  • dbassistで修正・削除を行うとハングします。




  • インストーラが文字化けして先に進めません。

     インストーラが日本語に対応していない為です。以下のように英語モードに切り替えてからインストーラを起動してください。

    % export LANG=c
    % export LC_ALL=c




    loadjavaなどのJServerコマンドが実行できません。

     loadjavaなどのJava/CORBAユーティリティはksh上で動作しますが、一部のディストリビューションでは、kshがデフォルトでインストールされません。しかし、ディストリビューションパッケージ中には、kshクローンであるpdkshパッケージが同梱されていますので、後からpdkshをインストールすることにより実行可能になります。

    ●Red Hat Linux Server 6.2Jの場合

    Red Hat Linuxのインストールディスク1をCD-ROMドライブに入れます。
    --------------------------------------------
    $ su -
    # mount -t iso9660 /dev/cdrom /mnt/cdrom
    # cd /mnt/cdrom/RedHat/RPMS
    # rpm -ivh pdksh-5.2.14-2.i386.rpm
    --------------------------------------------

    ●Turbo Linux Server 6.1の場合

    Turbo LinuxのインストールディスクをCD-ROMドライブに入れます。
    --------------------------------------------
    $ su -
    # mount -t iso9660 /dev/cdrom /mnt/cdrom
    # cd /mnt/cdrom/TurboLinux/RPMS
    # rpm -ivh pdksh-5.2.14-1.i386.rpm
    --------------------------------------------




    Pro*Cで上手くコンパイル出来ません。

     まず、Linuxにegcs(もしくは上位互換のgcc)がインストールされている必要が有ります。
     それ以外に、開発用ヘッダファイルがインストールされている必要が有ります。最初に必要なヘッダファイルがインストールされているか確認してください。

     上手くコンパイルができない原因の1つは、LD_LIBRARY_PATHが定義されていない事です。LD_LIBRARY_PATHに$ORACLE_HOME/libを設定する必要が有ります。

    % export LD_LIBRARY_PATH=$ORACLE_HOME/lib;$LD_LIBRARY_PATH


     2つめはPro*C定義ファイルであるpcscfg.cfgが定義されていないからです。この定義はディストリビューションによって異なるため手作業で設定する必要が有ります。
    pcscfg.cfgファイルは$ORACLE_HOME/precomp/adminの下にあります。

    以下の例は、$ORACLE_HOMEが"/u0/oracle/product/8.1.6"の場合になります。

    ●Red Hat Linux 6.xの場合(例)

    --------------------------------------------
    sys_include = (/u0/oracle/product/8.1.6/precomp/syshdr, /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/, /usr/include)
    include = (/u0/oracle/product/8.1.6/precomp/public)
    include = (/u0/oracle/product/8.1.6/rdbms/demo)
    include = (/u0/oracle/product/8.1.6/rdbms/public)
    include = (/u0/oracle/product/8.1.6/network/public)
    include = (/u0/oracle/product/8.1.6/plsql/public)
    include = (/u0/oracle/product/8.1.6/otrace/public)
    ltype = short
    --------------------------------------------

    ●Turbo Linux 6.0の場合(例)

    --------------------------------------------
    sys_include = (/u0/oracle/product/8.1.6/precomp/syshdr, /usr/lib/gcc-lib/i586-pc-linux/2.95.2/include/, /usr/include)
    (以下略)
    --------------------------------------------


    ●Turbo Linux 6.1/Miracle Linux 1.0の場合(例)

    --------------------------------------------
    sys_include = (/u0/oracle/product/8.1.6/precomp/syshdr, /usr/lib/gcc-lib/i586-pc-linux/egcs-2.91.66/include/, /usr/include)
    (以下略)
    --------------------------------------------

    インストレーションによっては上記PATHが無い場合がありますその場合は、適当なPATHに変更してください。




    データベースに格納したデータが文字化けします。

     大きな原因は3つ考えられます。
     1つめは、LinuxのX Windowの設定の問題です。英語版のディストリビューションを利用していて、日本語フォントが入っていない。X Windowのロケールがja_JP.ujisなどに設定されていないなどが考えられます。

     2つめはNLS_LANGが正しく設定されていません。Linuxの場合、クライアントのNLS_LANGは(データベースのCHARACTER SETがSJIS,EUCに関らず)、以下の様に設定する必要が有ります。

    % export JAPANESE_JAPAN.JA16EUC

     しかし、imp/expユーティリティ等でコードを一致させないといけない場合は以下のようにします。

    % export American_America.JA16SJIS (SJISの場合)

     3つめは、データベースが日本語で作成されていない為です。対策としては以下の方法が考えられます。





    データベースのCHARACTER SETは何にすれば良いのでしょうか?

     日本語が扱えるコードセットには、JA16SJIS,JA16EUC,UTF8がありますが、サーバーとクライアントのコードが異なる場合コード変換プロセスが入るのでパフォーマンスやアプリケーション構築を考えた場合、コード変換が発生しにくいCHARACTER SETを利用した方がコード変換によるオーバーヘッドや問題が発生しにくくなります。

    JA16SJISが好ましいケース
    JA16EUCが好ましいケース

    UTF8が好ましいケース




    Turbo Linux Server 6.1にインストールしたがデータベース作成で固まってしまいます。

     これは、dbassistが、/usr/bin/freeを要求しているのに対し、Turbo Linux Server 6.1では、freeコマンドが/bin/freeに位置するからです。簡単な回避方法は、rootユーザーで/usr/bin/freeにシンボリックリンクを貼ります。

    % ln -s /bin/free /usr/bin

    もしくは、Turbo Linux社から提供されているPatchを適用します。




    Red Hat Linux 7.0で動作しません。

    現時点でOracle8i R8.1.6はRed Hat Linux 7.0には対応していません。




    dbassistで修正・削除を行うとハングします。

    この不具合(Bug#1295510)は、Oracle8i R8.1.7で修正される予定です。詳細に 関してはサポートまでお問い合わせください。