I would like to know how I can give access to users on SQL different from their access on FORMS and REPORTS?
Both SQL*Plus and the Oracle Developer products can make use of the DBMS_APPLICATION_INFO package to register the type of application. This can then be viewed in V$SESSION. SQL*Plus does this automatically for you. For FORMS and REPORTS, you can make the call to DBMS_APPLICATION_INFO directly.
You can change the user's access by enabling an AFTER LOGON trigger (available in 8i+). Have the trigger read V$SESSION to see which application was used. The trigger will then enable certain roles for the user depending on which application they used. The grants to these roles, along with the trigger will let you control access to different parts of the database for the same user with different applications.
For More Information
- Dozens more answers to tough Oracle questions from Brian Peasland are available here.
- The Best Oracle Web Links: tips, tutorials, scripts, and more.
- Have an Oracle or SQL tip to offer your fellow DBAs and developers? The best tips submitted will receive a cool prize. Submit your tip today!
- Ask your technical Oracle and SQL questions -- or help out your peers by answering them -- in our live discussion forums.
- Ask the Experts yourself: Our SQL, database design, Oracle, SQL Server, DB2, metadata, object-oriented and data warehousing gurus are waiting to answer your toughest questions.
Dig Deeper on Oracle database design and architecture
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.