Reputation
13,340
Top tag
Next privilege 15,000 Rep.
Protect questions
Badges
1 23 37
Newest
 Enlightened
Impact
~687k people reached

Sep
10
answered Oracle regular expression regexp_like
Sep
5
comment Arabic characters not displaying in oracle database
Your alter database command doesn't seem to be changing the database character set, just the national character set. Did you re-run the import after changing the database character set (assuming you did, in fact, change the database character set)? And are you stating that new transactions have been executed against the database after the import but before the character set was changed?
Sep
5
answered When are Archived Redo Logs generated?
Sep
1
awarded  sql
Aug
31
answered Selecting just one table from Oracle view
Aug
30
answered INDEX on a table where I'm only filtering on a row_number()
Aug
29
awarded  oracle
Aug
29
awarded  Nice Answer
Aug
28
comment Find who will change a record in oracle DB
@Kiranshell - Likely but not guaranteed depending on how quickly your system happens to purge statements from the shared pool. There is also no guarantee that you will be able to determine who executed a particular query that you find in v$sql. You can determine the original parsing user but many other users might have executed the statement since it was parsed.
Aug
28
comment Find who will change a record in oracle DB
@Kiranshell - sql_fulltext is the full text of the SQL statement. You probably can't get the bind variable values. If Oracle happened to capture the bind variable values for a particular execution, that would be in v$sql_bind_capture (which you join to from v$sql using the sql_id column). The vast majority of the time, though, bind variable values will never be captured. Some fraction of the bind variable values that are captured will be stored in DBA_HIST_SQLBIND for however long AWR retains data.
Aug
28
comment Find who will change a record in oracle DB
@Kiranshell - Some small percentage of bind variables will be captured, a smaller percentage will be saved into the AWR tables for a few days depending on your AWR settings. It's possible that you'd get lucky but highly unlikely.
Aug
28
comment Find who will change a record in oracle DB
@Kiranshell - If you don't have permissions to create triggers, audit changes, or view redo log data and the person doing the update is using bind variables and is only going to issue the UPDATE once, you're probably out of luck. There is a small chance that you might get extremely lucky and v$sql_bind_capture will happen to capture the bind variable value you care about at the instant the user issues this query and that you'll happen to query the table at exactly the right time. But that's a hugely unlikely sequence of events
Aug
28
comment Find who will change a record in oracle DB
@Kiranshell - So, you know that someone is going to issue an UPDATE in the future, you know the primary key that they are going to update, but you don't know who is going to do the update? That seems rather odd-- can you give a bit more context? If the UPDATE is being issued from SQL*Plus, I assume it's a one-time event, not a constant process. Is the UPDATE statement using bind variables?
Aug
28
comment Find who will change a record in oracle DB
@Kiranshell - Why would you use that? A simple update will not generally cause an entry in V$SESSION_LONGOPS because it is not a long operation. There is some chance that you could actively monitor V$SQL and V$SQL_BIND_CAPTURE and, if you got really lucky, find the session and thus the user that was executing a particular UPDATE statement with a particular bind variable value. But that would generally require quite a bit of luck or quite a bit of patience until you happened to see the particular activity that you're looking for.
Aug
28
comment Find who will change a record in oracle DB
@Kiranshell - If you don't have access to create triggers, does that imply that you also don't have access to enable and configure auditing and that you don't have access to the historical redo logs? If you just have privileges to query the data, you can't get privileges to be able to record who is updating rows, and the people that do have those privileges aren't able to help you, you're probably out of luck.
Aug
28
answered Find who will change a record in oracle DB
Aug
28
revised Why not use a table instead of a materialized view?
added 733 characters in body
Aug
28
answered Why not use a table instead of a materialized view?
Aug
28
awarded  Enlightened
Aug
28
awarded  Nice Answer