oracle原理

oracle 10g
查找ORA相关的环境变量
env|grep ORA
connection

sqlplus与2个文件有关系:

sqlnet.ora
names.directory_path=(tnsnames,ldap,ezconnect)
tnsname.

select语句的执行过程
一共经历了3个阶段
1、parse
2、Execute
3、Fetch
第一个阶段

第一1、在共享池,库高速缓存里面查找sql有吗
第二2、如果没有,进行语法分析
  如果语法错误,返回客户端
第三3、分析表、以及字段有没有问题,先分析表,
   如果没权限,或者字段有问题也会返回错误都是服务器进程做的
第四4、获得对象解析锁,防止修改表结构
show user
第五5、优化器产生sql语句的执行计划,装入共享池的库高速缓存区域

第二个阶段,执行阶段
数据库高速缓存区,如果有,直接执行,DBbuffer
不存在的话,读取数据文件,读取到dbbuffer完了,然后执行取数据的过程,fetch的过程

所有oracle的所有操作都是在内存中执行的,所以说oracle需要大内存的支持.

update-修改
分为
Parse
Execute

分析完以后,行级锁
旧的数据放入undobuffer里面,新数据放入dbbuffer把,还的写入重做日志

什么时候重做日志写硬盘呢???

commit的过程

SCN产生了,写到重做日志里面,
LGWR写进程把重做日志写入重做日志文件里面去
commit commale以后,释放实物表锁和行级锁
oracle采用了快速提交机制,这个时候不知道写没写数据文件?
SMON做善后的工作

你可能感兴趣的:(oracle,oracle,职场,原理,休闲)