合 Oracle DBA面试笔试之初中级DBA通用系列
一、基本概念类
1、数据库正常启动所经历状态
startup nomount :数据库实例启动
startup mount :数据库装载
startup open :数据库打开
2、简述table segment extent block之间的关系
大小关系:table>segment>extend>block
3、描述tablespace和datafile之间的关系
tablespace和datafile是一对多的关系,
tablespace是逻辑上的概念,datafile则在物理上储存了数据库的种种对象。
4、AMM和ASMM有什么特点
自动内存管理(AMM): memory_target=非0,是自动内存管理 ,如果初始化参数 LOCK_SGA = true ,则 AMM 是不可用的。
自动共享内存管理(ASMM): 在memory_target=0 and sga_target=非0 是自动内存管理
5、回滚段的作用是什么
事务回滚:当事务修改表中数据的时候,该数据修改前的值会存放在回滚段中,当用户回滚事务时,Oracle将会利用回滚段中的数据来将修改的数据恢复到原来的值。
事务恢复:当事务正在处理的时候,例程失败,回滚段的信息保存在undo表空间中,Oracle将在下次打开数据库时利用回滚来恢复未提交的数据。
读一致性:当一个会话正在修改数据时,其他的会话将看不到该会话未提交的修改。当一个语句正在执行时,该语句将看不到从该语句开始执行后的未提交的修改(语句级读一致性)。
6、日志的作用是什么
记录数据库事务,最大限度地保证数据的一致性与安全性
redo log:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复,一个数据库至少需要两个重做日志文件
archive log:是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。
7、SGA主要有那些部分,主要作用是什么
SGA:
db_cache
shared_pool
large_pool
java_pool
db_cache: 对于Oracle数据库的运转和性能起着非常关键的作用,它占据Oracle数据库SGA(系统共享内存区)的主要部分。Oracle数据库通过使用LRU算法,将最近访问的数据块存放到缓存中,从而优化对磁盘数据的访问.
shared_pool:共享池的大小对于Oracle性能来说也是很重要的。共享池中保存数据字典高速缓冲和完全解析或编译的的PL/SQL 块和SQL 语句及控制结构
large_pool:使用MTS配置时,因为要在SGA中分配UGA来保持用户的会话,就是用Large_pool来保持这个会话内存使用rman做备份的时候,要使用Large_pool这个内存结构来做磁盘I/O缓存器
java_pool: 为java procedure预备的内存区域,如果没有使用java proc,java_pool不是必须的