您的当前位置:首页正文

oracle体系结构练习

2021-11-24 来源:欧得旅游网
oracle体系结构练习

实验 一、SGA

修改SGA必须保持的原则:

1.sga_target不能大于sga_max_size,可以设置为相等。 2.SGA加上PGA等其他进程占用的内存总数必须小于操作系统的物理内存。

做如下操作前,必须备份dbs目录下的所有文件。 方法一:直接SQL命令行修改:

SQL>alter system set sga_max_size=1024m scope=spfile; (如果spfile文件不存在,需先创建create spfile from pfile;) alter system set sga_max_size=12g scope=spfile; 然后

SQL>shutdown immediate SQL>startup

SQL>show sga; 即可看到SGA的大小已经被修改 方法二:通过EM修改:

以SYS登陆到EM:管理->(数据库配置)所有初始化参数—>SPFile->

在此界面可以直接定义sga_target与sga_max_size 然后重启数据库即可!

cmd下部分操作:,oracle 10.2.0g SQL> conn sys/rezin as sysdba 已连接。

SQL> shutdown immediate 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 SQL> startup

ORACLE 例程已经启动。 Total System Global Area bytes Fixed Size bytes Variable Size bytes Database Buffers bytes Redo Buffers bytes 数据库装载完毕。 数据库已经打开。 SQL> show sga;

Total System Global Area bytes ---原来大小 Fixed Size bytes Variable Size bytes Database Buffers bytes Redo Buffers bytes

SQL> alter system set sga_max_size=280m scope=spfile; 系统已更改。

SQL> shutdown immediate 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 再登录连接 SQL> startup

ORACLE 例程已经启动。

Total System Global Area bytes ---修改后的大小 Fixed Size bytes Variable Size bytes Database Buffers bytes Redo Buffers bytes 数据库装载完毕。 数据库已经打开。

二、PGA 预备知识

PGA(Process Global Area),是server process一段私有内存区,它包含有全局变量,数据结构和一些控制信息。在Oracle8i 中,PGA调整非常复杂,要调整SORT_AREA_SIZE、HASH_AREA_SIZE、BITMAP_MERGE_AREA_SIZE、CREATE_BITMAP_AREA_SIZE等参数。在ORACLE9I中,只需要调整 PGA_AGGREGATE_TARGET。

--PGA_AGGREGATE_TARGET初始化设置

PGA_AGGREGATE_TARGET的值应该基于Oracle实例可利用内存的总量来设置,这个参数可以被动态的修改。假设Oracle实例可分配4GB的物理内存,剩下的内存分配给操作系统和其它应用程序。你也许会分配80%的可用内存给Oracle实例,即3.2G。现在必须在内存中划分SGA和PGA区域。

在OLTP系统中,典型PGA内存设置应该是总内存的较小部分(例如20%),剩下80%分配给SGA。

OLTP:PGA_AGGREGATE_TARGET = (total_mem * 80%) * 20% 在DSS系统中,由于会运行一些很大的查询,典型的PGA内存最多分配70%的内存。DSS:PGA_AGGREGATE_TARGET = (total_mem * 80%) * 50%

在这个例子中,总内存4GB,DSS系统,你可以设置PGA_AGGREGATE_TARGET为1600MB,OLTP 则为655MB。

--配置PGA自动管理 自动PGA内存管理

要启用自动PGA内存管理,设置下列参数: 1,WORKAREA_SIZE_POLICY=AUTO 2,PGA_AGGREGATE_TARGET=非零 操作命令 系统级更改:

ALTER SYSTEM SET WORKAREA_SIZE_POLICY = {AUTO | MANAUL};

ALTER SYSTEM SET PGA_AGGREGATE_TARGET=;

ALTER SYSTEM SET SORT_AREA_SIZE = 65536 SCOPE = SPFILE;

ALTER SYSTEM SET HASH_AREA_SIZE = 65536 SCOPE = SPFILE;

会话级更改

ALTER SESSION SET WORKAREA_SIZE_POLICY = {AUTO | MANAUL};

ALTER SESSION SET SORT_AREA_SIZE = 65536; ALTER SESSION SET HASH_AREA_SIZE = 65536; 不用重启DB,直接在线修改。 SQL>

alter

system

set

workarea_size_policy=auto

scope=both;

System altered. SQL>

alter

system

set

pga_aggregate_target=512m

scope=both;

System altered.

SQL> show parameter workarea NAME TYPE VALUE

------------------------------------ ----------- ------------------------------ workarea_size_policy string AUTO --这个设置成AUTO

SQL> show parameter pga NAME TYPE VALUE

------------------------------------ ----------- ------------------------------ pga_aggregate_target big integer

--监控自动PGA内存管理的性能

V$PGASTAT:这个视图给出了一个实例级别的PGA内存使用和自动分配的统计。

SQL> set lines 256 SQL> set pages 42

SQL> SELECT * FROM V$PGASTAT; --查看_pga_max_size值的方法:

select ksppinm \"Name\ksppstvl/1024/1024 ||'M' \"Value\ksppdesc \"Desc\"

from x$ksppi x, x$ksppcv y

where x.indx = y.indx and ksppinm ='_pga_max_size'; 监控、改善PGA设置

监控PGA的视图:v$sql_workarea_active、v$sql_workarea、v$sesstat、v$process、v$sysstat、v$sql_workarea_histogram等。

PGA_AGGREGATE_TARGET的值最好选择: Over alloc count为0、Cache Hit(%)尽可能高、Extra Read/Write尽可能低的Estimate PGA Target值。

--pga的排序区

pga_aggregate_target为100MB,单个查询能用到5%也就是5MB时排序所需时间

SQL> create table sorttable as select * from all_objects; 表已创建。

