Oracle DBA面试问题记录
1.select执行时oracle内部的过程
分析:其中包括语法分析、语义分析、视图转换、表达式转换、选择优化器、选择连接方式、选择连接顺序、选择数据搜索路径等等,然后在SGA中的共享SQL区中找是否执行过该语句,如找到则直接执行已编译的SQL语句,如没有找到,则先编译后放入SGA,并执行编译后的SQL语句。
执行:在执行编译过的SQL语句时,先在SGA中的数据库缓冲区内查找是否存在所需要的数据,如有直接读取,如果没有,则从物理文件中读取至数据库缓冲区并读取。
返回结果:对SELECT 语句需要返回结果的语句,先看是否需要排序,需要,则排序后返回给用户,然后根据内存的大小不同,可以一次取出一行数据,也可以一次取一组数据。
2.热备份导致非一致性解决方法
使用热备份会导致备份的数据具有非一致性,在Oracle提供的RMAN工具中可以依靠联机重做日志解决恢复备份时导致的非一致性。
3.热备份所备份文件
数据库文件
日志文件
控制文件
参数文件
口令文件
网络参数文件
4.数据库中的最小读写操做以什么为单位
Oracle block是Oracle数据库中读写操作的最小单元。一个Oracle block由三个部分组成,分别是数据块头、自由空间、实际数据三部份组成。
数据块头:主要包含有数据块地址的一些基本信息和段的类型,以及表和包含有数据的实际行的地址。
自由空间:是指可以为以后的更新和插入操作分配的空间,大小由PCTFREE和PCTUSED两个参数影响。
实际数据:是指在行内存储的实际数据。
当创建或者更改任何表和索引的时候,Oracle在空间控制方面使用两个存储参数:PCTFREE:为将来更新已经存在的数据预留空间的百分比。PCTUSED:用于为插入一新行数据的最小空间的百分比。这个值决定了块的可用状态。可用的块时可以执行插入的块,不可用状态的块只能执行删除和修改,可用状态的块被放在freelist中。
5.数据库的两种连接模式
1.专用服务器连接(dedicated server)
在专用服务器模式下,优点就是每个用户都有一个连接,所以大家不至于有的应用占着连接造成别的客户的请求给挂起了。而最大的缺点在于内存管理上。
2.共享服务器连接(shared server)
而共享连接方式优点在于连接数量固定,所以内存数量不会占用很多。共享服务器的最大的缺点还是在于数据仓库模式下运行的时候,如果有大量的请求需要长时间占用服务器,那么就会造成很多别的请求的挂起,导致整个服务器性能的降低。
6.oracle服务器的体系结构
oracle系统体系结构由实例、逻辑结构和物理结构组成。
1.实例:SGA、系统监视SMON、进程监视PMON、数据库写入器DBWn、日志写入器LGWR、检查点CKPT等进程组成。
2.逻辑结构:主要由:表空间、段、区和数据块等概念组成。逻辑结构是面向用户的,用户使用Oracle开发应用程序使用的就是逻辑结构。数据库存储层次结构及其构成关系,结构对象也从数据块到表空间形成了不同层次的粒度关系
3.物理结构:主要是数据库文件,包括控制文件、重做日志文件、数据文件等等。
7.RAC实际应用群集
RAC允许不同计算机上的多个实例打开共享磁盘系统上的一个或多个公用数据库,它极大地提高了数据库的性能、容错和可伸缩性。多对多的架构也可用较低的价格扩展数据库规模。
8.Linux启动过程
poweron --BIOS自检--LILO/GRUB调用---KERNEL 调用--INIT 调用---MIGGETTY--LOGIN
9.Linux决定开机后是否进入GUI界面的配置文件名
在UNIX/Linux中一般将运行级别分为7级(一说九级,但实际应用为六级,保留一级):
0 系统停机
1 单用户模式
2 多用户模式
3 网络多用户模式
4 保留
5 X11模式(即进入图形界面模式)
6 重起
系统将其设置在/etc/inittab配置文件中:
id:3:initdefault:
10.oracle调整工具
1.STATSPACK:通过Statspack我们可以很容易的确定Oracle数据库的瓶颈所在,记录数据库性能状态。
2.SQL Tuning:SQL Tuning Advisor用一个调整工具集作为输入,检查其中的语句并为它们提出优化建议。
11.Date Guard
Oracle9i Data Guard 通过使用称为standby database的数据库来防止出现数据的灾难。它通过将primary database数据库的重做日志传到并应用到standby database数据库来使standby database数据库与primary database数据库同步。
Oracle Standby Database 是最经常使用的最有效的灾难解决方案。在过去版本的基础上,Oracle9i 又进行了许多改进,使其功能远远超过了基本的灾难恢复要求。通过将复杂的工作自动化,并对监控、警告、以及控制机制的大规模改进,Standby Database 和一些新的模块可以帮助DBA 从错误操作、瘫痪、以及其它的灾难中恢复(这些灾难都可能毁掉数据库)。另外,通过使用Oracle9i Standby Database,由于硬件和软件升级造成的宕机时间也可以极度缩短。
Oracle9i 将改进过的8版本的Standby Database功能,与几个新增加的防止用户错误和瘫痪的模块合起来称为Oracle9i Data Guard。