oracledba常用语句

2024-07-13

oracledba常用语句(精选3篇)

篇1:SQL常用语句用法浅析

SQL是关系数据库的国际标准语言,也是当前和将来DBMS发展的基础。通过SQL可以对数据库进行操作。美国国家标准协会(ANSI)将SQL定义为关系型数据库管理系统标准语言,具有重大意义。

SQL语言具有以下特点:词汇量少、查询功能强大和非过程性三大特点。本文通过SQL常用语句的用法,对SQL的应用进行进一步解析。

2 SQL概述

SQL语句用来对数据库进行各种操作,如查询数据、修改数据、删除数据等,大多数关系型数据库管理系统(如Access,Oracle,SQL Server等)都支持SQL标准。

但由于SQL存在着许多版本,给用户带来了很多不便,为了与ANSI标准兼容,这些SQL就必须支持大部分共同或相似的SQL语句,如SELECT、DELETE、UPDATE等。

3 SQL操作语句

SQL包含数据定义语言(DDL)、数据操作语言(DML)、数据查询语言(DQL)、数据控制语言(DCL)、指针控制语言(CCL)、事务处理语言(TPL)6个部分。本文着重对其中三种常用语言进行介绍,即数据定义、查询、操作3种语言:

3.1 数据定义语言

数据定义语言语句有CREATE、DROP两种,具体来说就是创建表、删除表、创建索引、删除索引4种,详见下表。

3.2 数据查询语言

查询语言只包含SELECT语句,主要功能就是从数据表中查询数据,该语句应用最为广泛,在实际应用中需要与其他保留字配合使用(如ORDER BY,WHERE等),对数据加以限定,以便提高查询效率。

数据查询是关系运算理论在SQL语言中的主要体现。数据查询只有一个语句:SELECT语句。需要从其基本句法、完整句法和各种限定三个方面着手,才能完整掌握这个语句。

SELECT语句的基本句法:

