常用命令
SGA包括两部分,内存结构(memory structure)和后台进程(background process)。
PGA是程序全局区。
一. SGA
1. 查看SGA中的后台进程信息:
select * from v$bgprocess; --后台进程
2. 查看database的物理文件:
select * from v$datafile; --数据文件
select * from v$controlfile; --控制文件
select * from v$logfile; --日志文件
3. 查看SGA中的内存结构的信息:
show parametere sga; --SGA
show parameter shared; --查看共享池 shared pool
show parameter db_cache; --查看数据缓冲池 database buffer cache
show parameter log; --查看日志缓冲区 redo log buffer cache
4. 动态设置内存结构的大小:
alter session set nls_language=american;
alter ora set db_cache_size=20m;
5. 共享池(shared pool of sga):
1. libary cache 存储了最近使用的sql和pl/sql信息(文本,执行计划,编译树),用于信息共享。
2. data dictionary cache=row cache; 包含数据文件,表,索引,字段,用户权限,其他数据对象等。
6. 数据缓冲区(database buffer cache of sga):
最小单位是block size;
db_cache_size;
db_cache_advice;
aletr ora set db_cache_advice=no;
7. 重做日志缓冲区(redo log buffer cache of sga):
用于recovery;
-- archive log list 可用于查看归档模式
8. large pool,java pool of sga(可选)
9.进程结构:
后台进程(background process):
DBWn(数字n) ,database writer: 用于写到数据文件
LGWR ,log writer:用于写到重做日志文件
SMON(系统监控):用于instance recovery等
PMOM(进程监控)
CKPT(checkpoint): 用于实现同步
二. 程序全局区:PGA
三. DATABASE
DATABASE的逻辑结构:
表空间(tablespace):分别存放数据,索引,回滚数据,临时数据等。
段(segment),表段,索引段等。
分区(extent),分配单位
块(block),使用单位