8.4.1 共通情報の削除

共通情報を設定してポータルの運用を開始したあとで,データの削除オペレーションが発生した場合,該当レコードは削除されないで「削除フラグ」(deleteflg)カラムの値が変更されます。このため,データの削除オペレーションを繰り返すと,不要レコードが蓄積されてしまいます。

ここでは,不要レコードを削除する手順について説明します。なお,この作業はポータルサーバの停止中に行ってください。また,クラスタ構成の場合は全サーバを停止してから行ってください。ポータルサーバの停止方法については,「8.1 ポータルの起動と終了」を参照してください。

<この項の構成>
(1) 削除の手順(HiRDBの場合)
(2) 削除の手順(Oracleの場合)
(3) 削除の手順(SQL Serverの場合)

(1) 削除の手順(HiRDBの場合)

HiRDBを使用している場合の削除手順を次に示します。

  1. DBをバックアップします。
    削除作業の対象となるHiRDBのRDエリアに対して,バックアップを取得してください。バックアップ対象となるRDエリアは,「3.7.3(1) 作成するテーブル,インデクスおよびRDエリア」で定義した全RDエリアです。
  2. 削除を実行します。
    PDSQLを起動して,テーブル削除実行用SQL(deletedata.sql)を実行します。
    deletedata.sqlの格納ディレクトリを次に示します。
    格納ディレクトリ
    {uCosminexus Portal Frameworkインストールディレクトリ}¥samples¥config¥empowermentdb
    なお,「3.7.3(1) 作成するテーブル,インデクスおよびRDエリア」で,テーブル名やカラム名を異なる名称で作成した場合は,deletedata.sql中の該当する名称を変更してから,SQLを実行してください。
    deletedata.sqlの内容を次に示します。

    LOCK TABLE PORTAL_GROUP IN EXCLUSIVE MODE;
    DELETE FROM PORTAL_GROUP WHERE DELETEFLG = '1';
    COMMIT;
    LOCK TABLE PORTAL_LAYOUT IN EXCLUSIVE MODE;
    DELETE FROM PORTAL_LAYOUT WHERE DELETEFLG = '1';
    COMMIT;
    LOCK TABLE PORTAL_PORTLET IN EXCLUSIVE MODE;
    DELETE FROM PORTAL_PORTLET WHERE DELETEFLG = '1';
    COMMIT;
    LOCK TABLE FILECONTENT IN EXCLUSIVE MODE;
    DELETE FROM FILECONTENT WHERE DELETEFLG = '1';
    COMMIT;
    LOCK TABLE PORTLET_GROUP IN EXCLUSIVE MODE;
    DELETE FROM PORTLET_GROUP WHERE DELETEFLG = '1';
    COMMIT;
    LOCK TABLE PORTLET_ENTRY IN EXCLUSIVE MODE;
    DELETE FROM PORTLET_ENTRY WHERE DELETEFLG = '1';
    COMMIT;
    LOCK TABLE PORTLET_ARRANGE IN EXCLUSIVE MODE;
    DELETE FROM PORTLET_ARRANGE WHERE DELETEFLG = '1';
    COMMIT;

    deletedata.sqlの実行例を次に示します。

    set pduser={HiRDBユーザ名}/{パスワード}
    pdsql < deletedata.sql

  3. 削除結果を確認します。
    PDSQLを起動して,テーブル削除確認用SQL(deletecheck.sql)を実行します。
    deletecheck.sqlの格納ディレクトリを次に示します。
    格納ディレクトリ
    {uCosminexus Portal Frameworkインストールディレクトリ}¥samples¥config¥empowermentdb
    なお,「3.7.3(1) 作成するテーブル,インデクスおよびRDエリア」で,テーブル名やカラム名を異なる名称で作成した場合は,deletecheck.sql中の該当する名称を変更してから,SQLを実行してください。
    deletecheck.sqlの内容を次に示します。

    SELECT PORTALGROUPNAME FROM PORTAL_GROUP WHERE DELETEFLG = '1' WITHOUT LOCK NOWAIT;
    SELECT ENTRYID FROM PORTAL_LAYOUT WHERE DELETEFLG = '1' WITHOUT LOCK NOWAIT;
    SELECT ENTRYID FROM PORTAL_PORTLET WHERE DELETEFLG = '1' WITHOUT LOCK NOWAIT;
    SELECT FILENAME FROM FILECONTENT WHERE DELETEFLG = '1' WITHOUT LOCK NOWAIT;
    SELECT PORTLETGROUPNAME FROM PORTLET_GROUP WHERE DELETEFLG = '1' WITHOUT LOCK NOWAIT;
    SELECT ENTRYID FROM PORTLET_ENTRY WHERE DELETEFLG = '1' WITHOUT LOCK NOWAIT;
    SELECT LAYOUTID FROM PORTLET_ARRANGE WHERE DELETEFLG = '1' WITHOUT LOCK NOWAIT;

    deletecheck.sqlの実行例を次に示します。

    set pduser={HiRDBユーザ名}/{パスワード}
    pdsql < deletecheck.sql

    SQLを実行した結果,1件も該当しなければ,削除は成功しています。
  4. ポータルサーバを起動して確認します。
    手順1.~3.の終了後,ポータルサーバを起動して,次の点で問題がないことを確認します。
    • ログイン後の画面表示内容が削除作業をする前と同じであること。
    • 運用管理ポートレットを使用した場合,削除作業をする前と画面表示内容が同じであること。

