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

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