How to retrieve last SQL statment issued
Is there any way in code to get the last SQL statement issued? I want to know the exact statement issued so that I can log it with the error message when any DB errors occurr in our app.
TIA
If your Application is developed using Forms 4.5/6i, then you can use ":system.last_query" to bet most recently executed query with in that session. If your app is developed using some other tools, then you have to relay on V$ Views, say querying V$SESSION and V$SQLAREA by OSUSER, USERNAME etc.
Is there any way in code to get the last SQL statement issued? I want to know the exact statement issued so that I can log it with the error message when any DB errors occurr in our app.
TIA
Similar Messages
-
How to track the sql commands issued against database
Hello, We are using an interface developed by oracle forms. Its giving some error while pressing an icon. I can not able to trace out from where it arises. This error is displayed by form developed by oracle forms. I dont have source code to track it. I would like to know , which SQL statement rises the error, so that I can update the oracle object and can able to solve the problem if I can able to find the exect SQL statment issued before the error was displayed. kindly help me . thanks.
habfat wrote:
Hello, We are using an interface developed by oracle forms. Its giving some error while pressing an icon. I can not able to trace out from where it arises. This error is displayed by form developed by oracle forms. I dont have source code to track it. I would like to know , which SQL statement rises the error, so that I can update the oracle object and can able to solve the problem if I can able to find the exect SQL statment issued before the error was displayed. kindly help me . thanks.Hmm, well kind of a silly but still, if you don't have source code of the form( you said so) so even if you would come to know what statement is raising the error, how would you go and edit it ? Did I miss some thing? And you asked for a sql statement ? How did you come to know that its a sql statement that is causing the error? And if that's actually a sql statement error, isn't it associated with a meaningful message ?
Find the developer who coded the application, he would be the best person to track the error and tell you its resolution IMO.
HTH
Aman.... -
How to retrieve a SQL query (in String format) from a PreparedStatement
Hello all,
I am in the process of unit testing an application accessing a Oracle 9i 9.2 RDBMS server with JDBC.
My query is:
As I have access to PreparedStatement and CallableStatement Java objets but not to the source queries which help create those objects?
Is thtere a simple way by using an API, to retrieve the SQL command (with possible ? as placeholders for parameters).
I have already looked at the API documentation for those two objets (and for the Statement and ResultSetmetaData objects too) but to no avail.
Thank you for any help on this issue,
Best regards,
BenoîtSorry for having wasted your time... and for not understanding what you meant in your first reply.
But the codlet was only to show the main idea:
Here is the code which compiles OK for this approach to reach its intended goal:
main class (file TestSuiteClass.java):
import java.sql.*;
import static java.lang.Class.*;
* Created by IntelliJ IDEA.
* User: bgilon
* Date: 15/03/12
* Time: 10:05
* To change this template use File | Settings | File Templates.
public class TestSuiteClass {
public static void main(final String[] args) throws Exception {
// Class.forName("oracle.jdbc.OracleDriver");
final Connection mconn= new mConnection(
DriverManager.getConnection("jdbc:oracle:thin:scott/tiger@host:port:service"));
* final Statement lstmt= TestedClass.TestedMethod(mconn, ...);
* final String SqlSrc= mconn.getSqlSrc(lstmt).toUpperCase(), SqlTypedReq= mconn.getTypReq(lstmt);
* assertEquals("test 1", "UPDATE IZ_PD SET FIELD1= ? WHERE FIELDPK= ?", SqlSrc);
Proxy class (file mConnector.java):
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Properties;
* Created by IntelliJ IDEA.
* User: bgilon
* Date: 15/03/12
* Time: 10:05
* To change this template use File | Settings | File Templates.
* This file should be compiled with JDK 1.6, but can be used with previous JDK versions.
* See OKwith1pN booleans usage for not throwing Exceptions as Unknown methods by the conn object...
public final class mConnection implements Connection {
private final Connection conn;
private final List<Statement> Stmts= new ArrayList<Statement>();
private final List<String> SqlSrcs= new ArrayList<String>();
private final List<Integer> TypSrcs= new ArrayList<Integer>();
private final static String jvmv= System.getProperty("java.specification.version");
private static final boolean OKwith1p2;
private static final boolean OKwith1p4; /* OKwith1p5, */
private static final boolean OKwith1p6;
static {
/* jvmv= System.getProperty("java.version");
System.out.println("jvmv = " + jvmv);
jvmv= System.getProperty("java.vm.version");
System.out.println("jvmv = " + jvmv); */
System.out.println("jvmv = " + jvmv);
OKwith1p2= (jvmv.compareTo("1.2") >= 0);
OKwith1p4= (jvmv.compareTo("1.4") >= 0);
// OKwith1p5= (jvmv.compareTo("1.5") >= 0);
OKwith1p6= (jvmv.compareTo("1.6") >= 0);
public String getSqlSrc(final Statement pstmt) {
int ix= 0;
for(Statement stmt : this.Stmts) {
if(stmt == pstmt) return SqlSrcs.get(ix);
ix+= 1;
return null;
static private final String[] TypeNames= new String[] { "Statement", "PreparedStatement", "CallableStatement" };
public String getTypReq(final Statement pstmt) {
int ix= 0;
for(Statement stmt : this.Stmts) {
if(stmt == pstmt) return TypeNames[TypSrcs.get(ix)];
ix+= 1;
return null;
private void storedStatement(
final Statement stmt,
final String sqlSrc,
final Integer typReq
Stmts.add(stmt);
SqlSrcs.add(sqlSrc);
TypSrcs.add(typReq);
public Connection getDecoratedConn() {
return conn;
mConnection(final Connection pconn) {
this.conn= pconn;
public boolean isClosed() throws SQLException {
return conn.isClosed();
public void rollback(Savepoint savepoint) throws SQLException {
if(OKwith1p4) conn.rollback(savepoint);
public boolean isReadOnly() throws SQLException {
return conn.isReadOnly();
public int getTransactionIsolation() throws SQLException {
return conn.getTransactionIsolation();
public void setTransactionIsolation(int level)throws SQLException {
conn.setTransactionIsolation(level);
public Properties getClientInfo() throws SQLException {
return OKwith1p6 ? conn.getClientInfo() : null;
public <T> T unwrap(Class<T> iface)
throws SQLException {
return conn.unwrap(iface);
public void setAutoCommit(boolean auto) throws SQLException {
conn.setAutoCommit(auto);
public boolean getAutoCommit() throws SQLException {
return conn.getAutoCommit();
public Map<String,Class<?>> getTypeMap() throws SQLException {
if(!OKwith1p2) return null;
return conn.getTypeMap();
public void setTypeMap(Map<String,Class<?>> map) throws SQLException {
if(!OKwith1p2) return;
conn.setTypeMap(map);
public void setHoldability(final int holdability) throws SQLException {
if(OKwith1p4) conn.setHoldability(holdability);
public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
return conn.createStruct(typeName, attributes);
public void commit() throws SQLException {
conn.commit();
public void rollback() throws SQLException {
conn.rollback();
public boolean isValid(int timeout) throws SQLException {
return OKwith1p6 && conn.isValid(timeout);
public void clearWarnings() throws SQLException {
conn.clearWarnings();
public int getHoldability() throws SQLException {
if(!OKwith1p4) return -1;
return conn.getHoldability();
public Statement createStatement() throws SQLException {
return conn.createStatement();
public PreparedStatement prepareStatement(final String SqlSrc) throws SQLException {
if(!OKwith1p2) return null;
final PreparedStatement lstmt= conn.prepareStatement(SqlSrc);
storedStatement(lstmt, SqlSrc, 1);
return lstmt;
public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
if(!OKwith1p4) return null;
final PreparedStatement lstmt= conn.prepareStatement(sql, columnNames);
storedStatement(lstmt, sql, 1);
return lstmt;
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
final PreparedStatement lstmt= conn.prepareStatement(sql, resultSetType, resultSetConcurrency);
storedStatement(lstmt, sql, 1);
return lstmt;
public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
final PreparedStatement lstmt= conn.prepareStatement(sql, columnIndexes);
storedStatement(lstmt, sql, 1);
return lstmt;
public void setClientInfo(String name, String value) throws SQLClientInfoException {
if(OKwith1p6)
conn.setClientInfo(name, value);
public PreparedStatement prepareStatement(final String SqlSrc,
int resultType,
int resultSetCurrency,
int resultSetHoldability) throws SQLException {
final PreparedStatement lstmt= conn.prepareStatement(SqlSrc, resultType, resultSetCurrency);
storedStatement(lstmt, SqlSrc, 1);
return lstmt;
public PreparedStatement prepareStatement(final String SqlSrc,
int autogeneratedkeys) throws SQLException {
if(!OKwith1p4) return null;
final PreparedStatement lstmt= conn.prepareStatement(SqlSrc, autogeneratedkeys);
storedStatement(lstmt, SqlSrc, 1);
return lstmt;
public CallableStatement prepareCall(final String SqlSrc) throws SQLException {
final CallableStatement lstmt= conn.prepareCall(SqlSrc);
storedStatement(lstmt, SqlSrc, 2);
return lstmt;
public CallableStatement prepareCall(final String SqlSrc,
int resultType,
int resultSetCurrency,
int resultSetHoldability) throws SQLException {
if(!OKwith1p4) return null;
final CallableStatement lstmt= conn.prepareCall(SqlSrc, resultType, resultSetCurrency, resultSetHoldability);
storedStatement(lstmt, SqlSrc, 2);
return lstmt;
public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
return OKwith1p6 ? conn.createArrayOf(typeName, elements) : null;
public CallableStatement prepareCall(final String SqlSrc,
int resultType,
int resultSetCurrency) throws SQLException {
if (!OKwith1p2) return null;
final CallableStatement lstmt= conn.prepareCall(SqlSrc, resultType, resultSetCurrency);
storedStatement(lstmt, SqlSrc, 2);
return lstmt;
public SQLXML createSQLXML() throws SQLException {
return OKwith1p6 ? conn.createSQLXML() : null;
public DatabaseMetaData getMetaData() throws SQLException {
return conn.getMetaData();
public String getCatalog() throws SQLException {
return conn.getCatalog();
public void setCatalog(final String str) throws SQLException {
conn.setCatalog(str);
public void setReadOnly(final boolean readonly) throws SQLException {
conn.setReadOnly(readonly);
public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
return conn.createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
if(!OKwith1p2) return null;
return conn.createStatement(resultSetType, resultSetConcurrency);
public String nativeSQL(final String sql) throws SQLException {
return conn.nativeSQL(sql);
public void releaseSavepoint(Savepoint savepoint) throws SQLException {
if(OKwith1p4) conn.releaseSavepoint(savepoint);
public Savepoint setSavepoint() throws SQLException {
return OKwith1p4 ? conn.setSavepoint() : null;
public Savepoint setSavepoint(final String str) throws SQLException {
return OKwith1p4 ? conn.setSavepoint(str) : null;
public boolean isWrapperFor(Class iface) throws SQLException {
return conn.isWrapperFor(iface);
public String getClientInfo(final String str) throws SQLException {
return OKwith1p6 ? conn.getClientInfo(str) : null;
public void setClientInfo(final Properties pro) throws SQLClientInfoException {
if (OKwith1p6) conn.setClientInfo(pro);
public Blob createBlob() throws SQLException {
return OKwith1p6 ? conn.createBlob() : null;
public Clob createClob() throws SQLException {
return OKwith1p6 ? conn.createClob() : null;
public NClob createNClob() throws SQLException {
return OKwith1p6 ? conn.createNClob() : null;
public SQLWarning getWarnings() throws SQLException {
return conn.getWarnings();
public void close() throws SQLException {
conn.close();
Final word:
The final word about this is: there is currently three ways to obtain source SQL queries from compiled statement objects.
a) Use a proxy class the mConnector above;
b) Use a proxy JDBC driver as Log4JDBC;
c) Use the trace facility of the driver (however, post analyzing the logs would depend upon the driver selected).
Thank you for reading,
Benoît -
How to retrieve last record entered into database
Hi all,
I want to retrieve the last resord entered into a database table.
I have a MS Access database.
This code does not return the last record but its my nearest attempt to.
Can anyone suggest the correct SQL or Solution.
Help is greatly appriciated.
Thanks.
String str = "SELECT * FROM Missions WHERE Mission = (SELECT MAX(Mission) FROM MISSIONS)";
ResultSet rs = null;
String f1 = null, f2 = null, f3 = null, f4 = null;
try{
rs = statement.executeQuery(str);
txtMissionInformation.setText("");
int row = 0;
while(rs.next()){
f1 = rs.getString(1);
f2 = rs.getString(2);
f3 = rs.getString(3);
f4 = rs.getString(4);
System.out.println(f1 + " " + f2 + " "+f3+" "+f4);
txtMissionInformation.append(f1 + ", "+ f2 + ""+","+f3+","+f4);
System.out.println("Query Complete !");
} catch(Exception e){
e.printStackTrace();
}I fixed my problem, i aded an autonumber field to my database set it as primary key and called it ID. i then used the syntax from before and it worked.
-
How to retrieve last mouse button that was clicked?
Is there a function that gets the last mouse button that was pressed? I am creating a GUI in the MATLAB environment, and its mouse button detection abilities are quite limited. Since MATLAB can import Java classes, I am hoping I can get around MATLAB's limitations by issuing a java command that will tell me which button was pressed (in MATLAB a cntrl left click and a right click are given the same tag!!!!)
If this is possible, can someone show me the java code to get the mouse click info (note: I do not need any java mouse action callback behavior - I just need to know the last mouse click)
-brianThis is probably something that you will have to do yourself. You can use the MouseListener interface and then store the last mouse click in a class variable. This is only theory to me as I have not done it myself.
-
URGENT : How to retrieve Last Accessed Timestamp for all Users in GRC
Dear Experts,
Please help me with this urgent request. Appreciate your help in advance.
My client is trying to understand the usage of the GRC application and would like to know information regarding the Last Accesse Time for all users who have logged into the Oracle's Governance, Risk and Compliance applcaition.
Thank You,
RakeshIf you still need the solution,
Have a callback on OnSubtaskUpdated in your BPEL. This call back will be called for any updates in parallel approval pattern.
Thanks
--Sreeny -
How to retrieve generated sql query from interface using groovy
Hi All,
I'm new to odi and i need the generated sql query code from the interface using groovy.Hi All,
I'm new to odi and i need the generated sql query code from the interface using groovy. -
How to Retrieve Last Deleted objects after activating
Hi Experts
Is there any way to get back the deleted objects. I mistakenly deleted few imp objects and now wondering do XI have some versioning to get that back.
Regards
DhanyaR NairHi,
If you know the exact name of deleted object you can get the same with this technique.
Step 1: Create a dummy object with the same name [of course your namespace etc should be same as your deleted object]
Step 2: Activate the new object
Step 3. Check the History [From menu] and you can select the previous versions you were deleted.
Hope this helps.
Regards,
Ananth -
Hi all,
I have a table which contain project details those are the coulmns:
Project_number (PK)
Submit Date
Project_title
Project_milestones
I want to retrieve how many number of project in each mounth per year
Output Example:
Date Number of projects
FEB 2008 *6*
March 2008 *5*
FEB 2009 *4*
March 2009 *7*
And so on, I tryed to write an sql statment to retrieve the desired results but I couldn't.
If any one has any idea in retrieving such result please assist me how to write this sql statment.Hi,
If submit_date is a DATE, then TRUNC (submit_date, 'MM') is the beginning of the month that countains it.
So you can say:
SELECT TRUNC (submit_date, 'MM') AS month
, COUNT (*) AS cnt
FROM project_table
GROUP BY TRUNC (submit_date, 'MM');Of course, you can add TO_CHAR to the first line to format the date however you like. -
Retrieve Last element from Collection
Hi,
I am a beginner in Java. Can somebody tell me how to retrieve last element from java.util.collection without Iterating?Hi,
I am a beginner in Java. Can somebody tell me
how to retrieve last element from
java.util.collection without Iterating?You realize of course that this is rather silly since not every Collection necessarily has a "last" element. For it to have the notion of a "last" element it would have be ordered and would be a List. -
From my own session how to find out the last SQL that I issued ?
Why does the query bellow that would return the last sql issued only work on 10g version ?
Notice the output:
SQL> select * from v$version;
BANNER
Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit Production
PL/SQL Release 9.2.0.5.0 - Production
CORE 9.2.0.6.0 Production
TNS for IBM/AIX RISC System/6000: Version 9.2.0.5.0 - Production
NLSRTL Version 9.2.0.5.0 - Production
SQL> select sql_text from v$sql where hash_value = ( select prev_hash_value from v$session where
sid = (select sid from v$mystat where rownum = 1));
SQL_TEXT
select sql_text from v$sql where hash_value = ( select prev_hash_value from
v$session where sid = (select sid from v$mystat where rownum = 1))
SQL> conn system@prod
Informe a senha: *******
Conectado.
SQL> select * from v$version;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bi
PL/SQL Release 10.2.0.2.0 - Production
CORE 10.2.0.2.0 Production
TNS for IBM/AIX RISC System/6000: Version 10.2.0.2.0 - Productio
NLSRTL Version 10.2.0.2.0 - Production
SQL> select sql_text from v$sql where hash_value = ( select prev_hash_value from v$session where
sid = (select sid from v$mystat where rownum = 1));
SQL_TEXT
select * from v$version
SQL>Peter, what version are you using ?
Everybody, our query seems to work only on 10g version. Notice the output bellow:
SQL> select * from v$version;
BANNER
Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit Production
PL/SQL Release 9.2.0.5.0 - Production
CORE 9.2.0.6.0 Production
TNS for IBM/AIX RISC System/6000: Version 9.2.0.5.0 - Production
NLSRTL Version 9.2.0.5.0 - Production
SQL> select sql_text from v$sql where hash_value = ( select prev_hash_value from v$session where
sid = (select sid from v$mystat where rownum = 1));
SQL_TEXT
select sql_text from v$sql where hash_value = ( select prev_hash_value from
v$session where sid = (select sid from v$mystat where rownum = 1))
SQL> conn system@prod
Informe a senha: *******
Conectado.
SQL> select * from v$version;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bi
PL/SQL Release 10.2.0.2.0 - Production
CORE 10.2.0.2.0 Production
TNS for IBM/AIX RISC System/6000: Version 10.2.0.2.0 - Productio
NLSRTL Version 10.2.0.2.0 - Production
SQL> select sql_text from v$sql where hash_value = ( select prev_hash_value from v$session where
sid = (select sid from v$mystat where rownum = 1));
SQL_TEXT
select * from v$version
SQL> -
HELP! How te retrieve the last row in MYSQL database using Servlet!
Hi ,
I am new servlets. I am trying to retireve the last row id inserted using the servlet.
Could someone show me a working sample code on how to retrieve the last record inserted?
Thanks
MY CODE
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class demo_gr extends HttpServlet {
//***** Servlet access to data base
public void doPost (HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
String url = "jdbc:mysql://sql2.njit.edu/ki3_proj";
String param1 = req.getParameter("param1");
PrintWriter out = resp.getWriter();
resp.setContentType("text/html");
String semail, sfname, slname, rfname, rlname, remail, message;
int cardType;
sfname = req.getParameter("sfname");
slname = req.getParameter("slname");
rfname = req.getParameter("rfname");
rlname = req.getParameter("rlname");
semail = req.getParameter("semail");
remail = req.getParameter("remail");
message = req.getParameter("message");
//cardType = req.getParameter("cardType");
cardType = Integer.parseInt(req.getParameter("cardType"));
out.println(" param1 " + param1 + "\n");
String query = "SELECT * FROM greeting_db "
+ "WHERE id =" + param1 + "";
String query2 ="INSERT INTO greeting_db (sfname, slname ,semail , rfname , rlname , remail , message , cardType ,sentdate ,vieweddate) values('";
query2 = query2 + sfname +"','"+ slname + "','"+ semail + "','"+ rfname + "','"+ rlname + "','"+ remail + "','"+ message + "','"+ cardType + "',NOW(),NOW())";
//out.println(" query2 " + query2 + "\n");
if (semail.equals("") || sfname.equals("") ||
slname.equals("") || rfname.equals("") ||
rlname.equals("") || remail.equals("") ||
message.equals(""))
out.println("<h3> Please Click the back button and fill in <b>all</b> fields</h3>");
out.close();
return;
String title = "Your Card Has Been Sent";
out.println("<BODY>\n" +
"<H1 ALIGN=CENTER>" + title + "</H1>\n" );
out.println("\n" +
"\n" +
" From " + sfname + ", " + slname + "\n <br> To "
+ rfname + ", " + rlname + "\n <br>Receiver Email " + remail + "\n<br> Your Message "
+ message + "\n<br> <br> :");
if (cardType ==1)
out.println("<IMG SRC=/WEB-INF/images/bentley.jpg>");
else if(cardType ==2) {
out.println("<IMG SRC=/WEB-INF/images/Bugatti.jpg>");
else if(cardType ==3) {
out.println(" <IMG SRC=/WEB-INF/images/castle.jpg>");
else if(cardType ==4) {
out.println(" <IMG SRC=/WEB-INF/images/motocross.jpg>");
else if(cardType ==5) {
out.println(" <IMG SRC=/WEB-INF/images/Mustang.jpg>");
else if(cardType ==6) {
out.println("<IMG SRC=/WEB-INF/images/Mustang.jpg>");
out.println("</BODY></HTML>");
try {
Class.forName ("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection
( url, "*****", "******" );
Statement stmt = con.createStatement ();
stmt.execute (query2);
//String query3 = "SELECT LAST_INSERT_ID()";
//ResultSet rs = stmt.executeQuery (query3);
//int questionID = rs.getInt(1);
System.out.println("Total rows:"+questionID);
stmt.close();
con.close();
} // end try
catch (SQLException ex) {
//PrintWriter out = resp.getWriter();
resp.setContentType("text/html");
while (ex != null) {
out.println ("SQL Exception: " + ex.getMessage ());
ex = ex.getNextException ();
} // end while
} // end catch SQLException
catch (java.lang.Exception ex) {
//PrintWriter out = resp.getWriter();
resp.setContentType("text/html");
out.println ("Exception: " + ex.getMessage ());
} // end doGet
private void printResultSet ( HttpServletResponse resp, ResultSet rs )
throws SQLException {
try {
PrintWriter out = resp.getWriter();
out.println("<html>");
out.println("<head><title>jbs jdbc/mysql servlet</title></head>");
out.println("<body>");
out.println("<center><font color=AA0000>");
out.println("<table border='1'>");
int numCols = rs.getMetaData().getColumnCount ();
while ( rs.next() ) {
out.println("<tr>");
for (int i=1; i<=numCols; i++) {
out.print("<td>" + rs.getString(i) + "</td>" );
} // end for
out.println("</tr>");
} // end while
out.println("</table>");
out.println("</font></center>");
out.println("</body>");
out.println("</html>");
out.close();
} // end try
catch ( IOException except) {
} // end catch
} // end returnHTML
} // end jbsJDBCServletI dont know what table names and fields you have but
say you have a table called XYZ which has a primary
key field called keyID.
So in order to get the last row inserted, you could
do something like
Select *
from XYZ
where keyID = (Select MAX(keyID) from XYZ);
Good Luckwhat gubloo said is correct ...But this is all in MS SQL Server I don't know the syntax and key words in MYSQL
This works fine if the emp_id is incremental and of type integer
Query:
select *
from employee e, (select max(emp_id) as emp_id from employee) z
where e.emp_id = z.emp_id
or
select top 1 * from employee order by emp_id descUday -
How to retrieve the value of last identity has been updated in a database?
how to retrieve the value of last identity has been updated in a database
Hi,
Oracle 10g, FGA - Fine grained auditing, supports DML statements (9i only select).
Set up FGA using the DBMS_FGA.ADD_POLICY procudure:
sql> BEGIN
DBMS_FGA.ADD_POLICY (
policy_name => 'AUD_EMPLOYEE_SAL',
object_schema => 'HR',
object_name => 'EMPLOYEE',
audit_column => SALARY',
audit_condition => '',
statement_type => 'UPDATE');
END;
NEXT:
sql> SELECT dbuid, lsqltesxt FROM sys.fga_logs$;
The database inserts the audit record into the FGA_LOG$ table using an autonomous transaction; even if you roll back the update statement, the update action will still be logged in this table. The fga_log$ tracks the session, machine id, timestamp, schema, scn, etc:
SQL> desc fga_log$
Name Null? Type
SESSIONID NOT NULL NUMBER
TIMESTAMP# DATE
DBUID VARCHAR2(30)
OSUID VARCHAR2(255)
OSHST VARCHAR2(128)
CLIENTID VARCHAR2(64)
EXTID VARCHAR2(4000)
OBJ$SCHEMA VARCHAR2(30)
OBJ$NAME VARCHAR2(128)
POLICYNAME VARCHAR2(30)
SCN NUMBER
SQLTEXT VARCHAR2(4000)
LSQLTEXT CLOB
SQLBIND VARCHAR2(4000)
COMMENT$TEXT VARCHAR2(4000)
PLHOL LONG
STMT_TYPE NUMBER
NTIMESTAMP# TIMESTAMP(6)
PROXY$SID NUMBER
USER$GUID VARCHAR2(32)
INSTANCE# NUMBER
PROCESS# VARCHAR2(16)
XID RAW(8)
AUDITID VARCHAR2(64)
STATEMENT NUMBER
ENTRYID NUMBER
DBID NUMBER
LSQLBIND CLOB
SQL> spool off -
How to check last log backup happend in sql server
Hi All,
How to check last log backup happend in sql server
Thanks in advance
ShashikalaLast Tlog Bakcup details
SELECT
CONVERT(CHAR(100), SERVERPROPERTY('Servername')) AS Server,
msdb.dbo.backupset.database_name,
MAX(msdb.dbo.backupset.backup_finish_date) AS last_db_backup_date
FROM msdb.dbo.backupmediafamily
INNER JOIN msdb.dbo.backupset ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id
WHERE msdb..backupset.type = 'L'
GROUP BY
msdb.dbo.backupset.database_name
ORDER BY
msdb.dbo.backupset.database_name
--Most Recent Database Backup FULL for Each Database
SELECT
CONVERT(CHAR(100), SERVERPROPERTY('Servername')) AS Server,
msdb.dbo.backupset.database_name,
MAX(msdb.dbo.backupset.backup_finish_date) AS last_db_backup_date
FROM msdb.dbo.backupmediafamily
INNER JOIN msdb.dbo.backupset ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id
WHERE msdb..backupset.type = 'D'
GROUP BY
msdb.dbo.backupset.database_name
ORDER BY
msdb.dbo.backupset.database_name
http://www.mssqltips.com/sqlservertip/1601/script-to-retrieve-sql-server-database-backup-history-and-no-backups/
Database -- > Right click -- > Properties -- >
Raju Rasagounder Sr MSSQL DBA -
How to retrieve the Last sequence value of a sequence ?
Can anybody help me out regarding how to retrieve the last executed number or value of a sequence ? As dba_sequence.last_number does not show the original picture of that last value ?
Rajesh Lathwal wrote:
Last Number Selected From Sequence :
SELECT sequence_name, last_number
FROM user_sequences;That's wrong, this is taking the CACHE in account :
SQL> create sequence seq ;
Sequence created.
SQL> select seq.nextval from dual;
NEXTVAL
1
SQL> SELECT sequence_name, last_number
2 FROM user_sequences where sequence_name='SEQ';
SEQUENCE_NAME LAST_NUMBER
SEQ 21
SQL> select seq.currval from dual;
CURRVAL
1
SQL>Nicolas.
Maybe you are looking for
-
Please, please help! Photos in library disappearing before my eyes.
When I open up the iphoto library, my picture thumbnails disappear one after the next--from seemingly random places, though mostly on the right hand side)--before my eyes. My worry is that I am going to loose all my photos. History: I have never had
-
The best way to read characters from a single line?
my problem is i have is that 0-5 characters are on one line i need to split this up as each single letter stands for a word i.e - f = football. i need to separate each one. also a person can have up to five hobbies (the letters stand for likes or dis
-
REPORT LISTING SHIP TO PARTIES ASSIGNED TO SOLD TO PARTIES
Hi, can anyone help with TCode of a report that can list sold to party and ship to party assigned to it. regards amla
-
SQL 2005 mirroring - time taken to fail over?
I'm looking for an easy way to 'measure' the amount of time it takes our principal Database Server to fail over to our mirror Server in which all regular service will be resumed. Any help would be hugely appreciated Thanks guys ras
-
Getting details like PO No., GRN No. by giving invoice number
Hi ABAP guru's, I am a new member of this community. I have been asked to design a layout for printing Vendor Invoice using SapScript. Their requirement is that if they provide invoce number in the input box they should get t