(2) 削除の手順(Oracleの場合)

Oracleを使用している場合の削除手順を次に示します。

  1. DBをバックアップします。
    削除作業の対象となるテーブル,表領域に対して,バックアップを取得してください。バックアップ対象は,「3.7.4(1) 作成するテーブル,およびインデクス」で作成したすべてのテーブルとテーブルが格納される表領域です。
  2. 削除を実行します。
    SQL*Plusを起動して,テーブル削除実行用SQL(deletedata2.sql)を実行します。
    deletedata2.sqlの格納ディレクトリを次に示します。
    格納ディレクトリ
    {uCosminexus Portal Frameworkインストールディレクトリ}¥samples¥config¥empowermentdb
    なお,「3.7.4(1) 作成するテーブル,およびインデクス」で,テーブル名やカラム名を異なる名称で作成した場合は,deletedata2.sql中の該当する名称を変更してから,SQLを実行してください。
    deletedata2.sqlの内容を次に示します。

    DELETE FROM PORTAL_GROUP WHERE DELETEFLG = '1';
    COMMIT;
    DELETE FROM PORTAL_LAYOUT WHERE DELETEFLG = '1';
    COMMIT;
    DELETE FROM PORTAL_PORTLET WHERE DELETEFLG = '1';
    COMMIT;
    DELETE FROM FILECONTENT WHERE DELETEFLG = '1';
    COMMIT;
    DELETE FROM PORTLET_GROUP WHERE DELETEFLG = '1';
    COMMIT;
    DELETE FROM PORTLET_ENTRY WHERE DELETEFLG = '1';
    COMMIT;
    DELETE FROM PORTLET_ARRANGE WHERE DELETEFLG = '1';
    COMMIT;

    deletedata2.sqlの実行例を次に示します。

    sqlplus {DBユーザ名}/{パスワード}@{DBホスト文字列} < deletedata2.sql

  3. 削除結果を確認します。
    SQL*Plusを起動して,テーブル削除確認用SQL(deletecheck2.sql)を実行します。
    deletecheck2.sqlの格納先を次に示します。

    {uCosminexus Portal Frameworkインストールディレクトリ}
    ¥samples¥config¥empowermentdb

    なお,「3.7.4(1) 作成するテーブル,およびインデクス」で,テーブル名やカラム名を異なる名称で作成した場合は,deletecheck2.sql中の該当する名称を変更してから,SQLを実行してください。
    deletecheck2.sqlの内容を次に示します。

    SELECT PORTALGROUPNAME FROM PORTAL_GROUP WHERE DELETEFLG = '1';
    SELECT ENTRYID FROM PORTAL_LAYOUT WHERE DELETEFLG = '1';
    SELECT ENTRYID FROM PORTAL_PORTLET WHERE DELETEFLG = '1';
    SELECT FILENAME FROM FILECONTENT WHERE DELETEFLG = '1';
    SELECT PORTLETGROUPNAME FROM PORTLET_GROUP WHERE DELETEFLG = '1';
    SELECT ENTRYID FROM PORTLET_ENTRY WHERE DELETEFLG = '1';
    SELECT LAYOUTID FROM PORTLET_ARRANGE WHERE DELETEFLG = '1';

    deletecheck2.sqlの実行例を次に示します。

    sqlplus {DBユーザ名}/{パスワード}@{DBホスト文字列} < deletecheck2.sql

    SQLを実行した結果,1件も該当しなければ,削除は成功しています。
  4. ポータルサーバを起動して確認します。
    手順1.~3.の終了後,ポータルサーバを起動して,次の点で問題がないことを確認します。
    • ログイン後の画面表示内容が削除作業をする前と同じであること。
    • 運用管理ポートレットを使用した場合,削除作業をする前と画面表示内容が同じであること。

