How to Use the SYS_CONTEXT Function

One of the many useful scalar functions in Oracle is the SYS_CONTEXT function. This function permits you to obtain data from a "namespace". Oracle provides a USERENV namespace that contains data such as your user name and the database to which you are connected. Oracle also provides a SYS_SESSION_ROLES that can tell you if you have been granted a certain role (a set of privileges).

To learn how to use the SYS_CONTEXT function in Oracle, follow these steps:

  1. You'll need to download and install Oracle 12c. The instructions for the setup can be found in the topic How to use sample schemas. Follow steps 1 through 4 in this topic before proceeding to the next step.
  2. You can display the user name by executing the following SQL select statement:
    Display current user
  3. To learn the database name, enter the following:
    Display database name
  4. The HR schema has been granted the Resource role. We can confirm this fact as shown below:
    Verify Resource role
    The response from the function is TRUE.
Author: Stephen Withrow

Stephen has over 30 years of experience in training, development, and consulting in a variety of technology areas including Python, Java, C, C++, XML, JavaScript, Tomcat, JBoss, Oracle, and DB2. His background includes design and implementation of business solutions on client/server, Web, and enterprise platforms. Stephen has a degree in Computer Science and Physics from Florida State University.

About Webucator

Webucator provides instructor-led training to students throughout the US and Canada. We have trained over 90,000 students from over 16,000 organizations on technologies such as Microsoft ASP.NET, Microsoft Office, Azure, Windows, Java, Adobe, Python, SQL, JavaScript, Angular and much more. Check out our complete course catalog.