Application Express :: Inbuilt Log And Audit Tables For 4.1
Sep 5, 2012
When we access the Administrator login then we can view various logs like the sql commands that have been recently fired,user list for a workspace,access to each application.Where are these data stored and fetched.Also could we get the inbuilt audit and log table for APEX 4.1 ?
In our schema we have corresponding audit tables for most of the production tables
Ex Table name Audit Table EMP EMP_AU DEPT DEPT_AU
Audit tables will have all the columns of production table along with audit columns AUDIT_DATE , AUDIT_OPERATION There are few production tables which are not having audit tables.I need to write a script to identify
1) Production tables where corresponding audit table is missing
2) Where there is column difference (In case any column missing in audit table) between Production table and Audit table
We installed the packaged application P-Track in a schema called cpd in Apex version 4.2.0.00.27. When running it, the error below occurs. Essentially it appears that some of the tables are missing as the package does not compile due to tables not being found. We had no trouble running other sample packaged apps. I would really like to look at P-Track. Any problem with installing P-Track?
The following error has occurred while executing the error handling callback:
ORA-04063: package body "CPD.EBA_PROJ_FW" has errors ORA-06508: PL/SQL: could not find program unit being called: "CPD.EBA_PROJ_FW" ORA-04063: package body "CPD.EBA_PROJ_STAT_UI" has errors ORA-06508: PL/SQL: could not find program unit being called: "CPD.EBA_PROJ_STAT_UI"
Technical Info (only visible for developers)
is_internal_error: true apex_error_code: APEX.AUTHORIZATION.UNHANDLED_ERROR ora_sqlcode: -4063 ora_sqlerrm: ORA-04063: package body "CPD.EBA_PROJ_STAT_UI" has errors ORA-06508: PL/SQL: could not find program unit being called: "CPD.EBA_PROJ_STAT_UI" component.type: APEX_APPLICATION_AUTHORIZATION
“AUDIT DELETE ANY TABLE BY <username> BY ACCESS” or “AUDIT UPDATE ANY TABLE<username> BY ACCESS”
enable audit for delete and updates for given username/schema. I want to enable auditing on delete and update on my entire database.
Why? And have we tested it in our any of existing setup? I am thinking of “Trigger after delete” but again this logic gets struck at individual tables. It do not work simply once and all for complete database/all users/all schemas
Pretty new to APEX and was hoping to accomplish with native functionality.
Using the latest APEX, there is nice functionality that creates a wizard for you for a single table. I wanted to have a single wizard but pick a table then have the ability to map my fields for insert/update.
I am using apex 4.0.2.00.07. I have a page with two regions. The first region has only one row and I have no problems accessing it and inserting those values into the table this is what I used to access one column from that one row APEX_APPLICATION.G_F03(1)
The second region is an interactive report, to which I have managed to add a checkbox and a textbox.
1)So if a checkbox has been checked off the row should be inserted 2) if the textbox has been entered it should replaceone of the values.
My question is how to access the second region? I started a loop based on the rows in the collection but that is as far as I got.
FOR idx IN 1..l_collectionTable_name loop end loop
efficient & fast method for Audit trailing tables in a Schema for any insert /update /deletes for a table. I do not want to use db triggers because of performance issues.
presently we have as system which does audit trail as below:
1. If a user changes a column value for a table ( update/insert/delete) then we call a db package and pass the parameters like table name,col name,user, operation (ins/update/delete),old value, new value,date modified,user modified etc
2. the called package will insert a record in the audit trail table with the parameters passed
3. The audit trail table is used for report generation .
There is a section that is called Data Loading in Shared components in every application that says: A Data Load Table is an existing table in your schema that has been selected for use in the data loading process, to upload data. Use Data Load Tables to define tables for use in the Data Loading create page wizard. The question is: How ca i select a table in my schema for use in the data loading process to upload data using the wizard? There is a packaged application that is called Sample Data loading. That sample is use for specific tables right? I tried to change those tables for the ones that I want to use but I could not because I could not add the tables that I want to use....
i never try masking of oracle columns before, and i will want to try masking some columns in oracle database. Just to check if the columns are masked and user using sqlplus or sql developer will not be able to access the columns.
However my application is require to get the values in the back end. Is it possible for my web application to unmask the column values? does my web application requires to call any procedure(create by oracle) in order to unmask the values? I have google and found that oracle can use VPD to mask the columns.Just to check if VPD is a inbuilt procedure by oracle to perform masking? can VPD perform unmasking of values? can it be call by web application?
I want to audit dml on few table for non application users.can I omit only application users from audit so that whenever new user is created we need not to add audit for user.do i have to create audit logon trigger for this which check first the application user names from table and if logged user is not application user auditing will start for it.
AVDF current version 12.1 not support External/SAN storage. my question is, if customer get a huge number of Audit log and DBFW event records, then how max size can Audi Vault server support for online data (not archive data)? and can I use a Hardware server with multiple HDDs for AV Server?
We have integrated Oracle Access Manager 11gR1 with Oracle Apex 4.1. The OAM-Apex integration is working fine. Now we want an additional header variable to be passed from OAM to the Apex application. This new header variable will be user's sAMAccountName in Active Directory. OAM is integrated with AD and the AD users are successfully able to access the Apex applications.
The three header variables which are configure in OAM right now are: Header variable name Value 1. OAM_REMOTE_USER $user.userid 2. OAM_REMOTE_USER_EMAIL $user.attr.mail 3. OAM_REMOTE_USER_GROUPS $user.groups
We need an additional header variable as mentioned below: Header variable name: OAM_SAMACCOUNTNAME Value: $user.attr.samaccountname
The new header variable was added in the OHS server's dads.conf file like shown below: =========== dads.conf ============= ... PlsqlCGIEnvironmentList HTTP_OAM_REMOTE_USER PlsqlCGIEnvironmentList HTTP_OAM_REMOTE_USER_GROUPS PlsqlCGIEnvironmentList HTTP_OAM_REMOTE_USER_EMAIL PlsqlCGIEnvironmentList HTTP_OAM_SAMACCOUNTNAME
But we are not able to read the value of this attribute in the Apex application.On the Apex application, we have a text box which shows the value of this header variable. This textbox is attached with the following stored procedure call to fetch the header variable: =================== begin :P1_HEADER_VALUE := owa_util.get_cgi_env( 'HTTP_OAM_SAMACCOUNTNAME' ); end;
The textbox shows the correct value if HTTP_OAM_REMOTE_USER is passed to the get_cgi_env method but does not shows anything when HTTP_OAM_SAMACCOUNTNAME is passed to the same method. if I am missing some configuration to pass the HTTP_OAM_SAMACCOUNTNAME haeder variable from OAM to Apex.
I have multiple application set-up using session sharing within the workspace.Technically all works fine, however it does not play nice with user behaviour.
Example: Users logs into APP_ID:100. Since he isn't authenticated yet, he provides user/pass and the APP_SESSION is authenticated. Now if the user switches using to another application (using a link provided in application 100) he gets redirect to APP_ID:101:APP_SESSION all is fine.
The session is already authenticated, the application shares the session and the user gains access to app 101 without having to authenticate again. All's fine!
However users don't behave they way. Instead of using an easy link in the application. They will use their own bookmark or type in the url for app 101 manually. That way the next application is either called with f?p=101:1:[SOME OLD SESSIONID FROM BOOMARK] or f?p=101 (with no further page or session info) In both cases instead of using the already authenticated session apex spawns a new session, which of course isn't authenticated yet thus forcing the user to authenticate and come complaining they have to login again.
Similar behaviour problems exists when the user opens a browser and tries to open both applications in each in a tab next to each other.Both tabs fetch there own initial session id and start writing it to the same cookie each in turn invalidating the other tab's session.These can lead to some fanatic ping pong actions. Thus it's impossible to open 2 applications sharing session in the same browser.
Is there any remedy for these situations?Can apex be as smart as for instance first trying to resume the session stored in the cookie and only if that session is invalid, start a new session?
how to use checkbox item, and trying to get checked options values via application global arrays. So, this may be quite simple question, but I'm completely stuck here...
When I was looking through various threads and guides, I've encountered checkbox corresponding array names like "g_f01" - "g_f50". And so far i saw that these names are derived from item name in generated HTML code, for example:
<input type="checkbox" name="*f10*" value="3" />
And this one stands for array name "g_*f10*".However, when I tried to do the same thing - i receive item name which looks like "*p_v04*", and therefore, I can't figure out, which array name should I choose to adress it properly.
APEX 4.0 Sometimes, I am getting the below error when I tried to logging into APEX workspace (after giving workspace name, User name and password), Expecting p_company or wwv_flow_company cookie to contain security group id of application owner.
ErrorERR-7621 Could not determine workspace for application (:) on application accept. I found some threads related to this but in different way not exactly when I am getting this error.
After 2 or 3 times, this error will not come and I can able to logging into workspace What is the cause for this issue??
Each time when I import an application into my workspace in local 10g XE using the APEX 4.2 Application Builder, I get the "ORA-02291, constraint wwv_flows_fk violated..". The application I whant to import was originally exported from [URL]. I found out, that it has to to with wwv_flow_application_install.get_workspace_id in the installation script, which obviously returns NULL and not my current workspace id as I suppose it should. I replaced wwv_flow_application_install.get_workspace_id by '<my worskspace id>' and then the import does work.
I have an application that I'd like to prevent activity in after a certain time of day, say 3pm. Is there any way I can force logout of all current users and then prevent re-login until 9am the next day (short of deleting all of their login credentials and then recreating them the next morning)?
We have developed an application for our clients,planning to deploy it in client server soon. we have plans to support the application in future,so we want to restrict the clients from any modifications. By Doubt is, 'build_status=Run only' alone,cannot protect our application from client developers to edit our application,
Because though we install our application as 'Run Only' at the time of installation in client instance,we can still import the original application and change the type to 'Build and Run Application',and run the new application as 'Build and Run'.(which is not supposed to) we want to make sure,if there is any way we can protect our application from modifications after client side installation.
I'm trying to connect a javascript UI control within my page to an APEX Application Process. The control calls the application process via AJAX and appends a variable number of GET / POST parameters to its URL.What is the best way to obtain these parameters from within the PLSQL procedure of the process? Or is there a better way to connect my javascript AJAX control to the Database behind my APEX app?
I have some applications on Apex public workspace (apex.oracle.com), and suddenly the Tree View, on Application Builder stopped showing any content. If I select "Component View", I see the page components, but if I switch to tree view, it shows me only some empty frames.
I'm trying to set up a PL/SQL dynamic action that is triggered by clicking on a button. The dynamic action sets two values in a table and then I would like to redirect to another page. Setting the values works fine. The code is below:
declarel_information varchar2(255) := :P94_FILENAME;BEGINcommit;UPDATE VDI_METADATASET CREATEUSERLISTNAME = l_information, CREATEUSERLISTON = sysdate();commit;htp.init;owa_util.redirect_url('f?p=&APP_ID.:81:&APP_SESSION.::NO:::');END; The redirect fails with the following eror: "Error: parseerror: JSON.parse: unexpected non-whitespace character after JSON data"
how to redirect to a page from within PL/SQL . None of them result in success.
Unless I'm not understanding this error it means that it can find the ACTION part that is attached to the WHAT part of this Dynamic Action? The Dynamic Action does work when the application is run (in Development)also, there are 3 others that are similar to this one. The export was created by the export utility in the Application Builder.
If I export only the page and import that into Production the import is successful and the page runs correctly. This is error is happening only when I try to import the entire Application.There are many other changes made which is why I was trying to do an Application export/import instead of individual pages.
I have to modify the Form layout of an existing application (Application Express 4.0.2.) where the data for each field is retrieved using SQL statements
Presently the form looks something like this and the Data for each field is rendered properly in this layout:
UNIT # : 123456 ADMISSION #: 2012101510 DISCHARGE DATE: ADMISSION DATE: FIRST NAME: JON LAST NAME: DOEFIRST NAME, LAST NAME and UNIT # are all "Display Only" item type.
What I'm trying to do is to move "FIRST NAME" underneath "LAST NAME" and "UNIT #" next to "LAST NAME" This part is very simple. However, the issue I'm having is as soon as the "UNIT #" is moved next to "FIRST NAME", the data for "FIRST NAME" and "LAST NAME" simply disappear
This is how it looks ADMISSION #: 2012101510 DISCHARGE DATE: ADMISSION DATE: FIRST NAME: UNIT #: 123456 LAST NAME:
I have played around for hours and even created from scratch a new page with a new form using SQL statements to pull the data for each field, only to get the same result.
I have an application item that receives a web service result. This result is like 'MARIA','JOSE','JESUS'. I'm using this string into the parameters of the interactive report, but this is not recognized. I'm showing the content of the application item into a pl sql region and the content is 'MARIA','JOSE','JESUS', when I include this application item into the query, the IR shows me 'MARIA','JOSE','JESUS'
How do I center a button within a region? I tried 'align="center"' but this seemed to be ignored. The button is at the left of the screen. Also, what are the 'display points' (Page Template Region Position 1-8) used for, and why is there a specification for column position of 1-9? Could these be attributes that will allow my button to be centered on the window instead of on the left?