Sun Java System Portal Server 7.1 配備計画ガイド

高可用性データベースへのコミュニティーの配備

エンタープライズ級のコミュニティーに高い可用性を与えるには、Portal Server とともにインストールされる Derby データベースを、高可用性を提供する jdbc 接続可能データベースに置換する必要があります。

ProcedureDerby データベースを置換する

  1. データベースを設定します。

    1. RDBMS をインストールするか、システムにすでにインストールされている RDBMS を特定します。

    2. コラボレーションで使用するデータベースインスタンス (または Oracle の場合は表領域) を作成します。

    3. データベースユーザーアカウントを作成します。

    4. ユーザーアカウントに対して適切な権限を確立します。

  2. 新規データベースの Web コンテナを設定します。

    1. JDBC ドライバを検出します。

    2. JDBC ドライバを Web コンテナの JVM クラスパスに追加します。

    3. 次の JVM オプションを追加します。

      -Djdbc.drivers=JDBC_DRIVER_CLASS

  3. 「コミュニティーメンバーシップおよび設定」を設定します。

    1. 次の communitymc データベース設定ファイルを設定します。

      PORTAL-DATA-DIR/portals/PORTAL-ID/config/portal.dbadmin

      パラメータ

      db.driver= vendor-specific-classpath.jdbc.ClientDriver

      db.driver.classpath=/opt/jarfile-directory-pathclient.jar

      community.db.user=database-user-account (手順 1c で作成)

      community.db.password= database-user-account-password (手順 1c で作成)

      community.db.url=jdbc:xxx://xxxxx.pstest.com:port/ database-instance-created-in-step-1b

    2. 次の場所にある、Derby 固有のプロパティーを削除します。

      PORTAL-DATA-DIR/portals/PORTAL-ID/config/communitymc.properties

      次に例を示します。javax.jdo.option.Mapping=derby

    3. 次のコマンドを使用し、データベースにスキーマをロードします。

      cd /var/opt/SUNWportal/portals/portal1/config

      /usr/sfw/bin/ant -f config.xml -D"portal.id=portal1" configure

    4. Web コンテナ設定の JDBC リソースを、新規データベースにポイントするよう編集します。

  4. ポートレットアプリケーションを設定し、インストールします。

    1. ポートレットアプリケーションを検出します。

      PORTAL-DATA-DIR/portals/PORTAL-ID/portletapps

    2. ポートレットアプリケーションで新規データベースを使用するよう設定します。次に例を示します。

      cd /var/opt/SUNWportal/portals/portal1/portletapps/surveys

      tokens_xxx.properties ファイルを編集します。

    3. tokens_xxx.properties ファイルの値を使用し、各アプリケーションに対して JDBC リソースを作成します。

      • Resource JNDI Name: jdbc/DB-JNDI-NAME

      • Resource Type: javax.sql.DataSource

      • Datasource Classname: DB-DATASOURCE

      • User: DB-USER

      • Password: DB-PASSWORD

      • URL: DB-URL

    4. データストアとして Derby データベースを使用する既存のポートレットを配備解除します。

    5. 新たに設定されたポートレットアプリケーションを配備します。

Procedure高可用性データベースを配備する

始める前に

