OCP/OCA
认证考试指南全册
Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)
练习与知识点
Author:Deerfer@20140630
第一章
Oracle Database 11g体系结构概述
Oracle Database 11g体系结构概述
本章学习内容
●解释内存结构
●描述进程结构
●讲述存储结构
练习1-1 研究所在环境的DRMS
确定自己所在的环境使用的应用程序、应用服务器和数据库服务器。然后集中精力研究数据库,体验一下数据库的规模和忙碌程度。考虑用户数量、数据易失性以及数据量。最后考虑它们对组织的重要程度:就每个应用程序和数据库而言,允许多长的停机时间?允许损失多少数据?可以使用财务数字定量分析吗?
利用研究的结果,可以了解DBA角的重要性。
应用程序:MDS计量生产调度平台
应用服务器:Oracle WebLogic Server 11g
数据库服务器:Oracle Database 11g
数据库规模:数据量大小、数据库对象多少、用户数、访问并发量、数据库节点格式(RAC环境)
平均无故障时间 MTBF Mean Time Between Failure
平均故障修复时间 MTTR Mean Time To Repair
练习1-2 确定数据库是单实例还是分布式系统的一部分
运行查询来确定数据库是独立系统,还是更大的分布式环境的一部分。
(1)作为用户SYSTEM连接到数据库。
(2)确定实例是否为RAC数据库的一部分:
SELECT * FROM v$instance; SELECT parallel FROM v$instance; -- NO:单实例数据库 YES:RAC数据库 |
(3)确定数据库是否通过备用数据库的保护来防止数据丢失:
SELECT * FROM v$database; SELECT protection_level FROM v$database; --UNPROTECTED数据库未受到保护 |
(4)确定是否数据库中配置了流:
SELECT * FROM dba_streams_administrator; --如果尚未配置流,那么将不返回任何行 |
Tips 1:Oracle Stream
Oracle Stream功能是为提高数据库的高可用性而设计的,在Oracle 9i及之前的版本这个功能被称为Advance Replication。Oracle Stream利用高级队列技术,通过解析归档日志,将归档日志解析成DDL及DML语句,从而实现数据库之间的同步。这种技术可以将整个数据库、数据库中的对象复制到另一数据库中,通过使用Stream的技术,对归档日志的挖掘,可以在对主系统没有任何压力的情况下,实现对数据库对象级甚至整个数据库的同步。 |
练习1-3 了解实例的内存结构
运行查询来确定构成实例的不同内存结构的当前大小。
linux认证考试费用
(1)作为用户SYSTEM连接到数据库。
(2)显示可以动态重设大小的SGA组件的当前、最大和最小的容量:
SELECT component, current_size, min_size, max_size FROM v$sga_dynamic_components; |
查询结果如下:
显示的实例不包括流,因此流池的大小为零。自从启动实例后,大池和Java池都未发生变化,
但共享池和数据库缓冲区缓存的大小发生了变化。仅配置了数据库缓冲区缓存的默认池,除进行大量调整的数据库外,通常都是这样的配置。
(3)确定已经(以及当前为)程序全局区分配了多少内存:
SELECT NAME, VALUE FROM V$PGASTAT WHERE NAME IN ('maximum PGA allocated', 'total PGA allocated'); |
练习1-4 了解在实例中运行的进程
将运行查询来查看在实例中运行的后台进程。
(1)作为用户SYSTEM了解到数据库。
(2)确定哪些进程正在运行,以及每个进程的数量有多少:
SELECT program FROM v$session ORDER BY program; --有哪些进程 SELECT program FROM v$process ORDER BY program; --每个进程的数量 |
这些查询将得到相似结果:每个进程必须有会话(即使后台进程,也同样如此),而每个会话必须有进程。可多次出现的进程将有个数据后缀,但支持用户会话的进程除外:它们都使用同一个名称。
查询结果如下:
ORACLE.EXE (CJQ0) ORACLE.EXE (CKPT) ORACLE.EXE (DBW0) ORACLE.EXE (J000) ORACLE.EXE (LGWR) ORACLE.EXE (MMAN) ORACLE.EXE (MMNL) ORACLE.EXE (MMON) ORACLE.EXE (PMON) ORACLE.EXE (PSP0) ORACLE.EXE (QMNC) ORACLE.EXE (RECO) ORACLE.EXE (SMON) ORACLE.EXE (q000) ORACLE.EXE (q001) |
Tips 2:Oracle进程简要说明
(1)CJQ:Job queue,oracle的JOB进程,停止后JOB会停止运行 (2)CKPT:checkpoint,检查点进程,CKPT和LGWR这两个进程与DBWn进程互相合作, 提供了既安全又高效的写脏数据块的解决方案。 (3)DBW:DBWR,database writer,就是写数据文件的进程。 (4)J000:ora_jxxx是系统job进程,可以用select * FROM DBA_JOBS_RUNNING查询。 (5)LGWR:Log Writer,将日志缓冲区中的所有记录项写到日志文件中 (6)MMAN :Memory manager,内存管理进程,如果设定了SGA自动管理,MMAN用来协调SGA内各组件的大小设置和大小调整 (7)MMNL:Memory Monitor Light,用于填充自动工作负载存储库(Automatic Workload Repository,AWR)MMNL进程会根据调度从SGA将统计结果刷新输出至数据库表。 (8)MMON:Manageability Monitor,MMON从SGA定期捕获统计数据(默认是每小时一次),并将它们写入到数据字典中,在数据字典中,可以无限期地存储它们(不过,默认方式是只存储8天)。 (9)PMON:Process Monitor,进程监控器,主要负责连接非正常中断后的清除工作,PMON负责释放相应的资源。 (10)PSP0:启动其它的Oracle进程(10g新增加的后台进程)。 (11)QMNC:监视高级队列,并警告从队列中删除等待消息的出队进程 (12)RECO :Distributed Database Recovery,负责在分布式数据库环境中自动恢复那些失败的分布式事务,保证分布式事务的一致性,在分布式事务中,要么同时commit,要么同时rollback; (13)SMON:System Monitor,系统监控进程,负责在实例启动时执行实例恢复,并清理不再使用的临时段。 |
(3)通过计算服务器进程数量(Linux或Unix平台上)或Oracle线程数量(Windows上),演示会话生成后启动的服务器进程。
(a)在Linux上,从操作系统提示符可以运行以下命令:
ps –ef|grep oracle|wc -1 |
该语句将计算出名称中包含“Oracle”字符串的运行进程的数量,将包括所有会话服务器进程(或许还包括其它进程)。
(b)在Windows上,启动任务管理器。对其进行配置,以便显示每个进程中的线程数量。
练习1-5 了解数据库的存储结构
在本练习中,将创建一个表段,然后计算出它的物理位置。
(1) 创建一个未确定表空间的表—将在默认表空间中创建它,并包含一个区间:
CREATE TABLE tab24 (c1 VARCHAR2(10)); |
(2) 确定表所在的表空间、区间大小、区间所在的文件编号、以及作为区间开始位置的文件块:
SELECT TABLESPACE_NAME, EXTENT_ID, BYTES, , BLOCK_ID FROM DBA_EXTENTS WHERE OWNER = 'SYS' AND SEGMENT_NAME = 'TAB24'; |
查询结果如下:
(3) 根据名称确定文件:在看到提示时,替代前面查询中的:
SELECT NAME FROM v$data file# = &; |
查询结果如下:
(4)精确计算出区间在文件中的位置(按它在文件中的开始字节数)。这要求到表空间的块大小。在看到提示时输入(2)中查询返回的block_id和tablespace_name.
SELECT BLOCK_SIZE * &BLOCK_ID/1024/1024 FROM DBA_TABLESPACES WHERE TABLESPACE_NAME = '&tablespace_name'; |
查询结果如下:
由此可见,表存放于一个64KB的区间中。此区间位于文件“D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF”中,从文件的大约478MB处开始。
本章知识点回顾
单实例体系结构
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论