SELECT[ALL/DISTINCT]<目标列表达式>[,目标列表达式<>]…FROM<表名或视图名>[,<表名或视图名>]…[WHERE<条件表达式>][GROUP BY<列名1>[HAVING<条件表达式>]][ORDER BY<列名2>[ASC|DESC];

目标表达式的格式有:①*;②<表名>.*;③COUNT([DIS⁃TINCT|ALL].*);④[<表名>.]<属性列名表达式>[,[<表名>.]<属性列名表达式>]…。

集函数的一般格式:

WHERE子句的条件表达式有以下可选格式:

3.3 数据操作语言(DML:Data Manipulation Language)

操作语言语句包括更新(UPDATE)、插入(INSERT)、删除(DELETE)三种语句,用于更新、添加和删除表中数据。

数据插入有下列三种句法:

3.3.1 单元组的插入句法

INSERT INTO<基本表名>[(<属性列1>[,<属性列2>]…)]VALUES(<常量1>[,<常量2>]…)

3.3.2 多元组的插入句法

INSERT INTO<基本表名>[(<属性列1>[,<属性列2>]…)]VALUES(<常量1>[,<常量2>]…)

(<常量1>[,<常量2>]…)

(<常量1>[,<常量2>]…)

3.3.3 查询结果的插入句法

INSERT INTO<基本表名>[(<属性列1>[,<属性列2>]…)]SELECT查询语句

3.3.4 数据删除句法

DELETE FROM<基本表名>[WHERE条件表达式]

3.3.5 数据更新句法

UPDATE<基本表名>SET列名=值表达式[,列名=值表达式…][WHERE条件表达式]

4 结束语

现在大部分数据库都可以通过SQL语句进行相应操作,因此,SQL语句的作用是必不可少的。本文对SQL定义、查询、操作语句进行了简要介绍。看起来操作很方便,但在实际使用中根据需求的不同,可能要复杂的多。要掌握好SQL语句,还需要进一步加强理解和实践。

参考文献

[1]徐悦竹,张泽宝.数据库系统概论知识要点与习题解析.[M].哈尔滨:哈尔滨工程大学出版社,2007.

[2]王珊,萨师煊.数据库系统概论.[M].北京:高等教育出版社,2006.

篇2:评价个人品质的常用语句

1、Mature,dynamic and honest.

思想成熟、精明能干、为人诚实。

2、Excellent ability of systematical management.

有极强的系统管理能力。

3、Ability to work independent1y,mature and resourcefu1.

能够独立工作、思想成熟、应变能力强。

4、 A stable personality and high sense of responsibility are desirable.

个性稳重、具高度责任感。

5、Work well with a multi-cultural and diverse work force.

能够在不同文化和工作人员的背景下出色地工作。

6、Bright,aggressive applicants.

反应快、有进取心的应聘者。

7、Ambitious attitude essential.

有雄心壮志。

8、Initiative,independent and good communication skill.

积极主动、独立工作能力强,并有良好的交际技能。

9、Willing to work under pressure with leadership quality.

愿意在压力下工作,并具领导素质。

10、Mature,self-motivated and strong interpersonal skills.

思想成熟、上进心强,并具极丰富的人际关系技巧。

11、Energetic,fashion-minded person.

精力旺盛、思想新潮。

12、With a pleasant mature attitude.

开朗成熟。

13、Strong determination to succeed.

有获得成功的坚定决心。

14、Strong leadership skills.

有极强的领导艺术。

15、Ability to work well with others.

能够同他人一道很好地工作。

16、The ability to initiate and operate independently.

有创业能力,并能独立地从业。

17、Strong leadership skill while possessing a great team spirit.

有很高的领导艺术和很强的集体精神。

18、Be highly organized and efficient.

工作很有条理,办事效率高。

19、Willing to learn and progress.

肯学习进取。

20、Positive active mind essential.

有积极、灵活的头脑。

21、Be elegant and with nice personality.

举止优雅、个人性格好。

22、Having good and extensive social connections.

具有良好而广泛的社会关系。

23、Being active, creative and innovative is a plus. 思想活跃、有首创和革新精神尤佳。

24、With good analytical capability.

篇3:oracledba常用语句

Oracle数据库是一个功能强大的产品。由于数据库产品本身就是为所有相关人员提供信息的一个产品, 因此很多人都会有各种权限的数据库账户。权限管理的任何漏洞、任何人为的操作失误, 都有可能会对数据库内信息造成不可恢复的损失。为保障Oracle数据库内数据的安全, 甲骨文公司在设计Oracle数据库时, 就提供了很多机制, 比如审计、细粒度审计、闪回 (含闪回查询、闪回表、闪回数据库等) 、日志挖掘工具 (Logminer) 等。这其中, Logminer是历史最悠久的功能强大、灵活的操作历史记录查看工具, 堪称Oracle数据库的“后悔药”。

1 Logminer简介

甲骨文公司在Oracle 8i中首次提供了日志挖掘 (以下简称Logminer) 工具。使用Logminer工具, DBA可以对数据库的在线日志及归档日志进行分析, 从而得到哪些人对数据库进行了哪种类型的操作、修改了哪些信息、信息修改前后的情况如何等信息。利用Logminer得到的信息, 可以查看误操作修改前的数据详情、可以找到恶意修改数据的人的相关信息、也可以利用Logminer的信息, 生成修复相关修复的SQL脚本。而在此之前, 这些工作只能由甲骨文公司的工程师来完成, 其他的DBA对此完全无能为力。

需要注意的是, Logminer需要运行在oracle 8.1及以上的数据库环境中, 但是Logminer可以分析从Oracle 8.0开始的日志文件。

在Logminer诞生的13个年头里, 甲骨文一共发布了4个主要的Oracle数据库版本:8i、9i、10g、11g。在笔者所在的行业, oracle8i在很早以前就已经全部升级到9i或10g了;而出于谨慎考虑, 目前新上的数据库系统还以10g为主, 11g并没有开始大规模应用, 因此本文主要讨论9i和10g版本的Logminer。

2 Logminer安装

Logminer的安装过程, 实际上是在数据库里建立程序包和动态视图的过程。

安装Logminer需要运行两个SQL脚本, 它们是:

1) $ORACLE_HOME/rdbms/admin/dbmslmd.sql

2) $ORACLE_HOME/rdbms/admin/dbmslm.sql

在这两个脚本运行过程中, 会在数据库上建立dbms_logmnr和dbms_logmnr_d两个程序包。这两个程序包包含了Logminer配置和运行过程中需要的所有程序。

3 Logminer使用

Logminer具有很强的灵活性, 不仅可以用来分析在线的重做日志, 还能用来分析离线的重做日志;不仅可以分析数据库自己的重做日志, 还能分析其他数据库的重做日志。

