6 Replies Latest reply on Aug 8, 2018 4:24 PM by Sarika S

    Read Only R12 instance

    Sarika S

      Hi,

       

      I want to convert my EBS instance to READ ONLY. Any pointers to how this can be achieved. I came across note "How To Make All The Responsibilities Read Only For A User? (Doc ID 363298.1)" but this is for one user only.

       

      Thanks

      Sarika

        • 1. Re: Read Only R12 instance
          Maynard with Xenemm

          You can try that code, but take out the second line with the if condition for the username. That way the code always runs for everyone.

          • 2. Re: Read Only R12 instance
            John_K

            This will only work for Oracle Forms based screens. Increasingly OAF pages are used, and thus will not be affected by changes to the custom library. Plus what about concurrent requests etc - they often update data.

             

            You can't really make a true "read-only" instance because to do so reliably would require you make the tablespaces read-only at the database level. And you can't do that because EBS writes a lot of audit data (such as user logins, when a user access a form etc). You wouldn't be able to get a valid session in a read-only instance.

             

            So whilst the above will deal with the forms side of things, it's probably only going to solve half your problem.

            • 3. Re: Read Only R12 instance
              mdtaylor

              Last time I needed to make a read only EBS, I wrote dynamic DDL to create triggers on EBS tables:

               

              select 'CREATE OR REPLACE TRIGGER XXRO_'||substr(replace(replace(replace(replace(replace(replace(table_name,'ORGANIZATION','ORG'),'OPERATION','OPER'),'MATERIAL','MTL'),'TRANSACTIONS','TXN'),'DOCUMENT','DOC'),'QUANTITIES','QTY'),1,20)||'_UPD AFTER INSERT OR UPDATE OR DELETE ON '||owner||'.'||table_name||' FOR EACH ROW

              DECLARE

                lnID number := 1;

              BEGIN

               

              SELECT FND_GLOBAL.user_id

              INTO lnID

              FROM Dual;

               

              If lnID = 0 then

              NULL;

              ELSE

              RAISE_APPLICATION_ERROR(-20101,''YOU ARE NOT ALLOWED TO MODIFY THE TABLE'');

              END IF;

              END;

              /' trigger_name from dba_tables where num_rows > 10

              and owner in (

              select oracle_username from fnd_oracle_userid)

              and table_name not in ('ICX_SESSIONS') and table_name not like 'MLOG%' and owner <> 'APPLSYS' and owner <> 'APPS'

              and table_name not like 'DR%' and owner in ('GL')

              order by 1;

              • 4. Re: Read Only R12 instance
                Sarika S

                Hi Maynard,

                 

                I tried doing that but the forms does not launch after the change and are in a hung state.

                 

                Thnaks

                Sarika

                • 5. Re: Read Only R12 instance
                  Sarika S

                  Thanks for your input.

                  • 6. Re: Read Only R12 instance
                    Sarika S

                    Thank you. This is helpful.