Oracle 10g Release 2 データベースをインストールします。
Oracle データベースを準備します。
portal と名付けられたデータベースインスタンスを作成します。たとえば、SID=portal などです。
Solaris 10 の ORA-27102 メモリー不足エラーを回避するために、次のコマンドを実行します。projadd -U oracle -K "project.max-shm-memory=(priv,4294967295B,deny)" user.oracle
SYSTEM として Oracle Enterprise Manager にログインします。通常のパスは http://hostname:1158/em です。(em は Enterprise Manager の略です)。
またはコマンド行 sqlplus /nolog CONNECT sys/password AS SYSDBA です。
表領域 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; |
次の値を使用し、ユーザーアカウントを作成します。
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; |
新規データベースの Web コンテナを準備します。
次のいずれかの方法を使用し、Oracle JDBC ドライバを探します。ファイルは ojdbc14.jar です。
Oracle がインストールされているマシン上の ojdbc14.jar ファイルを使用する。通常は、$ORACLE_HOME/jdbc/lib/ojdbc14.jar にあります。
Oracle の Web サイトから ojdbc14.jar ファイルをダウンロードする。使用する Oracle RDBMS と互換性のあるバージョンをダウンロードしてください。
JVM クラスパスに JDBC ドライバを追加します。
JVM クラスパスに JDBC ドライバ (ojdbc14.jar) を追加します。
例:
class-path-suffix...//opt/SUNWjavadb/lib/derbyclient.jar: /oracle/ojdbc14.jar...
次の 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 のクラスファイルおよびオプションを削除できます。
「コミュニティーメンバーシップおよび設定」を設定します。
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 |
communitymc 設定ファイルから、次のプロパティーを削除またはコメントアウトします。
vi Portal-Data-Dir /portals/Portal-ID/config/communitymc.properties
#javax.jdo.option.Mapping=derby
次のコマンドを使用し、コミュニティースキーマを Oracle にロードします。
cd /var/opt/SUNWportal/portals/portal1/config
/usr/sfw/bin/ant -f config.xml -D"portal.id=portal1" configure
終了後、次のように入力して 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 |
communitymc JDBC リソースを、Oracle にポイントするよう編集します。
Web コンテナ管理コンソールにログインします。
jdbc/communitymc と名付けられた JDBC リソースを検出します。
データソースクラス名を oracle.jdbc.pool.OracleDataSource に設定します。
次のプロパティーを設定します。
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 接続プールを編集しなければならないことがあります。
Fileshare、Surveys、および Wiki Portlet Application を設定し、インストールします。
ポートレットアプリケーションを検出します。
Portal-Data-Dir /portals/Portal-ID/portletapps/ Portlet_Application
tokens_ora.properties を設定します。
/portals/portal1/portletapps/ に格納されている各アプリケーションは、 tokens.properties ファイルに加え、独自の tokens_ora.properties ファイルを持ちます。実際のデータベース接続を反映するよう、必要となる Oracle データベースアクセスパラメータを tokens_ora.properties ファイルで修正します。
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 接続プールを定義する必要があります。
データソースとして Derby データベースを使用する既存のポートレットを配備解除します。
/opt/SUNWportal/bin/psadmin undeploy-portlet -u uid=amadmin,ou=people,dc=acme,dc=com -f Password-File -p Portal ID -g portlet
新たに設定されたポートレットを配備します。
cd Portal-Data-Dir/portals/Portal-ID/portletapps/ Portlet_Application
/usr/sfw/bin/ant -D"portal.id=portal1" -Dapp.version=ora