ページの先頭行へ戻る
Interstage Application Server ディレクトリサービス運用ガイド

3.2.4 データベースの作成

  データベースの作成手順を示します。データベースの作成は、SQL文を使用して作成、またはGUIツールのDBCA(Database Configuration Assistant)を使用して作業を進めてください。

  1. データベースの設計

      データベースの設計には、表の設計、属性の設計、および格納構造の設計があります。表、属性、および格納構造は、リポジトリに対して適切なものに設計されており、後述のリポジトリデータ格納用テーブル作成コマンドで、定義・設定します。
      表の設計、および属性の設計では、以下の条件に該当する場合はテーブルの詳細設定を行う必要があります。“3.1.4.7 テーブルの詳細設定”を参照し、詳細定義ファイルを事前に作成してください。作成した詳細定義ファイルは、テーブルの作成時に指定します。

    • 表領域(TABLESPACE)を複数使用する場合

    • 属性値の最大長を変更する場合
      (文字列型属性の最大長の初期値は942バイト、バイナリ型属性の最大長の初期値は32Kバイト)

    • 1エントリの属性数(objectClass属性を含む)の平均が20個を超える場合

    • 1エントリあたりのバイナリ型属性の合計サイズが2Kバイトを超える場合

    • リポジトリに登録する文字列型属性の平均サイズが200バイトを超える場合

    1エントリあたりのバイナリ型属性の合計サイズが2Kバイトを超える場合

    # 1つ目のエントリ
    dn: cn=User001,ou=User,ou=interstage,o=fujitsu,dc=com
    objectclass: top
    objectclass: person
    objectclass: organizationalPerson
    objectclass: inetOrgPerson
    cn: User001
    sn: Fujitsu
    jpegPhoto:< file:///C:\data\photo1.jpg                  <- 2.5Kバイトのバイナリ
    jpegPhoto:< file:///C:\data\photo2.jpg                  <- 2.0Kバイトのバイナリ
    
    # 2つ目のエントリ
    dn: cn=User002,ou=User,ou=interstage,o=fujitsu,dc=com
    objectclass: top
    objectclass: person
    objectclass: organizationalPerson
    cn: User002
    sn: Fujitsu

    # 1つ目のエントリ
    dn: cn=User001,ou=User,ou=interstage,o=fujitsu,dc=com
    objectclass: top
    objectclass: person
    objectclass: organizationalPerson
    objectclass: inetOrgPerson
    cn: User001
    sn: Fujitsu
    jpegPhoto:< file:///data/photo1.jpg                     <- 2.5Kバイトのバイナリ
    jpegPhoto:< file:///data/photo2.jpg                     <- 2.0Kバイトのバイナリ
    
    # 2つ目のエントリ
    dn: cn=User002,ou=User,ou=interstage,o=fujitsu,dc=com
    objectclass: top
    objectclass: person
    objectclass: organizationalPerson
    cn: User002
    sn: Fujitsu

        (a) 1つ目のエントリのバイナリ型属性の合計サイズ = 2.5K + 2.0K
                                                                      = 4.5Kバイト
        (b) 2つ目のエントリのバイナリ型属性の合計サイズ = 0バイト
        (c) エントリ数 = 2
        ( (a) + (b) ) / (c) = 2.25Kバイト

      上記の例の場合、1エントリあたりのバイナリ型属性の合計サイズが2Kバイトを超えるため、テーブルの詳細設定が必要になります。

    リポジトリに登録する文字列型属性の平均サイズが200バイトを超える場合

    # 1つ目のエントリ
    dn: cn=User001,ou=User,ou=interstage,o=fujitsu,dc=com   <- 49バイト
    objectclass: top                                        <- 3バイト
    objectclass: person                                     <- 6バイト
    objectclass: organizationalPerson                       <- 20バイト
    cn: User001                                             <- 7バイト
    sn: Fujitsu                                             <- 7バイト
    description:< file:///C:\data\sentence1.txt             <- 1,500バイトのテキスト
    
    # 2つ目のエントリ
    dn: cn=User002,ou=User,ou=interstage,o=fujitsu,dc=com   <- 49バイト
    objectclass: top                                        <- 3バイト
    objectclass: person                                     <- 6バイト
    objectclass: organizationalPerson                       <- 20バイト
    cn: User002                                             <- 7バイト
    sn: Fujitsu                                             <- 7バイト
    description:< file:///C:\data\sentence2.txt             <- 1,200バイトのテキスト

    # 1つ目のエントリ
    dn: cn=User001,ou=User,ou=interstage,o=fujitsu,dc=com   <- 49バイト
    objectclass: top                                        <- 3バイト
    objectclass: person                                     <- 6バイト
    objectclass: organizationalPerson                       <- 20バイト
    cn: User001                                             <- 7バイト
    sn: Fujitsu                                             <- 7バイト
    description:< file:///data/sentence1.txt                <- 1,500バイトのテキスト
    
    # 2つ目のエントリ
    dn: cn=User002,ou=User,ou=interstage,o=fujitsu,dc=com   <- 49バイト
    objectclass: top                                        <- 3バイト
    objectclass: person                                     <- 6バイト
    objectclass: organizationalPerson                       <- 20バイト
    cn: User002                                             <- 7バイト
    sn: Fujitsu                                             <- 7バイト
    description:< file:///data/sentence2.txt                <- 1,200バイトのテキスト

        (a) 1つ目のエントリの文字列型属性の合計サイズ
               = 49 + 3 + 6 + 20 + 7 + 7 + 1,500
               = 1,592バイト
        (b) 2つ目のエントリの文字列型属性の合計サイズ
               = 49 + 3 + 6 + 20 + 7 + 7 + 1,200
               = 1,292バイト
        (c) 1つ目のエントリの文字列型属性の合計数 = 7
        (d) 2つ目のエントリの文字列型属性の合計数 = 7
        ( (a) + (b) ) / ( (c) + (d) ) = 206バイト

      上記の例の場合、リポジトリに登録する文字列型属性の平均サイズが200バイトを超えるため、テーブルの詳細設定が必要になります。

      格納構造の設計では、格納構造に応じた表領域量を見積もる必要があります。この表領域量は、リポジトリに格納するデータ量によって違いますので、“E.1.1 表領域(TABLESPACE)の見積もり”を参照して、見積もってください。

  2. Oracleデータベースを運用するマシンにログイン

      Oracleソフトウェア所有者(oracleユーザ)でログインします。


      ログインは、Oracleデータベースを運用するマシンのコンソール、またはコンソールセッションに接続したリモートデスクトップから行ってください。

  3. 通信の設定(Oracleデータベース側)

      Interstage ディレクトリサービスからOracleデータベースに接続できるようにするためには、Oracleデータベースを運用するマシンで、リスナー情報を設定する必要があります。
      リスナー情報の設定には、Oracle Net Configuration Assistant、またはOracle Net Managerを使用します。
      設定方法の詳細は、Oracleデータベースのマニュアルを参照してください。

      リスナー情報を設定したら、リスナーを起動してください。

  4. データベースの作成

      データベースを作成する方法として、SQL文を使用して作成する方法と、DBCA(Database Configuration Assistant)を使用して作成する方法があります。
      DBCAを使用してデータベースを作成する場合は、以下の項目を設定してください。

    • データベースを作成するためのテンプレート (*)

    • グローバル・データベース名 (*)

    • SID (*)

    • データベース管理方法 (*)

    • データベースのユーザアカウントのパスワード (*)

    • データベースに使用する記憶域メカニズム(ファイルシステム/ローデバイス等) (*)

    • データベース・ファイル作成場所
        “すべてのデータベース・ファイルに対して共通の位置を使用”を選択。
        ただし、作成場所は任意 (*)

    • データベースのリカバリ・オプション (*) (**)

    • サンプル・スキーマ/スクリプトのインストールの有無 (*)

    • 初期化パラメータ (*)
        「PROCESSES」、または「SESSIONS」、および「TRANSACTIONS」を設定する場合は、以下の式から算出した、Interstage ディレクトリサービスの使用時に必要となるコネクション数を考慮して設定してください。
        (リポジトリからRDBへの最大コネクション数 + 1) × リポジトリ数

    • データベースを構成する制御ファイル、データファイル、REDOログファイルの格納場所 (*)

    (*)・・・Interstage ディレクトリサービスの運用に関しては設定値を特定しません。使用する環境に応じて適切な値を設定してください。
    (**)・・・Oracle9iには設定項目がありません。

      DBCAの使用方法、および設定内容の詳細と、SQL文を使用したデータベースの作成方法は、Oracleデータベースのマニュアルを参照してください。
      リポジトリからRDBへの最大コネクション数は、リポジトリの作成時に合わせて設定します。詳細は、“リポジトリの作成”の“5.1.3 Oracleデータベースを使用する場合”を参照してください。

  5. リポジトリ用データベース接続ユーザの登録

      Interstage ディレクトリサービスがOracleデータベースにアクセスする利用者を、リポジトリ用データベース接続ユーザといいます。
      リポジトリ用データベースへのリポジトリ用データベース接続ユーザの登録には、SQL文を使用する方法と、Oracle Enterprise Managerを使用する方法があります。

      リポジトリ用データベース接続ユーザ名(スキーマ名)に使える文字は、先頭が英字で始まる半角英大文字、半角数字、「_」(アンダーライン)です。30文字以内で指定してください。
      リポジトリ用データベース接続ユーザには、以下のシステム権限を付与してください。セキュリティ強化のため、ADMIN OPTIONを付けないことを推奨します。リポジトリ用ロールを作成して、そのロールを付与することもできます。

    • CREATE SESSION

    • CREATE PROCEDURE

    • CREATE SEQUENCE

    • CREATE TABLE

    • UNLIMITED TABLESPACE (ロールに付与することはできません。ユーザに付与します。)

      コマンド、またはSQL*Plusなどのツールを使用して、以下のようなSQL文を実行します。

    ユーザ名を「DSADMIN」、パスワードを「DSPASSWD」、ロール名を「DSROLE」とする場合(Oracle 10gの場合)

    CREATE USER DSADMIN PROFILE DEFAULT IDENTIFIED BY DSPASSWD ACCOUNT UNLOCK;
    CREATE ROLE DSROLE;
    GRANT CREATE SESSION,CREATE SEQUENCE,CREATE PROCEDURE,CREATE TRIGGER,CREATE TABLE TO DSROLE;
    GRANT DSROLE,UNLIMITED TABLESPACE TO DSADMIN;

      ユーザの登録方法の詳細は、Oracleデータベースのマニュアルを参照してください。

  6. 表領域(TABLESPACE)の作成

      リポジトリのデータを格納するための表領域(TABLESPACE)を作成します。
      表領域は、リポジトリ用データベース接続ユーザの登録と同様に、SQL文、またはOracle Enterprise Managerを使用して作成します。
      なお、リポジトリデータ格納用テーブルの作成時に詳細設定を行わない場合は、表領域を作成する際の表領域名には「DSDBSPACE」を指定してください。

      コマンド、またはSQL*Plusなどのツールを使用して、以下のようなSQL文を実行します。


    「C:\ORADB」に表領域「DSDBSPACE」を定義する場合(Oracle 10gの場合)

    CREATE SMALLFILE TABLESPACE DSDBSPACE DATAFILE 'C:\ORADB\DSDBSPACE' SIZE 100M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;


    「/home/oracle/ORADB」に表領域「DSDBSPACE」を定義する場合(Oracle 10gの場合)

    CREATE SMALLFILE TABLESPACE DSDBSPACE DATAFILE '/home/oracle/ORADB/DSDBSPACE' SIZE 100M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

      異常時に備えて、バックアップ・リストアできるように、表領域名(「DSDBSPACE」)を、ノートなどに記録して保存してください。

      表領域の作成方法の詳細は、Oracleデータベースのマニュアルを参照してください。

  7. 通信の設定(Interstage ディレクトリサービス側)

      Interstage ディレクトリサービスからOracleデータベースに接続できるようにするためには、Interstage ディレクトリサービスを運用するマシンで、ネットサービスの設定を行う必要があります。
      ネットサービスの設定には、Oracle Net Configuration Assistant、またはOracle Net Managerを使用します。ネットサービス名に使える文字は、半角英数字、「$」(ドル記号)、「#」(シャープ)、「_」(アンダーライン)です。128文字以内で指定してください。

      設定方法の詳細は、Oracleデータベースのマニュアルを参照してください。

    • Interstage ディレクトリサービスとOracleデータベースを別々のマシンで運用する場合は、事前にOracle Netソフトウェアを含むOracleクライアント・ソフトウェアをインストールしておく必要があります。なお、Interstage ディレクトリサービスでは、「Instant Client」は使用できません。

    • TNSファイル(tnsnames.ora)の格納場所をTNS_ADMIN環境変数などに指定し、Oracleホーム・ディレクトリ配下以外に格納した場合、Oracleデータベースに正しく接続できません。TNSファイルは、必ずOracleホーム・ディレクトリ配下に格納するように設定してください。


    • Windows Server(R) x64 Editions (32ビット互換)で、Interstageディレクトリサービスを使用する場合、Interstageディレクトリサービスを運用するマシンには、32-bit(x86) Oracle Database Clientをインストールしてください。


    • Windows Server(R) x64 Editions (32ビット互換)で、Interstageディレクトリサービスを使用する場合、TNSファイルは、32-bit(x86) Oracle Database ClientのOracleホーム・ディレクトリ配下に格納するように設定してください。

      

  8. リポジトリデータ格納用テーブル作成コマンドの実行環境作成

      Oracleソフトウェア所有者(oracleユーザ)でテーブル作成コマンドを実行する場合は、テーブル作成コマンドの実行環境を作成する必要があります。システム管理者でテーブル作成コマンドを実行する場合は、本手順は不要ですので、次の手順10へ進んでください。

      Interstage ディレクトリサービスを運用するマシンの、以下のディレクトリにテーブル作成コマンドの環境を圧縮したファイルがありますので、そのコマンド実行環境の圧縮ファイルを任意の場所に展開、またはコピーします。

    Interstageディレクトリサービスを
    運用するマシン

    コマンド実行環境の圧縮ファイルの位置

    Windows(R)

    C:\Interstage\IREP\bin\RDB\archive\DBCRT_Win.exe

    Solaris

    /opt/FJSVirep/bin/RDB/archive/DBCRT_Sol.tar.gz

    RHEL-AS4(x86)/(EM64T)

    /opt/FJSVirep/bin/RDB/archive/DBCRT_RHEL4.tar.gz

    RHEL-AS4(IPF)

    /opt/FJSVirep/bin/RDB/archive/DBCRT_RHEL4_IPF.tar.gz

    RHEL5(x86)/(Intel64)

    /opt/FJSVirep/bin/RDB/archive/DBCRT_RHEL5.tar.gz

    RHEL5(IPF)

    /opt/FJSVirep/bin/RDB/archive/DBCRT_RHEL5_IPF.tar.gz

      RHEL-AS4(x86)は、Red Hat Enterprise Linux AS (v.4 for x86) の略称です。
      RHEL-AS4(EM64T)は、Red Hat Enterprise Linux AS (v.4 for EM64T) の略称です。
      RHEL5(x86)は、Red Hat Enterprise Linux 5 (for x86)の略称です。
      RHEL5(Intel64)は、Red Hat Enterprise Linux 5 (for Intel64)の略称です。
      RHEL-AS4(IPF)は、Red Hat Enterprise Linux AS (v.4 for Itanium)の略称です。
      RHEL5(IPF)は、Red Hat Enterprise Linux 5 (for Intel Itanium)の略称です。

      コマンド実行環境のコピーは、以下の手順でします。

    1. コマンド実行環境の圧縮ファイルをコピーします。

      システム管理者に依頼し、使用するプラットフォームのコマンド実行環境の圧縮ファイルを任意の場所に展開、またはコピーします。

    2. コピーしたコマンド実行環境の圧縮ファイルを展開します。

      システム管理者がコピーしたコマンド実行環境の圧縮ファイルを展開します。

    3. 展開後のディレクトリの所有者を変更します。

      テーブル作成コマンドを実行するユーザがコマンドを実行できるように、展開後のディレクトリの所有者を変更します。

      テーブル作成コマンドを実行するユーザアカウントのIDを「oracle」、ユーザアカウントのグループを「oinstall」、ディレクトリ名を「DBCRT」とするとき

      chown -R oracle:oinstall DBCRT

        

    4. コピーしたコマンド実行環境の圧縮ファイルを削除してください。

      コマンド実行環境の圧縮ファイルをコピーした場合は、コピーしたコマンド実行環境の圧縮ファイルは必ず削除してください。

  9. テーブルを作成するユーザでInterstage ディレクトリサービスを運用するマシンにログイン

    Oracleソフトウェア所有者(oracleユーザ)でテーブルを作成する場合は、Interstage ディレクトリサービスを運用するマシンに、Oracleソフトウェア所有者(oracleユーザ)でログインします。


      ログインは、マシンのコンソール、またはコンソールセッションに接続したリモートデスクトップから行ってください。

  10. リポジトリデータ格納用テーブルの作成

      テーブル作成コマンド「irepgendb」を実行してテーブルを作成します。


      テーブル作成コマンドを、Solarisのマシン上で実行する場合は、Solarisの以下のパッチが適用されていることを確認してください。

    • Solaris 9の場合
      114224-05

    • Solaris 10の場合
      118367-04


      テーブル作成コマンドを実行するには、環境変数「ORACLE_HOME」を設定する必要があります。「ORACLE_HOME」には、Oracleデータベースのインストール時に設定した、Oracleホームのディレクトリを指定してください。

      コマンドの実行方法を説明します。

    1. コマンドが格納されているディレクトリへ移動します。

        Oracleソフトウェア所有者(oracleユーザ)で、テーブルを作成する場合は、コマンド実行環境のコピーの手順8のbでコマンドの実行環境を展開したディレクトリへ移動します。

        システム管理者でテーブルを作成する場合は、以下のディレクトリへ移動します。

      C:\Interstage\IREP\bin\RDB

      /opt/FJSVirep/bin/RDB

        

    2. コマンドの実行結果出力先ファイルの削除

        コマンド実行結果は、以下のファイルに出力されます。

      • Oracleソフトウェア所有者(oracleユーザ)でテーブルを作成する場合

        コマンドの実行環境を展開したディレクトリ\log\ds_gen.log

        コマンドの実行環境を展開したディレクトリ/log/ds_gen.log

          

      • システム管理者でテーブルを作成する場合

        C:\Interstage\IREP\bin\RDB\log\ds_gen.log

        /opt/FJSVirep/bin/RDB/log/ds_gen.log

          

        コマンドの実行結果出力先ファイルには、コマンドを実行するユーザアカウントの書き込み権が必要です。以前に、他のユーザアカウントでテーブル作成コマンドを実行したことがあると、実行結果出力先ファイルのアクセス権に、コマンドを実行するユーザアカウントの書き込み権がなくなっていますので、実行結果出力先ファイルを削除してください。このファイルが必要なら、システム管理者権限でファイル名を変更するなどして、退避してください。

    3. irepgendbを実行します。

      irepgendb

        
        テーブル作成コマンドの詳細は、リファレンスマニュアル(コマンド編)の“Interstage ディレクトリサービス運用コマンド”を参照してください。

        

    4. ターミナルサービスを使用してコマンドを実行している場合、以下のメッセージが出力される場合があります。

        マシンのコンソール、またはコンソールセッションに接続したリモートデスクトップからコマンドを実行している場合は、「y <RETURN>」を入力して続行してください。
        異なる環境から実行している場合は、「n <RETURN>」を入力してコマンドの実行を中止し、マシンのコンソール、またはコンソールセッションに接続したリモートデスクトップからログインしなおして、再度コマンドを実行してください。

      ターミナルサービスでコマンドを実行している場合は注意が必要です。
      コンソールまたはコンソールセッションに接続したリモートデスクトップからログインしていることを確認してください。
      続行しますか?[y,n]: y or n <RETURN>

        

    5. 使用するデータベースを選択します。

        リポジトリで使用するデータベースの種類を選択します。「2」を指定してください。

      使用するデータベースを選択してください [1:Symfoware, 2:Oracle] : 2 <RETURN>

        

    6. データベースのネットサービス名の入力を促すメッセージが表示されます。

        Oracleデータベースへ接続する際の「ネットサービス名<RETURN>」を入力してください。必ず入力してください。
        ネットサービス名に使える文字は、半角英数字、「$」(ドル記号)、「#」(シャープ)、「_」(アンダーライン)です。128文字以内で指定してください。

      ネットサービス名を入力してください : DSDB <RETURN>

        

    7. データベースへの接続に使用するスキーマ名の入力を促すメッセージが表示されます。

        Oracleデータベースに登録した「リポジトリ用データベース接続ユーザ(スキーマ)<RETURN>」を入力してください。
        スキーマ名に使える文字は、半角英大文字、半角数字、「_」(アンダーライン)です。30文字以内で指定してください。

      スキーマ名を入力してください : DSADMIN <RETURN>

        

    8. データベースへの接続に使用するスキーマのパスワードの入力を促すメッセージが表示されます。

        Oracleデータベースに登録した「リポジトリ用データベース接続ユーザ(スキーマ)のパスワード<RETURN>」を入力してください。
        入力したパスワードは画面上にエコーバックされません。30文字以内で指定してください。

      スキーマのパスワードを入力してください : <RETURN>

        

    9. テーブルの詳細設定を行うかを指定します。

        テーブルの詳細設定を行う場合は、「y」を、行わない場合は「n」を指定してください。
        テーブルの詳細設定、および詳細定義ファイルの詳細は、“3.1.4.7 テーブルの詳細設定”を参照してください。

      テーブルの詳細設定を行いますか?[y,n] : y or n <RETURN>

        

      • 「y」(テーブルの詳細設定を行う)を指定した場合

          テーブルの各資源のサイズを個々に設定する詳細定義ファイルを指定します。

        リポジトリデータ格納用テーブルの定義ファイルを指定してください : ファイル名 <RETURN>

          

      • 「n」(テーブルの詳細設定を行わない)を指定した場合

          リポジトリに登録する最大エントリ数を、10,000,000(1千万)件以内で指定します。
          指定したエントリ数の格納に必要なディスクスペースが確保されていることを確認してください。必要なサイズの見積もりは、“付録E Oracleデータベースの資源の見積もり”を参照してください。

        リポジトリデータ格納用テーブルに登録する最大エントリ数を入力してください : 100000 <RETURN>

          

    10. テーブルの作成情報が表示されます。

        表示された内容で作成する場合は、「y <RETURN>」を、入力内容を変更する場合は、「n <RETURN>」を、処理を中止する場合は、「q <RETURN>」をそれぞれ入力してください。

      リポジトリデータ格納用テーブルの作成情報
              使用するデータベース    :Oracle
              ネットサービス名        :DSDB
              スキーマ名              :DSADMIN
              登録する最大エントリ数  :100000
              テーブルの詳細設定      :しない
           ==========================  警告  ==========================
           = リポジトリデータ格納用テーブル作成には時間がかかります。 =
           = 作成が完了するまで、コマンドを強制停止しないでください。 =
           = 強制停止を行うとテーブル作成が不完全な状態となります。   =
           ============================================================
      テーブルの作成を開始しますか? [y, n, q]:y or n or q <RETURN>

        

      コマンドの実行結果が、手順10のbで示したファイルに出力されます。実行結果は、英語で出力されます。
      実行に失敗した場合は、Oracleデータベースのマニュアルを参照して、エラー要因を取り除いてください。エラーに対処したあと、データベースの作成からやり直してください。

  11. データベースのデータバックアップ

      異常時に備えて、データベースのデータをバックアップしてください。詳細は、“運用ガイド(基本編)”の“メンテナンス(資源のバックアップ)”-“資源のバックアップとリストア”を参照してください。

  テーブル作成コマンドの実行環境を展開した場合、データベース作成後にディレクトリを削除してください。

3.2.4.1 テーブルの詳細設定

  リポジトリデータ格納用テーブルの詳細設定の方法については、データベースにSymfoware/RDBを使用する場合と同じです。“Symfoware/RDBを使用する場合”-“3.1.4.7 テーブルの詳細設定”を参照してください。

3.2.4.2 データベースの削除

  テーブルの作成中にエラーが発生した場合や、表領域(TABLESPACE)などを変更する場合はOracleデータベースの機能でデータベースを削除してください。以下に削除方法の例を説明します。データベースの削除の詳細は、Oracleデータベースのマニュアルを参照してください。