(3) 削除の手順(SQL Serverの場合)

SQL Serverを使用している場合の削除手順を次に示します。

  1. DBをバックアップします。
    削除作業の対象となるテーブル,表領域に対して,バックアップを取得してください。バックアップ対象は,「3.7.5(1) 作成するテーブル,およびインデクス」で作成したすべてのテーブルとテーブルが格納される表領域です。
  2. 削除を実行します。
    SQLCMDを起動して,テーブル削除実行用SQL(deletedata3.sql)を実行します。
    deletedata3.sqlの格納ディレクトリを次に示します。
    格納ディレクトリ
    {uCosminexus Portal Frameworkインストールディレクトリ}¥samples¥config¥empowermentdb
    なお,「3.7.5(1) 作成するテーブル,およびインデクス」で,テーブル名やカラム名を異なる名称で作成した場合は,deletedata3.sql中の該当する名称を変更してから,SQLを実行してください。
    deletedata3.sqlの内容を次に示します。

    USE PORTAL_DATABASE;
    go

    DELETE FROM PORTAL_GROUP WHERE DELETEFLG = '1';
    go
    DELETE FROM PORTAL_LAYOUT WHERE DELETEFLG = '1';
    go
    DELETE FROM PORTAL_PORTLET WHERE DELETEFLG = '1';
    go
    DELETE FROM FILECONTENT WHERE DELETEFLG = '1';
    go
    DELETE FROM PORTLET_GROUP WHERE DELETEFLG = '1';
    go
    DELETE FROM PORTLET_ENTRY WHERE DELETEFLG = '1';
    go
    DELETE FROM PORTLET_ARRANGE WHERE DELETEFLG = '1';
    go

    deletedata3.sqlの実行例を次に示します。

    sqlcmd -U {DBユーザ名} -P {パスワード} -i deletedata3.sql

  3. 削除結果を確認します。
    SQLCMDを起動して,テーブル削除確認用SQL(deletecheck3.sql)を実行します。
    deletecheck3.sqlの格納先を次に示します。

    {uCosminexus Portal Frameworkインストールディレクトリ}
    ¥samples¥config¥empowermentdb

    なお,「3.7.5(1) 作成するテーブル,およびインデクス」で,テーブル名やカラム名を異なる名称で作成した場合は,deletecheck3.sql中の該当する名称を変更してから,SQLを実行してください。
    deletecheck3.sqlの内容を次に示します。

    USE PORTAL_DATABASE;
    go

    SELECT PORTALGROUPNAME FROM PORTAL_GROUP WHERE DELETEFLG = '1';
    SELECT ENTRYID FROM PORTAL_LAYOUT WHERE DELETEFLG = '1';
    SELECT ENTRYID FROM PORTAL_PORTLET WHERE DELETEFLG = '1';
    SELECT FILENAME FROM FILECONTENT WHERE DELETEFLG = '1';
    SELECT PORTLETGROUPNAME FROM PORTLET_GROUP WHERE DELETEFLG = '1';
    SELECT ENTRYID FROM PORTLET_ENTRY WHERE DELETEFLG = '1';
    SELECT LAYOUTID FROM PORTLET_ARRANGE WHERE DELETEFLG = '1';
    go

    deletecheck3.sqlの実行例を次に示します。

    sqlcmd -U {DBユーザ名} -P {パスワード} -i deletecheck3.sql

    SQLを実行した結果,1件も該当しなければ,削除は成功しています。
  4. ポータルサーバを起動して確認します。
    手順1.~3.の終了後,ポータルサーバを起動して,次の点で問題がないことを確認します。
    • ログイン後の画面表示内容が削除作業をする前と同じであること。
    • 運用管理ポートレットを使用した場合,削除作業をする前と画面表示内容が同じであること。