Oracle 10g Release 2 データベースをインストールします。

  1. Oracle データベースを準備します。

    1. portal と名付けられたデータベースインスタンスを作成します。たとえば、SID=portal などです。


      注 –

      Solaris 10 の ORA-27102 メモリー不足エラーを回避するために、次のコマンドを実行します。projadd -U oracle -K "project.max-shm-memory=(priv,4294967295B,deny)" user.oracle


    2. SYSTEM として Oracle Enterprise Manager にログインします。通常のパスは http://hostname:1158/em です。(em は Enterprise Manager の略です)。

      またはコマンド行 sqlplus /nolog CONNECT sys/password AS SYSDBA です。

    3. 表領域 communitymc_portal-ID を作成します。たとえば、communitymc_portal1 などです。

      例:


      SQL> CREATE TABLESPACE COMMUNITYMC_PORTAL1 LOGGING DATAFILE '
      /app/oracle/oradata/portal/communitymc_01.dbf' SIZE 400M REUSE AUTOEXTEND ON NEXT  
      1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;
    4. 次の値を使用し、ユーザーアカウントを作成します。

      Username: portal

      Password: portal

      Default Tablespace: communitymc_Portal—ID

      Assign roles: CONNECT and RESOURCE

      例:


      SQL> create user portal identified by portal;
      
      SQL>alter user portal default tablespace  COMMUNITYMC_PORTAL1;
      
      SQL> grant connect,resource to portal;
  2. 新規データベースの Web コンテナを準備します。

    1. 次のいずれかの方法を使用し、Oracle JDBC ドライバを探します。ファイルは ojdbc14.jar です。

      • Oracle がインストールされているマシン上の ojdbc14.jar ファイルを使用する。通常は、$ORACLE_HOME/jdbc/lib/ojdbc14.jar にあります。

      • Oracle の Web サイトから ojdbc14.jar ファイルをダウンロードする。使用する Oracle RDBMS と互換性のあるバージョンをダウンロードしてください。

    2. JVM クラスパスに JDBC ドライバを追加します。

      JVM クラスパスに JDBC ドライバ (ojdbc14.jar) を追加します。

      例:

      class-path-suffix...//opt/SUNWjavadb/lib/derbyclient.jar: /oracle/ojdbc14.jar...

    3. 次の JVM オプションを追加します。

      -Djdbc.drivers=oracle.jdbc.OracleDriver

      たとえば、Web Server server.xml で

      <jvm-options>-Djdbc.drivers=org.apache.derby.jdbc.ClientDriver</jvm-options>

      <jvm-options>-Djdbc.drivers=oracle.jdbc.OracleDriver</jvm-options>


      注 –

      Derby データベースの jdbc リソースを使用するすべてのポートレットやアプリケーションを、Oracle リソースを使用するよう変換すると、Derby のクラスファイルおよびオプションを削除できます。


  3. 「コミュニティーメンバーシップおよび設定」を設定します。

    1. communitymc データベース設定ファイルを編集します。

      vi Portal-data-dir/portals/ Portal-ID/config/portal.dbadmin

      db.driver=oracle.jdbc.OracleDriver

      db.driver.classpath= JDBC-Driver-Path/ojdbc14.jar url=jdbc:oracle:thin:@Oracle-Host :Oracle-Port:portal

      たとえば、portal.dbadmin


      db.driver=oracle.jdbc.OracleDriver
      db.driver.classpath=/oracle/ojdbc14.jar
      community.db.user=portal
      community.db.password=portal
      community.db.url=jdbc:oracle:thin:@machine1.pstest.com:1521:portal
      portal.id=portal1
    2. communitymc 設定ファイルから、次のプロパティーを削除またはコメントアウトします。

      vi Portal-Data-Dir /portals/Portal-ID/config/communitymc.properties

      #javax.jdo.option.Mapping=derby

    3. 次のコマンドを使用し、コミュニティースキーマを Oracle にロードします。

      cd /var/opt/SUNWportal/portals/portal1/config

      /usr/sfw/bin/ant -f config.xml -D"portal.id=portal1" configure

    4. 終了後、次のように入力して Oracle にテーブルが作成されていることを確認します。


      SQL> connect portal/portal
      Connected.
      SQL> select * from cat;
       
      TABLE_NAME                     TABLE_TYPE
      ------------------------------ -----------
      BIN$I3usV+V+I7HgRAgAIMbswQ==$0 TABLE
      JPOX_TABLES                    TABLE
      COMMUNITY                      TABLE
      COMMUNITY_USER                 TABLE
      COMMUNITY_DP                   TABLE
    5. communitymc JDBC リソースを、Oracle にポイントするよう編集します。

      1. Web コンテナ管理コンソールにログインします。

      2. jdbc/communitymc と名付けられた JDBC リソースを検出します。

      3. データソースクラス名を oracle.jdbc.pool.OracleDataSource に設定します。

      4. 次のプロパティーを設定します。

        • user: portal

        • password: portal

        • url: jdbc:oracle:thin:@Oracle-Host :Oracle-Port:portal


        <jdbc-resource>
            <jndi-name>jdbc/communitymc</jndi-name>
            <datasource-class>oracle.jdbc.pool.OracleDataSource</datasource-class>
            <idle-timeout>30</idle-timeout>
            <wait-timeout>10</wait-timeout>
            <property>
              <name>Password</name>
              <value>portal</value>
            </property>
            <property>
              <name>portNumber</name>
              <value>1521</value>
            </property>
            <property>
              <name>databaseName</name>
              <value>communitymc_portal1</value>
            </property>
            <property>
              <name>User</name>
              <value>portal</value>
            </property>
            <property>
              <name>serverName</name>
              <value>machine1.pstest.com</value>
              <description/>
            </property>
            <property>
              <name>url</name>
              <value>jdbc:oracle:thin:@machine1.pstest.com:1521:portal</value>
              <description/>
            </property>
          </jdbc-resource>

      注 –

      いくつかの Web コンテナでは、JDBCリソースの代わりに JDBC 接続プールを編集しなければならないことがあります。


  4. Fileshare、Surveys、および Wiki Portlet Application を設定し、インストールします。

    1. ポートレットアプリケーションを検出します。

      Portal-Data-Dir /portals/Portal-ID/portletapps/ Portlet_Application

    2. tokens_ora.properties を設定します。

      /portals/portal1/portletapps/ に格納されている各アプリケーションは、 tokens.properties ファイルに加え、独自の tokens_ora.properties ファイルを持ちます。実際のデータベース接続を反映するよう、必要となる Oracle データベースアクセスパラメータを tokens_ora.properties ファイルで修正します。

    3. tokens_ora.properties ファイルの値を使用し、各アプリケーションに対して JDBC リソースを作成します。

      • Resource JNDI Name: jdbc/OracleFilesharingDBこの値は、tokens_ora.properties ファイルの DB-JNDI-NAME 値と一致する必要があります。

      • Resource Type: javax.sql.DataSource

      • Datasource Classname: oracle.jdbc.pool.OracleDataSourceこの値は、tokens_ora.properties ファイルの DB-DATASOURCE 値と一致する必要があります。

      • User: portalfsこの値は、tokens_ora.properties ファイルの DB-USER 値と一致する必要があります。

      • Password: portalfsこの値は、tokens_ora.properties ファイルの DB_PASSWORD 値と一致する必要があります。

      • URL: jdbc:oracle:thin:@oracle.acme.com:1521:portalこの値は、tokens_ora.properties ファイルの DB-URL 値と一致する必要があります。


      注 –

      いくつかの Web コンテナでは、JDBC リソースを設定する前に JDBC 接続プールを定義する必要があります。


    4. データソースとして Derby データベースを使用する既存のポートレットを配備解除します。

      /opt/SUNWportal/bin/psadmin undeploy-portlet -u uid=amadmin,ou=people,dc=acme,dc=com -f Password-File -p Portal ID -g portlet

    5. 新たに設定されたポートレットを配備します。

      cd Portal-Data-Dir/portals/Portal-ID/portletapps/ Portlet_Application

      /usr/sfw/bin/ant -D"portal.id=portal1" -Dapp.version=ora