Cognosのロール「システム管理者」に「すべてのユーザー」グループを復元するSQL
※自分でも読んでもいまいちピンとこなかったのでタイトルを少し変更しました。 (2018.8.2)
こんな時に読んでみてください。
・システム管理者に特定のユーザーやグループを追加する前に「すべてのユーザー」グループを削除してしまった。
・各ロールから「すべてのユーザー」グループが削除済みの権限管理が正しくされた環境のContent Storeを、認証のセットアップがないとりあえずな環境にDBバックアップからリストアした時。
=================================================================
Cognos Administrationで権限設定を実施している際に、何かの拍子にシステム管理者グループに属するユーザーが誰もいない設定にしてしまった時に、システム管理者にすべてのユーザーを復旧する方法です。
下記SQLを実行することで、システム管理者グループのすべてのユーザーを追加することができます。
<Cognosインストールディレクトリ>\configuration\schemas\content\db2\AddSysAdminMember.sql
※Content StoreのDBのタイプによって、content配下のパスは変更になります。
※SQL実行前にCognosのサービスを停止し、SQL実行後Cognosのサービスを起動してください。
※SQL実行前にContent Store DBへコネクトしておいてください。
※必要に応じてDBのバックアップを取得してください。
システム管理者が不在になってしまうとCognos Administrationを起動することができなくなり、運用に大きな影響を与えてしまいます。かといってContent Storeをバックアップから戻すわけにもいかないし、といった状況でも慌てず対応していただければと思います。
キャプチャはCognos BI 10.2.2のものですが、Cognos Analytics 11.0.7でも実績を確認しております。
~補足~
Content Store用DBのスキーマを変更している場合は、SQLにスキーマ名を追加することでSQLが実行可能になります。
insert into CMREFORD1 (PROPID, CMID, ORD, REFCMID) select 27, (select cmid from cmobjprops1 where upper(objid)='::SYSTEM ADMINISTRATORS'),coalesce((select max(ord) from CMREFORD1 where cmid=(select cmid from cmobjprops1 where upper(objid)='::SYSTEM ADMINISTRATORS')), -1)+1, CMID from CMOBJPROPS1 where upper(OBJID)='::EVERYONE';
insert into DB2ADMIN.CMREFORD1 (PROPID, CMID, ORD, REFCMID) select 27, (select cmid from DB2ADMIN.cmobjprops1 where upper(objid)='::SYSTEM ADMINISTRATORS'),coalesce((select max(ord) from DB2ADMIN.CMREFORD1 where cmid=(select cmid from DB2ADMIN.cmobjprops1 where upper(objid)='::SYSTEM ADMINISTRATORS')), -1)+1, CMID from DB2ADMIN.CMOBJPROPS1 where upper(OBJID)='::EVERYONE';
Author And Source
この問題について(Cognosのロール「システム管理者」に「すべてのユーザー」グループを復元するSQL), 我々は、より多くの情報をここで見つけました https://qiita.com/hayatoshi/items/5a46dc1361fdb271cba8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .