方法1:使用LogMiner工具
优点:可以完全挖掘日志内容,找出所有执行过的SQL语句
缺点:
1 如果没有启用归档日志,则只能对联机日志进行挖掘
2 需要掌握LogMiner的用法
访法2:查看HIST视图
优点:简单,只要使用普通的select语句查询
缺点:Oracle保留约1周的历史,所以要查太早的就不可能了
-- 找出哪个数据库用户用什么程序在最近三天执行过delete或truncate table的 *** 作
举例如下:
SELECT cusername,
aprogram,
bsql_text,
bcommand_type,
asample_time
FROM dba_hist_active_sess_history a
JOIN dba_hist_sqltext b
ON asql_id = bsql_id
JOIN dba_users c
ON auser_id = cuser_id
WHERE asample_time BETWEEN SYSDATE - 3 AND SYSDATE
AND bcommand_type IN (7, 85)
ORDER BY asample_time DESC;
1oracle sql developer:甲骨文官方出品,优点在于:精准书签,可方便设置
2pl sql developer:集成开发环境,专用于oracle数据库存储的程序单元
3toad:收费工具。精确书签、自动大小写关键字、可设智能提示范围、语法纠错等。
4EnterpriseManager,企业管理器,图形化数据管理。
5si object browser:在图形用户界面上对数据库对象创建编辑,可高效辅助开发
在把Oracle查询结果转换为SQL Server的时候要特别当心一些不容易注意到的问题。
我们知道,T-SQL是SQL Server的语言引擎,而Oracle的语言引擎却是PLSQL这两种查询语言都对
ANSI SQL-92标准进行了扩展以提供额外的支持力度。你所创建的应用程序几乎都要用到这些补充特性。本文就对最常用的、非标准的Oracle扩展进行了说明,同时还要介绍下如何
对这些扩展进行转化以用在SQL Server环境下。
列的选择
用PLSQL执行数据查询的时候,FROM子句是必须的,这同SQL Server的要求是一样的。 SELECT语句必须选择针对的数据表。在Oracle数据库内有一种特殊的表DUALDUAL表由
Oracle连同数据字典一同创建,所有的用户都可以用名称DUAL访问该表。这个表里只有一列DUMMY,该列定义为VARCHAR2
(1)类型,有一行值X
从DUAL表选择数据常被用来通过SELECT语句计算常数表达式,由于DUAL只有一行数据,所以常数只返回一次。
Oracle下的DUAL查询如下所示:
SELECT
‘x’ FROM dual
而对等的SQL Server查询则是下面这个样子:
SELECT ‘x’
连接
Oracle用|| 符号作为连接符,而SQL Server的连接符是加号:+
Oracle查询如下所示:
Select ‘Name’ || ‘Last Name’
From tableName
对应的SQL Server查询如下所示:
Select ‘Name’ + ‘Last Name’
数字取舍
Oracle数据库内有一个TRUNC函数,该函数返回m位十进制数的n位;如果省略m则n就是0位。m的值可以为负,表示截去小数点左边m位数字。
在SQL Server下可以用Round或者Floor
以下是Oracle查询:
SELECT
TRUNC(1579,1) "Truncate" FROM DUAL;
下面是同类查询的SQL Server版本:
SELECT ROUND(1579, 0) rounded ,
ROUND(1579, 0,1) truncated
SELECT FLOOR(ROUND(1579, 0)),
FLOOR(ROUND(1579, 0,1) )
在把Oracle查询转换为SQL Server的时候要特别当心一些不容易注意到的问题。我们知道,T-SQL是SQL Server的语言引擎,而Oracle的语言引擎却是PLSQL这两种查询语言都对
ANSI SQL-92标准进行了扩展以提供额外的支持力度。你所创建的应用程序几乎都要用到这些补充特性。本文就对最常用的、非标准的Oracle扩展进行了说明,同时还要介绍下如何
对这些扩展进行转化以用在SQL Server环境下。
列的选择
用PLSQL执行数据查询的时候,FROM子句是必须的,这同SQL Server的要求是一样的。 SELECT语句必须选择针对的数据表。在Oracle数据库内有一种特殊的表DUALDUAL表由
Oracle连同数据字典一同创建,所有的用户都可以用名称DUAL访问该表。这个表里只有一列DUMMY,该列定义为VARCHAR2
(1)类型,有一行值X
从DUAL表选择数据常被用来通过SELECT语句计算常数表达式,由于DUAL只有一行数据,所以常数只返回一次。
Oracle下的DUAL查询如下所示:
SELECT
‘x’ FROM dual
而对等的SQL Server查询则是下面这个样子:
SELECT ‘x’
连接
Oracle用|| 符号作为连接符,而SQL Server的连接符是加号:+
Oracle查询如下所示:
Select ‘Name’ || ‘Last Name’
From tableName
对应的SQL Server查询如下所示:
Select ‘Name’ + ‘Last Name’
1、首先需要找到oracle安装目录,打开控制台管理。
2、进入控制台界面,输入用户名和密码进行登录验证。
3、登录成功,进入主界面,点击菜单栏处服务器。
4、此时在存储栏,找到表空间选项,点击打开。
5、在搜索栏输入表空间名称,进行搜索。
6、此时在下方结果栏,可以看到表空间状态。
方法和详细的 *** 作步骤如下:
1、第一步,
MySQL数据库使用特定字段查询所有表名,代码见下图,转到下面的步骤。
2、第二步,执行完上面的 *** 作之后,Oracle数据库使用特定字段查询所有表名,代码见下图,转到下面的步骤。
3、第三步,执行完上面的 *** 作之后,SQLServer数据库使用特定字段查询所有表名,代码见下图,转到下面的步骤。
4、第四步,执行完上面的 *** 作之后, *** 作完成,见下图。这样,就解决了这个问题了。
以上就是关于如何查询oracle数据库 *** 作日志记录全部的内容,包括:如何查询oracle数据库 *** 作日志记录、oracle数据库有哪些查询工具、oracle数据库,查询到的结果怎样修改等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)