OCP/OCA
认证考试指南全册
Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053
练习与知识点
AuthorDeerfer@20140630
第一章
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单实例数据库  YESRAC数据库
(3)确定数据库是否通过备用数据库的保护来防止数据丢失:
SELECT * FROM v$database;
SELECT protection_level FROM v$database; --UNPROTECTED数据库未受到保护
(4)确定是否数据库中配置了流:
SELECT * FROM dba_streams_administrator; --如果尚未配置流,那么将不返回任何行
Tips 1Oracle 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 2Oracle进程简要说明
(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小时内删除。