当前位置:文档之家› Oracle数据库监控工具lab128

Oracle数据库监控工具lab128

知识点列表编号名称描述级别1 数据库简介了解什么是关系型数据库*2 OracleServer的启动了解OracleServer启动时主要的服务*3 Oracle数据库服务器重点掌握系统全局区SGA和程序全局区PGA ***4 Oracle实例进程结构理解Oracle实例进程结构,注意后台进程**5 Oracle网络配置了解Oracle网络配置**6 Oracle查询工具了解Oracle的3个查询工具*7 Oracle默认用户了解Oracle默认账户的设置及各自的权限*8 客户端连接工具重点掌握能够使用Oracle客户端工具连接Oracle ***9 锁了解锁的概念,理解行级锁和表级锁,重点掌握死锁的概念**10 Lab128的使用重点掌握Lab28监控Oracle服务器的方法以及查找分析问题***注:"*"理解级别"**"掌握级别"***"应用级别目录1. Oracle服务器 (2)1.1.数据库简介 (2)1.2. Oracle Server的启动 (2)1.3. Oracle 数据库服务器 (2)1.4. Oracle实例进程结构 (5)2. Oracle的使用 (6)2.1. Oracle网络配置 (6)2.2. Oracle查询工具 (7)2.3. Oracle默认用户 (7)2.4.客户端连接工具 (8)3.锁 (9)4. Lab128 (11)1.Oracle服务器1.1.数据库简介DBMS:实现数据库管理的软件。

RDBMS(关系型数据库):是建立在关系模型基础上的数据库,数据以行和列的形式存储,以便于用户理解,这一系列的行和列被称为表,一组表组成数据库。

在关系数据库中:各数据项之间用关系来组织,关系(relationship)是表之间的一种连接,通过关系,我们可以更灵活地表示和操纵数据.ORDBMS(对象型关系数据库):在原来的RDBMS的基础上加入了对象的概念,如Oracles 10g。

1.2.Oracle Server的启动启动Server,几个主要的服务:OracleServicexxx(SID):Oracle服务器服务进程开启(关闭)。

(必开)OracleOraDb10g_home1TNSListener:Oracle网络服务监听程序服务,当需通过网络连接Oracle服务器或访问Oracle Enterprise Manager 10g时需启动OracleOraDb10g_home1iSQL*Plus:运行iSQL*Plus工具时需开启的服务OracleDBConsoleorcl1:访问Oracle Enterprise Manager 时需开启的服务1.3.Oracle 数据库服务器Oracle数据库服务器有两个部分:数据库和实例(instance)。

Oracle数据库用于存储和检索信息,是数据的集合。

数据库包括逻辑结构和物理结构。

逻辑结构代表了在Oracle数据库中能看到的组成部分(如表、索引等),而物理结构代表了Oracle内部使用的存储方法(如数据文件、控制文件、日志文件等)。

Oracle实例是指数据库服务器的内存及相关处理程序.数据库文件的操作都是通过这个实例来完成的,因此它又被称为Oracle数据库引擎。

Orade实例由系统全局区(SGA)和后台处理进程组成。

Oracle数据库服务器,如下图所示:Oracle实例是内存结构和后台进程的集合。

Oracle实例分配系统全局区,启动后台进程,如下图所示:Oracle的内存结构包含两个内存区:系统全局区SGA、程序全局区PGA,如下图所示:注意:Oracle实例启动时分配系统全局区,当服务器进程启动时分配程序全局区。

系统全局区(SGA)是Oracle数据库存放系统信息的一个内存区域,是Oracle为一个数据库实例分配的一组共享内存缓存区。

多个进程可以同时对SGA中的数据进行访问和相互通信。

SGA保存着Oracle系统与所有数据库用户的共享信息,包括数据维护、SQL语句分析、重做日志管理等,是实例的主要部分。

SGA在实例启动时被自动分配,当实例关闭时被收回。

在系统全局区中。

根据功能的不同,SGA可分为如下关键部件:主要由五部分组成:(1)共享池(Shared Pool)(2)数据库高速缓存(Database Buffer Cache)(3)重做日志缓存(Redo Log Buffer Cache)(4)Java池(Java Pool)(5)大池(Lager Pool)共享池共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域。

共享池由库缓存和数据字典缓存组成。

库缓存含有最近执行的SQL、PL/SQL语句的分析码和执行计划;数据字典缓存含有从数据字典中得到的表、索引、列定义和权限等信息。

共享池的大小直接影响数据库的性能。

数据缓存区用于存储从磁盘数据文件中读入的数据,所有用户共享。

服务器进程将读入的数据保存在数据缓存区中,当后续的请求需要这些数据时可以在内存中找到,不需要再从磁盘读取,提高了读取速度。

数据缓存区的大小对数据库的读取速度有直接的影响。

日志缓存区日志记录数据库的所有修改信息,日志信息首先产生于日志缓存区。

当日志缓存区的日志数据达到一定数量时,由后台进程将日志数据写入日志文件中。

相对来说,日志缓存区对数据库的性能影响较小,但重做日志缓存区过小会增加写盘的次数,增加系统的I/O负担。

通常较大的重做日志缓存区能够减少重做日志文件的I/O次数。

程序全局区(PGA)用户进程私有的内存区域,不能共享。

PGA包含单个服务器进程所需的数据和控制信息、进程会话变量及内部数组等。

PGA是在用户进程连接到数据库并创建一个会话时自动分配的,保存每个与Oracle 数据库连接的用户进程所需的信息。

