oracle的零碎知识

System Global Area SGA
1. 数据块缓冲区(datablock buffer cache)
高速缓存区域,用来存储从数据库中读出的数据段的数据块。
2. 重做日志缓冲区(redo log buffer cache)事务先记录在此区
3. 字典缓存区
数据库对象的信息存储在数据字典中
4. sql 共享池
存储数据字典缓存区及库缓存区(library cache),即对数据库进行操作的语句信息。
执行计划以及运行sql语句的语法分析树
其他区
1.大池(large pool)
支持sql大型命令,可以防止sql大型命令把条目重写入sql共享池中,从而减少再装入到库缓存区中的语句的数量
2.Java池
3.多缓冲池
用多个缓冲池把大数据集与其他的应用程序分开,以减少它们争夺数据块缓存区内相同资源的可能性。
4.环境区
5.程序全局区(program global area)
LRU算法:(Least Recently Used)
系统进程
1.系统监控进程(SMON)
按照联机重做日志文件中的记录执行所需的实例恢复操作
2.进程控制进程(PMON)
清除失败用户的进程,释放用户当时正在使用的资源
3.数据库写入进程(DBWR)
负责管理数据块缓冲区及字典缓冲区的内容
4.日志写入进程(LGWR)
将重做日志缓冲区的内容写入联机重做日志文件中
物理文件
1.重做日志
2.控制文件
3.跟踪文件及警告日志
修改控制文件参数:
(1) 备份数据库
(2) ALTER BATABASE BACKUP CONTROL FILE TO TRACE(创建了追踪文件,在USER_DUMP_DEST)
(3) 除了CREATECONTROL FILE语句外,删除追踪文件中的所有行,设置新的参数值
(4) SHUTDOWN NORMAL 将旧控制文件移到备份目录中
(5) STARTUP NOMOUNT,运行CREATE CONTROL FILE追踪文件
(6) ALTER DATABASE OPEN 参数值设置高一点
分区
当把大表分成若干小表时,可以规定一些范围供数据库使用
模式
用户帐号拥有的对象集称为用户的方案或模式(schema)
段,盘区,块
是逻辑数据库对象的副本。放在表空间的一个数据文件上。由称作盘区(extent)的一些相邻的oracle块集合组成
用户撤销一个段时,该段所使用的盘区就称为自由盘区。
回滚段
保证数据库中多用户读的一致性和能够回滚事务。回滚段提供一个前映象数据。
DSS(决策支持系统)
OLTP(联机分析系统)
Pl/sql
Scott/tiger
IN: 等于括号内任一成员
Not in
Between A and B
Not between A and B
Like ‘%xxx%’ 包含给定字符串xxx
NVL(sal,o)如果返回值为空值,则用0替换空值
Distinct:可以返回若干个相同值里的一个,避免出现重复
(2*sal)sal :可以把前面算出的值赋值给sal
常用分组函数
Max()
Count()
Avg()
min()
sum()
多表连接
Right outer join
Left outer join
Select d.dname,e.ename
From emp e,deptno d
Where d.deptno=e.deptno
Orader by d.deptno;
Group by
Note:在select部分用到的表列必须用分组函数
Having字句:为一组记录设置查询的条件,和group by一起使用
Set heading off
Set pagesize 0
Set feedback off
Set echo off
Spool out.dat
Select ename||’’’’||sal
Select ‘’’’||ename||’’’’
Spool off
集合并操作:union
集合全并:union all
集合交操作:intersect
集合差操作:minus
空值:nvl(XX,0)
Decode(expression,val1,trans1,val2,…valn,transn,default)
数据库管理

你可能感兴趣的:(oracle,sql,算法,cache)