想学学怎么回滚,还有查看一下哪个用户操作了哪个表?这种简单的操作

解决方案 »

  1.   

    事务回滚的语句为:TRANSTRACTION.ROLLBACK
    查看一下哪个用户操作了哪个表,可以使用一下两种方法:
    第一种方法:利用审计。你必须改变数据库的初始化参数audit_trail=true(oracle8) or audit_trail=DB(8i),重新启动数据库,然后再sql*plus中,利用语句audit ****(具体的语法你可以查找帮助)
    然后有几个视图可以利用:
    sys.aud$(此视图要用sys用户定期归档和清空)
    all_def_audit_opts
    dba_stmt_audit_opts
    dbs_priv_audit_opts
    dba_obj_audit_opts
    dba_audit_trail
    dba_audit_exists
    dba_audit_object
    dba_audit_session
    dba_audit_statement
    第二种方法:利用日志分析器。你必须设置数据库的初始化参数utl_file_dir=目录名称。重启数据库后,顺序执行4个存储过程,用来分析日志,
    dbsm_logmnr_d.build  --(创建字典文件)
    dbms_logmnr.add_logfile('filename',DBMS_LOGMNR.NEW)  --(添加日志文件)
    dbms_logmnr.start_logmnr  --(开始分析)
    dbms_logmnr.end_logmnr  --(结束分析)
    可以利用的视图:
    v$logmnr_logs
    v$logmnr_dictionary
    v$logmnr_parameters
    v$logmnr_contents 
     
     
      
      

  2.   

    看下有无记录,没记录就别想着回滚了
    select * from user_flashback_archive_tables;
      

  3.   

    1,学习回滚?就是事务的管理rollback2, 记录用户操作了那个表,这个要用到oracle的审计功能。
      

  4.   

    创建语句还能回滚呢?。  对于 create , alter 语句,都是隐式提交的。 没有回滚这一说法。 
    只有你对数据的操作才能回滚 。 
    还有,你难道说的是指恢复操作?