oracle结构

Oracle10g结构

本文简单的介绍了 oracle 的结构 , 如果查看各个参数 , 及修改几个重要参数 , 例如讨论了优化常用的 SGA_TARGET,DBWR, 以及如何应用 spfile pfile 简单排错 .

oracle server结构

作为 oracel DBA 下图必须熟记于心
chenxy
可以看到总体来讲 ,oracle server 由上部的 instance 和下部的 database 两部分组成

1.Database

 

database 主要由数据文件 (data files), 控制文件 (control files), 重做日志文件 (redo log files) 和参数文件 (parameter files), 密码文件 (password file), 归档日志文件 (archived log files) 等组成
oracle , 这些都是实实在在的文件 , 在服务器上都可以找到
ls -l $ORACLE_BASE/oracle/SID
chenxy
其中必须的三种文件在 $ORACLE_BASE/SID/
*.ctl 为控制文件
*.dbf. 为数据文件
*.log redolog 文件
查找参数文件 (parameter,), 密码文件 (password files)
ls -l $ORACLE_HOME/dbs/
其中 *.ora 为参数文件 ,orapwdenver 为密码文件
关于归档日志文件 (archive log file)
Oracle 日志分为归档模式和非归档模式 , 只有在归档模式下才有归档日志文件 . 由于本文是讨论 oracle 结构 , 在些不做深入讨论 .

2.instanc结构

Instance 由内存 SGA 和进程 PGA 两部分组成

1. SGA

1.SGA结构

(SGA 结构 )
如上图 SGA 由必须的 share pool,  database buffer cache,   redo log buffer 和可选的 jave pool large pool 组成
oracle10g 上可以通过如下命今查看
SQL>select name bytes from v$sgainfo;
而在 oracle 9i 上通过如下命今查看
SQL>show sga;
可见
SGA 总大小为 236000356 byte
Database buffers 大小为 33554432 byte
Redo buffers 大小为 667648 byte
分配的最小单位是 granules., SGA<128M ,granules 4M, SGA>128M , 16M
显示当前 SGA 组成部分 , 及最小单位
查当前各区块的大小 .
1.shared pool
shared pool 又分为 library cache data dictionary cache 两部分
1>library cache
作用 : 主要保存解析后的 SQL 语名
2>data dictionary cache
2.database buffer cacheredo log buffer
可以通过 show parameter XXX 查看这些参数
3.SGA中优化参数sga_target的设置
显示 SGA_SIZE SGA_TARGET
修改 SGA_TARGET
修改前 SGA_MAX_SIZE=196M,SGA_TARGET=0 如下图
使用 alter system set sga_target= 值修改 sga_target
可见修改后值为 200M
当以 spfiel 启动这个值就不能再修改小了 , 要修改小它 , 要以 pfile 启动数据库 , pfile 文件中可以编写 .
Alter system set sga_target=200 只是内存中修改 , 重启后就失效了
关于 Pfile spfile
Pfile spfile 互相生成 (create spfile form pfile ,  create pfile from spfile)
Pfile 生成 spfile 重启 oracle , 先用 spfile 启动 ,
使用 show parameter spfile 查询 , 如果 value 为空则使用的是 pfile 非空为 spfile
下图 oracle 用刚建的 spfile 启动
pfile 文件中修改 sga_target,
Spfile 是二近制文件不能手动修改 , 一但修改文件就挂了 .

灵活运用pfilespfile

当把 processes 改为 0 时,关闭 oracle 就不能再启动了。些时可以用 pfile 启动,因为 pfile 文件可以手动修改,然后再可以用 pfile 生成 spfiel

此时把spfile文件名修改再以以前的pfile启动.

2.服务器端进程(只有当oracle启动后才生成)

在服务器上查看后台进程
ps -ef | grep oracle
简单应用
oracle DBWR 进程是最忙的,可以启动多个 DBWR, 下图只启动了一个
增加 DBWR 的个数,
当以 spfiel 启动时,需要在 alter 最后加参数 scope=spfile
修改后重启生效
可见 DBWR=3 .

你可能感兴趣的:(oracle,基础,职场,结构,休闲)