PGA为非共享区,只能单个进程使用,当一个用户会话结束,PGA释放。

1.4.Oracle实例进程结构Oracle 实例有几种不同类型的进程,它们是:用户进程、服务器进程、后台进程。

用户进程是一个需要与Oracle服务器进行交互的程序,当用户运行一个应用程序准备向数据库服务器发送请求时,即创建了用户进程。

服务器进程用于处理连接到该实例的用户进程的请求,当用户连接至Oracle数据库实例创建会话时,即产生服务器进程后台进程是Oracle数据库为了保持最佳系统性能和协调多个用户请求而设置的。

Oracle 实例启动时即创建一系列后台进程会话是用户与Oracle 服务器的单个连接,当用户与服务器建立连接时创建会话,当用户与服务器断开连接时关闭会话如下图所示:实例的各种后台进程是:PMON 进程监控进程清理出现故障的进程,并回滚用户进程还没有做完的事务。

释放所有当前挂起的锁定。

释放故障用户进程使用的所有数据库资源。

SMON 系统监控进程检查数据库的一致性,实例失败之后,重启数据库时自动恢复实例。

整理数据文件的自由空间,将相邻区域结合起来。

释放不再使用的临时段。

DBWR 数据写入进程管理数据缓存区和字典缓存区,将最近使用过的块保留在内存中。

将修改后的缓存区数据分批写入数据文件中。

系统可以拥有多个该进程LGWR 日志写入进程负责将日志缓存区中的日志数据写入日志文件。

系统有多个日志文件,该进程以循环的方式将数据写入文件。

CKPT 检查点进程确保缓存区内的内容隔一定时间进行一次对数据文件的更新。

否则,当数据库发生毁损时,要用很长时间才可从日志文件的记录中还原回来,这会造成系统的负担。

ARCH 归档进程在数据库设置为归档日志模式的情况下,当每次日志切换时对已满的日志组进行备份或归档。

2.Oracle的使用2.1.Oracle网络配置Oracle产品安装完成后,服务器和客户端都需要进行网络配置才能实现网络连接。

服务器端配置监听器,客户端配置网络服务名。

如下图所示:2.2.Oracle查询工具Oracle 提供的工具非常容易使用。

Oracle 的查询工具如下图所示:SQL*Plus是Oracle最常用的工具之一,用于接受和执行SQL命令以及PL/SQL块iSQL*Plus可以执行能用SQL*Plus完成的所有任务,该工具的优势在于能通过浏览器访问它。

PL/SQL 是SQL 的扩展。

PL/SQL 结合了SQL语言的数据操纵能力和过程语言的流程控制能力2.3.Oracle默认用户只有用合法的用户帐号才能访问Oracle数据库。

Oracle 有几个默认的数据库用户。

如下图所示:数据库中所有数据字典表和试图都存储在SYS模式中,SYS用户主要用来维护系统信息和管理实例。

SYSTEM是默认的系统管理员,该用户拥有Oracle管理工具使用的内部表和视图,通常通过SYSTEM用户管理数据库用户、权限和存储等。

SCOTT用户是Oracle 数据库的一个示范帐户,在数据库安装时创建2.4.客户端连接工具Oracle数据库的客户端连接工具是SQL*Plus。

在Oracle安装的路径下可以找到该工具,如下图所示:登录界面如下:Dos 窗口操作Oracle从开始 点击运行,如下图所示:在Dos窗口里输入sqlplus name/pass,如下图所示:用sys登录:connect as /sysdba;解锁scott:alter user scott account unlock ;alter user scott identified by tiger; (更改密码)再登录:sqlplus scott/tiger3.锁锁,是数据库用来控制共享资源并发访问的机制,用于保护正在修改的数据锁定的优点:➢一致性:一次只允许一个用户修改数据➢完整性:如果一个用户修改了数据并保存,所作的修改将反映给所有用户➢并行性:允许多个用户访问同一数据基本的锁类型有两种:排它锁(X锁)和共享锁(S锁).X锁,是事务T对数据A加上X锁时,只允许事务T读取和修改数据;S锁,是事务T对数据A加上S锁时,其他事务只能再对数据A加S锁,而不能加X锁,直到T释放A 上的S锁;若事务T对数据对象A加了S锁,则T就可以对A进行读取,但不能进行更新(S锁因此又称为读锁),在T释放A上的S锁以前,其他事务可以再对A加S锁,但不能加X锁,从而可以读取A,但不能更新A.锁分为:行级锁和表级锁行级锁:对正在被修改的行进行锁定,其它用户可以访问除被锁定的行以外的行。

行级锁是一种排它锁(X锁) ,防止其它事务修改此行,使用INSERT、UPDATE、DELETE、SELECT …FOR UPDATE时自动加行级锁。

表级锁:锁定整个表,限制其它用户对表的访问表级锁分为:➢行共享:允许其它用户访问和修改表,禁止排他锁锁定表➢行排他:禁止使用排他锁和共享锁➢共享:仅允许其它用户查询,多个用户可以同时在一个表上应用此锁➢共享池排他:禁止使用共享锁及更高的锁➢排他:限制最强的锁,只允许其它用户查询根据保护的对象不同,Oracle数据库锁可以分为以下几大类:DML锁(data locks,数据锁),用于保护数据的完整性;DDL锁(dictionary locks,字典锁),用于保护数据库对象的结构,如表、索引等的结构定义;内部锁和闩(internal locks and latches),保护数据库的内部结构。

相关主题