uCosminexus Portal Framework システム管理者ガイド
共通情報を設定してポータルの運用を開始したあとで,データの削除オペレーションが発生した場合,該当レコードは削除されないで「削除フラグ」(deleteflg)カラムの値が変更されます。このため,データの削除オペレーションを繰り返すと,不要レコードが蓄積されてしまいます。
ここでは,不要レコードを削除する手順について説明します。なお,この作業はポータルサーバの停止中に行ってください。また,クラスタ構成の場合は全サーバを停止してから行ってください。ポータルサーバの停止方法については,「8.1 ポータルの起動と終了」を参照してください。
- <この項の構成>
- (1) 削除の手順(HiRDBの場合)
- (2) 削除の手順(Oracleの場合)
- (3) 削除の手順(SQL Serverの場合)
(1) 削除の手順(HiRDBの場合)
HiRDBを使用している場合の削除手順を次に示します。
- DBをバックアップします。
削除作業の対象となるHiRDBのRDエリアに対して,バックアップを取得してください。バックアップ対象となるRDエリアは,「3.7.3(1) 作成するテーブル,インデクスおよびRDエリア」で定義した全RDエリアです。
- 削除を実行します。
PDSQLを起動して,テーブル削除実行用SQL(deletedata.sql)を実行します。
deletedata.sqlの格納ディレクトリを次に示します。
なお,「3.7.3(1) 作成するテーブル,インデクスおよびRDエリア」で,テーブル名やカラム名を異なる名称で作成した場合は,deletedata.sql中の該当する名称を変更してから,SQLを実行してください。
- 格納ディレクトリ
- {uCosminexus Portal Frameworkインストールディレクトリ}\samples\config\empowermentdb
deletedata.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;
set pduser={HiRDBユーザ名}/{パスワード} pdsql < deletedata.sql- 削除結果を確認します。
PDSQLを起動して,テーブル削除確認用SQL(deletecheck.sql)を実行します。
deletecheck.sqlの格納ディレクトリを次に示します。
なお,「3.7.3(1) 作成するテーブル,インデクスおよびRDエリア」で,テーブル名やカラム名を異なる名称で作成した場合は,deletecheck.sql中の該当する名称を変更してから,SQLを実行してください。
- 格納ディレクトリ
- {uCosminexus Portal Frameworkインストールディレクトリ}\samples\config\empowermentdb
deletecheck.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;
SQLを実行した結果,1件も該当しなければ,削除は成功しています。
set pduser={HiRDBユーザ名}/{パスワード} pdsql < deletecheck.sql
- ポータルサーバを起動して確認します。
手順1.〜3.の終了後,ポータルサーバを起動して,次の点で問題がないことを確認します。
- ログイン後の画面表示内容が削除作業をする前と同じであること。
- 運用管理ポートレットを使用した場合,削除作業をする前と画面表示内容が同じであること。
(2) 削除の手順(Oracleの場合)
Oracleを使用している場合の削除手順を次に示します。
- DBをバックアップします。
削除作業の対象となるテーブル,表領域に対して,バックアップを取得してください。バックアップ対象は,「3.7.4(1) 作成するテーブル,およびインデクス」で作成したすべてのテーブルとテーブルが格納される表領域です。
- 削除を実行します。
SQL*Plusを起動して,テーブル削除実行用SQL(deletedata2.sql)を実行します。
deletedata2.sqlの格納ディレクトリを次に示します。
格納ディレクトリ
{uCosminexus Portal Frameworkインストールディレクトリ}\samples\config\empowermentdb
なお,「3.7.4(1) 作成するテーブル,およびインデクス」で,テーブル名やカラム名を異なる名称で作成した場合は,deletedata2.sql中の該当する名称を変更してから,SQLを実行してください。
deletedata2.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;
sqlplus {DBユーザ名}/{パスワード}@{DBホスト文字列} < deletedata2.sql- 削除結果を確認します。
SQL*Plusを起動して,テーブル削除確認用SQL(deletecheck2.sql)を実行します。
deletecheck2.sqlの格納先を次に示します。
なお,「3.7.4(1) 作成するテーブル,およびインデクス」で,テーブル名やカラム名を異なる名称で作成した場合は,deletecheck2.sql中の該当する名称を変更してから,SQLを実行してください。
{uCosminexus Portal Frameworkインストールディレクトリ} \samples\config\empowermentdb
deletecheck2.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';
SQLを実行した結果,1件も該当しなければ,削除は成功しています。
sqlplus {DBユーザ名}/{パスワード}@{DBホスト文字列} < deletecheck2.sql
- ポータルサーバを起動して確認します。
手順1.〜3.の終了後,ポータルサーバを起動して,次の点で問題がないことを確認します。
- ログイン後の画面表示内容が削除作業をする前と同じであること。
- 運用管理ポートレットを使用した場合,削除作業をする前と画面表示内容が同じであること。
(3) 削除の手順(SQL Serverの場合)
SQL Serverを使用している場合の削除手順を次に示します。
- DBをバックアップします。
削除作業の対象となるテーブル,表領域に対して,バックアップを取得してください。バックアップ対象は,「3.7.5(1) 作成するテーブル,およびインデクス」で作成したすべてのテーブルとテーブルが格納される表領域です。
- 削除を実行します。
SQLCMDを起動して,テーブル削除実行用SQL(deletedata3.sql)を実行します。
deletedata3.sqlの格納ディレクトリを次に示します。
格納ディレクトリ
{uCosminexus Portal Frameworkインストールディレクトリ}\samples\config\empowermentdb
なお,「3.7.5(1) 作成するテーブル,およびインデクス」で,テーブル名やカラム名を異なる名称で作成した場合は,deletedata3.sql中の該当する名称を変更してから,SQLを実行してください。
deletedata3.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
sqlcmd -U {DBユーザ名} -P {パスワード} -i deletedata3.sql- 削除結果を確認します。
SQLCMDを起動して,テーブル削除確認用SQL(deletecheck3.sql)を実行します。
deletecheck3.sqlの格納先を次に示します。
なお,「3.7.5(1) 作成するテーブル,およびインデクス」で,テーブル名やカラム名を異なる名称で作成した場合は,deletecheck3.sql中の該当する名称を変更してから,SQLを実行してください。
{uCosminexus Portal Frameworkインストールディレクトリ} \samples\config\empowermentdb
deletecheck3.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
SQLを実行した結果,1件も該当しなければ,削除は成功しています。
sqlcmd -U {DBユーザ名} -P {パスワード} -i deletecheck3.sql
- ポータルサーバを起動して確認します。
手順1.〜3.の終了後,ポータルサーバを起動して,次の点で問題がないことを確認します。
- ログイン後の画面表示内容が削除作業をする前と同じであること。
- 運用管理ポートレットを使用した場合,削除作業をする前と画面表示内容が同じであること。
All Rights Reserved. Copyright (C) 2009, 2013, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2009, 2013, Hitachi INS Software, Ltd.