欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

记录和备份用户的所有增删改操作

程序员文章站 2022-06-09 10:41:11
...

《安装说明》 1、将压缩包解压到本地磁盘。 2、打开install.sql文件,根据文件中的提示文本更改登录用户名,密码和日志文件存储路径等参数。 3、使用Sqlplus运行install.sql文件,执行安装操作。 《使用说明》 1、首先要由日志管理员在FLOG.LOG_USER表中填入

《安装说明》
1、将压缩包解压到本地磁盘。

2、打开install.sql文件,根据文件中的提示文本更改登录用户名,密码和日志文件存储路径等参数。

3、使用Sqlplus运行install.sql文件,执行安装操作。


《使用说明》
1、首先要由日志管理员在FLOG.LOG_USER表中填入登录帐户和密码。

2、建立数据库连接之后,首先执行存储过程LOGON以记录登录信息。
关于存储过程LOGON的使用,请参见Sample.sql。

3、如果没有执行Logon,或者登录失败,本次会话将无法对数据表中的数据执行添加,
修改和删除操作,但可以执行查询操作。

《管理员使用指南》
1、使用视图V_LOG_OPERATE可以查询用户的登录/登出历史,
还可以查到用户在登录期间对哪些表的那些行(以ROWID表述)执行了哪些操作。

2、使用视图V_LOG_DETAIL可以查询到用户在执行更新(UPDATE)和删除(DELETE)操作时所影响的旧的数据。

3、如果用户更新或删除的是大对象类型数据(BLOB,CLOB等),
就需要到V_LOG_BLOB,V_LOG_CLOB,V_LOG_GEOM 和 V_LOG_BFILE这几个视图中查找被操作的数据。

代码是 Oracle 9i 时写的,现在 Oracle 的版本已经 12c 了,已经没有保密的必要,放出来分享了。
-- 用于演示FLOG系统如何使用的示例数据
-- Code by www.ultragis.com

--connect FLOG/FLOG
-- 创建业务用户
insert into FLOG.LOG_USER(USERNAME, PASSWORD) values ('DT', 'DT');
--connect WS/WS

set serveroutput on

var v_accredit NUMBER;

-- 业务用户登录
begin 
    :v_accredit := 0;
    LOGON('DT','DT',:v_accredit);
    if (:v_accredit = 0) then
        dbms_output.put_line('登录失败!');
    else
        dbms_output.put_line('登录成功!');
    end if;
    exception 
    when others then
        dbms_output.put_line(to_char(SQLCODE)||':'||SQLERRM);
end;
/
commit;

select :v_accredit from dual;

-- 登录成功后可进行Insert,Update和Delete操作,
-- 如果登录失败,则只能进行Select操作。