监控当前数据库谁在运行什么SQL语句
SELECT osuser, username, sql_text from v$session a, v$sqltext b
where a.sql_address =b.address order by address, piece;
也可以通过审计功能来对数据库进行审计,但对数据库的性能有一定的影响。
SELECT osuser, username, sql_text from v$session a, v$sqltext b
where a.sql_address =b.address order by address, piece;
也可以通过审计功能来对数据库进行审计,但对数据库的性能有一定的影响。
解决方案 »
- orcale 同一个查询不同结果
- 数据库表行列转换
- -- 我的一道小考题:修改Oracle的 SID 涉及到哪些文件?写出其具体操作步骤! --
- 往oracle10g自己的数据库中导入别人的DMP文件时,提示导入文件目录不存在????
- 请问,如何往某一列插入两个字符串拼接过的东西
- 关于全外连接的菜鸟问题
- sqlnet.ora文件中的:SQLNET.AUTHENTICATION_SERVICES= (NTS) 是什么意思呀?
- !!!!!!!!!!!!!!!装了oracle后eclipse启动出错!!!!!!!!!!!
- imp后许多存储过程需要编译!
- 一个巨难的oracle查询(头疼)
- 如何在pl/sql中判断一条sql语句有没有结果集返回?
- 100分求一个 SQL 语句
结果保存在OperationRecord表中。CREATE OR REPLACE TRIGGER TESTTRIGGER AFTER INSERT OR DELETE OR UPDATE OF "ID", "VALUE" ON Sample FOR EACH ROW
DECLARE
v_TriggerType VARCHAR2(10);
BEGIN
IF UPDATING THEN
v_TriggerType :='UpDate';
SELECT username, sql_text from v$session a, v$sqltext b;
INSERT INTO OperationRecord(CHANGETYPE, CREATETIME, USERNAME, SQLTEXT)
VALUES(v_TriggerType, SYSDATE, username, sql_text);
END IF;
IF DELETING THEN
v_TriggerType :='Delete';
SELECT username, sql_text from v$session a, v$sqltext b
INSERT INTO OperationRecord(CHANGETYPE, CREATETIME, USERNAME, SQLTEXT)
VALUES(v_TriggerType, SYSDATE, username, sql_text);
END IF;
IF INSERTING THEN
v_TriggerType :='Insert';
SELECT username, sql_text from v$session a, v$sqltext b
INSERT INTO OperationRecord(CHANGETYPE, CREATETIME, USERNAME, SQLTEXT)
VALUES(v_TriggerType, SYSDATE, username, sql_text);
END IF;
END TESTTRIGGER;看看上面的触发器错在那里???
谢谢!!
系统会给你提示
PLS-00428: an INTO clause is expected in this SELECT statement
PLS-00201: identifier 'username' must be declared
PLS-00201: identifier 'sql_text' must be declared
我是写PACKAGE的。对触发器的新用法不太了解,多多指教。
试试看
SELECT SQL_TEXT from v$sql where FIRST_LOAD_TIME = SYSDATE;
INSERT INTO temp(SQLTEXT)
VALUES(SQL_TEXT);这样写对吗?
编译有错误。