Logminer运行的标准结构如下:

源数据库 (Source Database) 是指需要分析历史数据的数据库, 及归档日志的来源数据库;挖掘数据库 (Mining database) 是指运行Logminer程序的数据库。前边提到了, 源数据库和挖掘数据库可以是同一个数据库, 也可以是不同的两个数据库, 但是挖掘数据库的版本不应该低于源数据库的版本。

3.1 运行环境准备

在使用Logminer以前, 必须先启用Oracle数据库的补充日志 (Supplemental log) 和日志归档 (archive) 功能。

Oracle数据库运行时需要使用重做日志 (redo log) 来记录数据库中的操作, 重做日志在提交和回滚事务时都使用到。但是重做日志一个更主要的作用是用户恢复数据库。每个运行的数据库都有若干组重做日志由数据进行循环使用。在每组重做日志文件重用前, 是否对重做日志中的数据进行转储, 就是数据库的两种运行模式:归档模式和非归档模式。因为Logminer需要使用到数据库的重做日志, 因此, 数据库需运行于归档模式。如果数据库处于非归档模式, 使用如下步骤启用归档模式:

1) 设置归档目录参数

归档日志目录的设置方式有三种, 下面是最常用的设置方式:

2) 启动数据库到mount状态

3) 执行启动归档SQL语句

SQL>alter database archivelog;

4) 打开数据库

SQL>alter database open;

通常oracle日志中记录的信息用来对数据库进行实例恢复和介质恢复是足够的。但是当使用在线日志和归档日志来的Logminer运行时, 这些信息就显得捉襟见肘了。为确保这样的应用顺利运行, Oracle数据库需要在日志中记录更充分的信息。这就是补充日志。如果没有打开该功能, 运行dbms_logmnr程序时会遇到ora-1354错误。

补充日志有两种模式, 最小模式 (minimal) 和唯一关键字模式 (identification key logging) 。最小模式记录的信息已经足够给Logminer使用了。

执行如下语句打开数据库的最小模式的Supplemental Log功能:

SQL>alter database add supplemental log data;

3.2 生成Logminer的数据字典文件

在正式开始从重做日志挖掘数据之前, 需要先从源数据库生成数据字典文件。从原理上讲, 数据字典文件并不是数据挖掘工作所必须的。但是数据字典能提高挖掘结果的可读性。从下面的例子我们可以很容易理解数据字典的重要性。

有数据字典的挖掘结果:

(JOB_ID, JOB_TITLE, MIN_SALARY, MAX_SALARY) VALUES ('IT_WT', 'Technical Writer', 4000, 11000) ;

没有数据字典的挖掘结果:

Oracle提供了如下三种生成数据字典的方式, 我们可以根据具体情况选择一个。

1) 在线数据字典

当源数据库和挖掘数据库同一个数据库, 或者一个数据库是另一个数据库的冷备份时, 因为两个数据库内的数据字典定义时完全相同的, 所以不需要特意生成数据字典文件。执行命令如下:

2) 使用重做日志存储数据字典

从Oracle 9i开始, Logminer可以使用重做日志存储数据字典文件。这样在挖掘时, 就可以把数据字典文件和需挖掘的重做日志文件统一进行处理, 简化了数据挖掘的流程。同时, 使用重做日志存储数据字典文件不需要修改数据库参数, 也就不需要重启数据库, 对在线业务的运行影响也较小。

执行完以上操作后, 如何知道数据字典文件存储在哪些归档日志之中呢?Oracle公司在提供这个功能的同时, 就已经提供了解决办法。那就是在v$archived_log视图中的dictionary_begin和dictionary_end列。我们可以通过如下查询获得答案:

3) 使用纯文本文件存储数据字典

纯文本文件存储数据字典, 是Oracle传统的数据字典存储方式, Oracle第一次提供Logminer工具, 就采取了这种方式。

因为Oracle在写入纯文本文件时需要访问操作系统上的文件系统, 因此开始生成数据字典文件前, 我们需要做如下准备工作。

首先, 我们要准备一个文件系统目录 (例如/oracle/database) , 并给Oracle数据库用户 (一般为oracle) 读写权限;其次, 需要设置数据库参数UTL_FILE_DIR=/oracle/database。数据库默认不会设置该参数, 而且修改该参数需要重新启动数据库才能生效, 所以很多情况下会影响到业务系统。

