如何查询oracle数据库 *** 作日志记录

如何查询oracle数据库 *** 作日志记录,第1张

方法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数据库,查询到的结果怎样修改等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9536556.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存