Discussions
Categories
- 196.7K All Categories
- 2.2K Data
- 234 Big Data Appliance
- 1.9K Data Science
- 449.8K Databases
- 221.5K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 549 MySQL Community Space
- 477 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3K ORDS, SODA & JSON in the Database
- 532 SQLcl
- 4K SQL Developer Data Modeler
- 186.8K SQL & PL/SQL
- 21.2K SQL Developer
- 295.3K Development
- 17 Developer Projects
- 138 Programming Languages
- 292K Development Tools
- 104 DevOps
- 3.1K QA/Testing
- 645.9K Java
- 27 Java Learning Subscription
- 37K Database Connectivity
- 153 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.1K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 17 Java Essentials
- 157 Java 8 Questions
- 85.9K Java Programming
- 79 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.2K Java SE
- 13.8K Java Security
- 203 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 389 LiveLabs
- 37 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.6K Other Languages
- 2.3K Chinese
- 170 Deutsche Oracle Community
- 1K Español
- 1.9K Japanese
- 230 Portuguese
Database user for subscriptions

Hi,
When running 'select user from dual' on an interactive report we get ANONYMOUS
When subscibing to that report, the same query presents SYS
The user is important in many of our reports, and while we can work around it, it would be nice to know if there is any setting we could do in Apex or the databse to ensure that the email subsription system variable USER returns ANONYMOUS instead of SYS.
Thanks.
Answers
-
Sorry, we're on Apex 18
Oracle database is 12
-
In APEX you should probably be referring to the 'APP_USER' variable to get the name of the user running your application e.g.
select v('APP_USER') from dual; select sys_context('APEX$SESSION','APP_USER') from dual;
This assumes that your users have to authenticate to use the page, otherwise, you use will always be app_user 'nobody' and 'APEX_PUBLIC_USER' if you refer to 'USER'.
I'm not sure why you are seeing the 'ANONYMOUS' user: that's usually associated with XDB. I assume that you're not using the Embedded PL/SQL Gateway to access your application?
-
Hi,
I agree. Unfortunately over a hundred reports have been created before my time using the USER variable.
This ANONYMOUS user is then configured on a custom table to produce a local language. It is what it is...
Unfortunately that logic doesn't work when the interactive reports are subscribed to.
So I was wondering how/where ths SYS value comes from, and whether there is any database or Apex setting that we could change to turn the "USER" variable from SYS into ANONYMOUS (i.e the same behaviour as we get on the application).
Barry
-
You can change USER - it's 'owned' by Oracle.
If you are seeing 'SYS' when you query USER e.g.
select user from dual
then you have a very strange setup.
However, if 'SYS' is a username in your application e.g. you have some form of custom authentication then you'll need to investigate from that side.
-
select user from dual
Equal SYS: This is what is happening on the subscription. I was wondering where that is set.
Equals ANONYMOUS from Apex. I don't know where that is set, but it doesn't matter anyway.
Ideally we would like it to be ANONYMOUS for both. This is what I'm asking, sorry for not being clear.
-
Presumably, you've not installed your application within the SYS schema? That would be very bad.
You cannot change the value returned by USER.
-
if you "select user from dual" in apex as an interactive report, what do you get?
If you subscribe to it , what do you get?