在完成准备工作后, 我们可以用如下方法生成数据字典文件:

在生成数据字典文件后, 需要把数据字典文件和归档日志文件存储到挖掘数据库可以访问到的文件系统上备用 (例如/u01/logmnr/) 。

3.3 生成需分析的日志文件列表

在本文的试验中, 字典文件如下:

需分析日志如下:

首先, 我们打开一个sqlplus窗口 (在分析过程中不能关闭) , 执行如下命令增加需分析的日志文件到日志文件列表中。

然后, 我们需要把数据字典所在归档日志文件也添加到需处理的归档日志列表中, 并且添加方式和其他归档日志没有任何区别。需要注意的是, 该部分仅针对使用重做日志存储数据文件的情况, 如果采用其他数据字典存储方式, 则忽略该部分即可。

另外, 如果源数据库和挖掘数据库是同一个库, 那么我们可以选择步生成需处理的重做日志列表, 就像我们不需要生成数据字典文件一样。具体方式将在下文介绍。

3.4 开始挖掘数据

开始数据挖掘在完成以上工作后, 我们就可以开始挖掘数据了。重做日志数据挖掘使用DBMS_LOGMNR包的START_LOGM-NR过程来完成。该程序的定义如下:

我们通过如下方式对重做日志进行挖掘工作:

1) 不对挖掘结果进行任何过滤, 直接执行如下语句:

2) 对挖掘结果进行时间上过滤, 则需要在执行start_logmnr程序时添加相应的参数。

例如, 使用startscn/endscn或者starttime/endtime来限定只挖掘制定时间内的数据:

START_LOGMNR还有一个非常重要的参数, options, 通过该参数, 我们可以对挖掘过程进一步细化。该参数有很多值可以选, 并且可以同时使用。下面我们看看这么重要的一个参数, 到底可以做什么呢?

OPTIONS参数的可选值及具体意义如表1。

3.5 Logminer结果的分析

完成以上工作后, 我们就可以查询V$LOGMNR_CON-TENTS视图获得需要的信息了。需要注意的是, 虽然我们从这个视图中查询挖掘的结果数据, 但是这些数据并不存储在这个视图中, 也就是说, 该视图并不会占用很多的表空间。当我们执行查询时, Logminer会去读取重做日志, 然后给我们返回我们关心的信息。即使我们分析数百GB的数据, 也无需对挖掘数据库的空间担忧。

该视图有100多个列, 表2的列是我们经常关心的。

比如, 我们可以通过如下查询对TF_B_PAY_LOG表进行的更新操作。

3.6 结束数据挖掘工作

在完成数据分析工作后, 就可以结束数据挖掘工作:

EXECUTE SYS.DBMS_LOGMNR.END_LOGMNR;

因为Logminer在执行过程中, 所有数据都是通过在线分析归档重做日志获取的, 所以并不会在V$LOGMNR_CONTENTS中存储任何信息。这样即使分析数百GB的重做日志文件, 也不会对挖掘数据库的空间造成任何压力。所以一旦执行完END_LOGMNR程序后, V$LOGMNR_CONTENTS就查询不到任何数据了。

4 总结

随着Oracle数据库版本的不断升级, Logminer也不断地展现出他的新特性, 但是无论如何, Logminer的本质都不会变, 他是Oracle DBA的一个强有力的助手。任何DBA都希望永远也不会用到Logminer, 但是一旦需要时, Logminer就会成为DBA一剂最好用的“后悔药”。

摘要:Logminer是Oracle数据库一个功能强大、灵活、消耗资源少的重做日志挖掘工具。通过Logminer, 即使是非原厂的OracleDBA (数据库管理员) 也能够准确还原数据库的所有历史操作。有了Logminer, 对数据库的历史操作不再是无法重现的了。可以有效的恢复误操作导致的数据被修改、删除及插入等, 并可以找到执行该操作的具体人员, 修补漏洞、避免类似问题的发生。

关键词:数据库,日志挖掘,数据恢复

参考文献

[1]甲骨文公司.Oracle9i Database Administrator's Guide Release 2 (9.2) Part Number A96521-01[Z].

上一篇:夏季安全知识教育下一篇:看了《龙猫》心得感悟