记录和备份用户的所有增删改操作
程序员文章站
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操作。