SQL> insert into sorttable (select * from sorttable); 已创建31186行。

SQL> insert into sorttable (select * from sorttable); 已创建62372行。 SQL> set timing on;

SQL> select * from sorttable order by object_id; 已选择行。

已用时间: 00: 00: 10.00

Session级修改排序区为30mb所需时间

SQL> ALTER SESSION SET WORKAREA_SIZE_POLICY = MANUAL;

会话已更改。

已用时间: 00: 00: 00.02

SQL> ALTER SESSION SET SORT_AREA_SIZE = ; 会话已更改。

已用时间: 00: 00: 00.01

SQL> select * from sorttable order by object_id; 已选择行。

已用时间: 00: 00: 09.07

可以看到所需时间从10.00秒减少到9.07秒,速度提升很明显。 Oracle 体系结构练习

1、一个ORACLE实例含有以下哪些选项?BD A、其他所有选项 B、ORACLE进程 C、ORACLE I/O结构 D、ORACLE 内存结构 答案:A

2、在一个Oracle实例中最多可以启动多少个DBWR(数据库写录进程)后台进程?(D )

A、1个 B、10个

C、LGWR进程数量的两倍 D、无限制 答案:B

3、下面哪个描述是正确的?(C)

A、Oracle 服务器(物理结构)是由三类文件组成的数据集合。 B、用户通过启动 Oracle 例程建立与数据库的连接。 C、连接是Oracle服务器和 Oracle 例程之间的通信路径。 D、会话在Oracle 服务器验证用户后启动。 答案:

4、以下哪个内存区不属于SGA(系统全局区)?B

A 数据库缓冲区高速缓存B、 PGA(程序全局区) C、重做日志缓冲区 D、共享池

答案:B

5、下面哪一个是创建口令文件的工具? A

A. ORAPWD B. SQL*LOAD C. SQLPLUS D. WRAP 答案:A

6、 PGA包含哪个组建? ( B.D 属于SGA)

A.排序区B.数据字典缓存C.后台进程D. REDO LOG缓存 答案:A

7、下面哪一个不属于 ORACLE的 INSTANCE? A

A. REDO LOG BUFFER B.共享池 C. SGA D. SERVER进程 答案:C

8、初始化参数文件的用途有哪些?(选择 2 个答案) A.调整 SGA 的大小B.指定控制文件的位置 C.调整数据文件的大小D.修改数据库用户的状态 答案:A..B

9、如果一个服务进程意外终止,oracle使用下列哪一个后台进程来释放它所占用的资源?

A、DBWR(数据写录进程) B、LGWR(日记写录进程) C、SMON(系统监控进程) D、PMON(进程监控进程) 答案:(在42页)

10、如果服务器内存有限,那么数据库应选择专用服务器模式() A、正确 B、错误 答案:A

11、哪个情况不触发 LGWR 进程?(P40) A. DBW0发生时B.缓冲区使用 1/3时 C. CKPT发生时D.事务提交时 答案:C

12、如果ORACLE SERVER进程尝试将数据放入脏速缓存中,但是

是此时脏缓存已经满了,将发生什么?

A.将发生错误B.创建薪的脏缓存

C.利用 DBW0将脏缓存写入磁盘(P35-36)D.用 LGWR将脏缓存清空

答案:C

13、以下哪个选项对高速数据缓存中的脏数据影响最大? A.LGWR B.SMON C.ARCH D.SERVER 答案:A

14、什么时候不触发 DBW0 进程? (P39)

A. COMMIT发生时B. CKPT发生C.超时D. DIRTY BUFFER 数量过多

答案:A

15、当一个事务被提交后哪一个进程将 REDO LOG 缓存中的 X 信息写如 REDO LOG 日志中(P40)

A. SMON B. PMON C. DBW0 D. LGWR E. CKPT 答案:D

16、数据库高速缓存中哪一个是自由缓存?

A.已经被修改并且需要写到磁盘上的缓存 B.正在被写入磁盘的缓存

C.正在被使用的缓存D.可以被覆盖的缓存 答案:A

17.当一个用户发出了一个SELECT语句后,哪一个内存结构用来验证用户的执行权限? A.数据字典缓存B. REDO LOG缓存

C.数据库高速缓存D.库缓存 答案: A

18、通过查询NLS_DATABASE_PARAMETERS数据字典视图你将获取什么信息?

A.查询 NLS 参数的有效值 B.被明确设置的 NLS初始化参数值 C.数据库字符集 D. NLS 会话参数 答案:D

19、当你查询DBA_USERS数据字典时,将显示什么P44 A.数据库中所有用户的信息 B.当前用户在表空间上的配额

C.将显示所有在表空间上的配额为不限制的用户 D.所有用户在表空间上的配额 答案: A

20、请问检查点什么时候发生? P41 A.日志切换时 B.事务提交时

C.数据库关闭时使用了 ABORT选项 D. DBWn进程写入数据文件时 答案:A

21、当你查询 V$SESSION 并且发现 CHAN 用户的 STATUS 列被标识为 KILLED,请问发生了什么?

A.用户 CHAN从数据库中异常断开连接

B.用户 CHAN在 INSTANCE 中创建了一个新的会话 C. CHAN会话终断后仍然没有被激活 D. CHAN会话终断后已经被激活了 答案:A

22、列出五个必备的后台进程。

PMON、SMON、DBWR、LGWR、ARCH 23 、请将下列处理过程与它们所执行的任务相连。 a 数据库写入程序帮助写入到数据文件头部 b 日志写入器负责例程恢复 c 系统监控程序进程失败后进行清理

d 进程监控程序记录数据库更改以便进行恢复 e 检查点将灰数据缓冲区写入数据文件

因篇幅问题不能全部显示,请点此查看更多更全内容