新しいALIASが作成できないように、既存のスキーマに対するCREATEIN特権を、該当するユーザー/グループ、PUBLICからREVOKEします。REVOKE CREATEIN ON SCHEMA schemaname FROM user usenamer/group groupname/PUBLIC (実施にあたっては考慮点[2]参照)
新しいスキーマが自動的には作成されないように、データベースに対するIMPLICIT_SCHEMA権限をPUBLICからREVOKEします。 REVOKE IMPLICIT_SCHEMA ON DATABASE FROM PUBLIC (実施にあたっては考慮点[3]参照)
<補足> ALIASの存在有無は以下のコマンド例で確認可能です。
select char( TABSCHEMA, 16 ) as TABSCHEMA, char( TABNAME, 16 ) as TABNAME, char( DEFINER, 16 ) as DEFINER, TYPE, STATUS, char( TBSPACE, 16 ) as TBSPACE from SYSCAT.TABLES where TYPE = 'A'
[2] REVOKE CREATEIN ON SCHEMA: REVOKEの結果、ALIASだけでなくTABLE / INDEX / ストアード・プロシージャなどオブジェクトの作成が原則不可となります。これらはDBADMで実施する、または、該当しないユーザーで実施するなど、代替策の確立が必要です。
<補足>
スキーマに対するCREATEIN特権の有無は以下のコマンド例で確認可能です。 select char( GRANTEE, 24 ) as GRANTEE, GRANTEETYPE, char(SCHEMANAME, 24 ) as SCHEMANAME, CREATEINAUTH from SYSCAT.SCHEMAAUTH
[3] REVOVE IMPLICIT_SCHEMA ON DAGTABASE: REVOKEの結果、事前のCREATE SCHEMA操作なしにはオブジェクトのCREATEが出来なくなります。CREATE SCHEMAをオブジェクト管理上の新たな作業項目として組み込む必要があります。