有很多朋友向我要一些简单的oracle面试题,我发到这篇帖子里,方便大家翻阅!
Oracle 数据库DBA面试题目及答案
答:1)STARTUP NOMOUNT --数据库实例启动阶段;(此时数据库启动SGA和后台进程)
2)STARTUP MOUNT --数据库装载阶段; (此时数据库会根据参数文件来导入控制文件)
3)START OPEN --数据库打开状态;(此时数据库开启)
答:相同之处:两者都可以用来删除数据表中的记录;
不同之处:truncate是DDL操作,它移动HWK(高水位线)无需记录到rollback segment(回滚段);
Delete属性DML操作需要记录回滚日志(rollback segment),因此当所要删除的数据表过大时,会占用大量系统资源。
注:说出前4个即可,后4个为rac的进程;
答:SGA(System Global Area)系统全局区域由多个内存组件组成,这些内存组件包括Database Buffer Cache(数据库缓冲区)、Redo Log Buffer(日志缓冲区)、In-Memory Column Store(内存列存储)、Shared Pool(共享池)、Large Pool(大池)、Java Pool、Streams Pool等
答:可以使用命令 crs_stat -t
或 crsctl stat res -t
或者使用srvctl config 查看相应的服务或资源状态
最大保护(Maximum Protection)
这种模式提供了最高级别的数据保护能力;
2)要求至少一个物理备库收到重做日志后,主库的事务才能够提交;
3)主库找不到合适的备库写入时,主库会自动关闭,防止未受保护的数据出现;
4)优点:该模式可以保证备库没有数据丢失;
5)缺点:主库的自动关闭会影响到主库的可用性,同时需要备库恢复后才能提交,对网络等客观条件要求非常的高,主库的性能会因此受到非常大的冲击。
最高可用(Maximum Availability)
1)该模式提供了仅次于“最大保护模式”的数据保护能力;
2)要求至少一个物理备库收到重做日志后,主库的事务才能够提交;
3)主库找不到合适的备库写入时,主库不会关闭,而是临时降低到“最大性能模式”模式,直到问题得到处理;
4)优点:该模式可以在没有问题出现的情况下,保证备库没有数据丢失,是一种折中的方法;
5)缺点:在正常运行的过程中缺点是主库的性能受到诸多因素的影响。
最高性能(Maximum Performance)
1)该模式是默认模式,可以保证主数据库的最高可用性;
2)保证主库运行过程中不受备库的影响,主库事务正常提交,不因备库的任何问题影响到主库的运行;
4)优点:避免了备库对主数据库的性能和可用性影响;
5)缺点:如果与主库提交的事务相关的恢复数据没有发送到备库,这些事务数据将被丢失,不能保证数据无损失;
答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。
冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。
冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘)
答:需要重建控制文件,可以用带backup control file 子句的recover 命令恢复数据库
答:1)explain plan for获取
2)set autotrace on ;
3)statistics_level=all;
4)通过dbms_xplan.display_cursor输入sql_id参数直接获取
5)10046 trace跟踪
6)awrsqrpt.sql
答:
-----关闭RAC数据库-----
1).关闭监听(grid用户),阻止新的程序在连接进来
srvctl stop listener
2).写脏块
alter systerm checkpoint;(多执行几次)
3).关闭数据库(grid用户下) racdb指的是数据库全局唯一名。执行时间会较长,不要终止
/u01/app/11.2.0/grid/bin/srvctl stop database -d racdb -o immediate
4).关闭集群件(root用户)
/u01/app/11.2.0/grid/bin/crsctl stop cluster -all
5).查看资源状态
/u01/app/11.2.0/grid/bin/crsctl status resource -t
-----------启动RAC数据库-----
1).默认情况下,集群软件会随着操作系统的启动而启动(root)。
检查集群资源:/u01/app/11.2.0/grid/bin/crsctl status resource -t --所有都 需要是online状态
启动集群资源:
/u01/app/11.2.0/grid/bin/crsctl start cluster -all
2).启动数据库(grid)
srvctl start database -d racdb
3).查看监听状态。默认情况下监听会随着集群软件启动(grid)。
srvctl status listener --查看监听状态
srvctl start listener --启动监听
4).登录plsql进行连接测试。