共通情報を設定してポータルの運用を開始したあとで,データの削除オペレーションが発生した場合,該当レコードは削除されないで「削除フラグ」(deleteflg)カラムの値が変更されます。このため,データの削除オペレーションを繰り返すと,不要レコードが蓄積されてしまいます。
ここでは,不要レコードを削除する手順について説明します。なお,この作業はポータルサーバの停止中に行ってください。また,クラスタ構成の場合は全サーバを停止してから行ってください。ポータルサーバの停止方法については,「8.1 ポータルの起動と終了」を参照してください。
(1) 削除の手順(HiRDBの場合)
HiRDBを使用している場合の削除手順を次に示します。
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
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;
set pduser={HiRDBユーザ名}/{パスワード}
pdsql < deletecheck.sql
(2) 削除の手順(Oracleの場合)
Oracleを使用している場合の削除手順を次に示します。
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
{uCosminexus Portal Frameworkインストールディレクトリ}
¥samples¥config¥empowermentdb
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';
sqlplus {DBユーザ名}/{パスワード}@{DBホスト文字列} < deletecheck2.sql
(3) 削除の手順(SQL Serverの場合)
SQL Serverを使用している場合の削除手順を次に示します。
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
{uCosminexus Portal Frameworkインストールディレクトリ}
¥samples¥config¥empowermentdb
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
sqlcmd -U {DBユーザ名} -P {パスワード} -i deletecheck3.sql