20170803上课笔记

oracle分为instance 实例 和database 数据库

分为单实例访问数据库和多实例访问同一数据库,当多实例访问同一数据时,第二个访问的实例会从第一个实例的缓存中直接读取

实例 instance

缓冲区SGA(system global area)

shared pool 缓存sql语句执行计划

shared pool即共享池 缓存sql语句执行步骤

分三步 检查思考和执行

select component, current_size from V$SGA_DYNAMIC_COMPONENTS where component='shared pool';

select * from v$SGAINFO;

buffer cache //缓冲区缓存 读取磁盘中8Kb大小数据块

使用中,磁盘中为原文件,修改时,缓存中会备份一份源文件,修改中的文件,以及日志文件四个,日志文件存于log buff中(先生成日志结果数据再修改文件)

SQL> show parameter db_block_size

SQL> show parameter db_cache_size

SQL> select * from v$SGAINFO;

SQL> select component, current_size from V$SGA_DYNAMIC_COMPONENTS where component='DEFAULT buffer cache';

db_write_process  缓存中文件写会磁盘

每3秒钟或者

脏数据块到达限额

没有空闲buffer时,

检查点出现时

会传回磁盘,优先置换又脏又冷数据块(最新及最少使用的)

log buffer

记录修改过的数据

show parameter  log_buffer

log buffer 

三分之一满时候

和每生成1MBredo data

和每三秒钟触发写入

从日志缓存中写入日志文件

commit 不会从缓存中文件写入磁盘,而是从日志文件中数据写入磁盘

large pool//不是一定要有

防止影像其他缓存

java pool

优化缓存java代码

select component, current_size from V$SGA_DYNAMIC_COMPONENTS where component='DEFAULT buffer cache';

background process

server process 响应客户端连接 相当于客户端访问数据库时,server process 响应,替客户端访问instance 实例

PGA(program global area)

多客户同时访问数据时,每个客户一个server process的PGA进程,例 多人同时对1sql进行排序,缓存无法同时满足多人,因此缓存中原始数据不变,pga复制一份缓存自己进行操作

登录sys

输入show sga 显示详细信息

show parameter //显示更详细~  可带关键字进行模糊查询

oem:浏览器中服务器-->内存指导(https://192.168.0.1:1158/em)

server中memory。。。可进行更改SGA

数据库database

主要文件分为 控制文件control files 日志文件redo log files 数据文件data files


控制文件是一个小小的二进制文件,是oracle数据库的一部分,这个控制文件是用于记录数据库的状态和物理结构

日志文件记录  用户操作                 

数据文件记录  用户表等数据

控制文件:

$ find /u01 -name 'control0[12].ctl'

SQL> select name from v$controlfile;

SQL> select TYPE, RECORD_SIZE, RECORDS_TOTAL, RECORDS_USED from v$controlfile_record_section;

重做日志:

$ ll /u01/app/oracle/oradata/orcl/*.log

SQL> select group#, member from v$logfile;

参数文件:

$ ll $ORACLE_HOME/dbs/spfile*.ora

$ strings $ORACLE_HOME/dbs/spfileorcl.ora

SQL> show parameter spfile;

SQL> show parameter

密码文件:

$ ll $ORACLE_HOME/dbs/orapw*

归档日志:

SQL> select name from v$archived_log;

警告日志:

$ find /u01 -name 'alert_*.log'

原文地址:https://www.cnblogs.com/guoxf/p/7283153.html