Oracle面试必备:SQL与数据库管理难题解析

5星 · 超过95%的资源 需积分: 17 15 下载量 192 浏览量 更新于2024-09-17 收藏 43KB DOC 举报
"这是一组关于SQL和Oracle数据库面试题的集合,涵盖了数据库备份与恢复、数据库对象、性能优化、安全、架构以及故障处理等多个方面的知识。" 1. 冷备份和热备份是数据库备份的两种常见方式。冷备份通常在数据库不运行的状态下进行,保证数据的一致性,但无法实现在线备份;而热备份则允许在数据库运行时备份,能提供较高的可用性,但可能包含未提交的事务。 2. 如果没有控制文件,可以通过从数据库的归档日志或使用原始的创建控制文件的脚本来重建。此外,可以使用`CREATE CONTROLFILE`语句手动创建。 3. 转换init.ora到spfile可以通过`ALTER SYSTEM SET SPFILE= 'new_spfile.ora';`命令完成,然后使用`startup nomount`启动数据库,执行`CREATE SPFILE FROM PFILE='init.ora';`来创建spfile。 4. Data block是数据库存储的基本单位;extent是一系列连续的数据块集合,用于存储特定对象;segment是数据库中逻辑存储的一个单位,由一个或多个extent组成,用于存储表、索引等。 5. 检查表结构的方法包括使用`DESCRIBE table_name`或查询`DBA_TAB_COLUMNS`、`USER_TAB_COLUMNS`视图。 6. 查看数据库引擎的报错通常通过查询`V$diag_info`视图,或者查看数据库的日志文件如alert.log。 7. `TRUNCATE`命令删除表数据且不记录操作,速度快但不支持回滚;`DELETE`记录每条删除操作,速度较慢,但可回滚。 8. 使用索引可以加速数据检索,提高查询性能,但会占用额外的存储空间,并可能导致插入、更新和删除操作变慢。 9. 在星型架构中,FACT Table通常包含事实数据,而DIMENSION Tables存储维度信息。 10. 在FACT Table上通常建立主键索引和用于快速查询的聚集索引。 11. 相关约束包括外键约束和唯一性约束,确保数据的一致性和完整性。 12. 重建母表而不影响子表,需要先禁用外键约束,重建后重新启用。 13. 归档模式记录所有更改的历史,适合长期保留和恢复,而非归档模式只保存最近的数据,适合小规模应用和低恢复需求。 14. 备份控制文件可以使用`ALTER DATABASE BACKUP CONTROLFILE TO TRACE`命令。 15. 数据库启动过程涉及NOMOUNT、MOUNT、OPEN三个状态。 16. V$视图和GV$视图的区别在于GV$包含全局信息,V$是实例级别的信息。 17. 生成EXPLAIN PLAN是通过执行`EXPLAIN PLAN FOR query`,然后查询`DBMS_XPLAN.DISPLAY`来分析查询计划。 18. 增加Buffer Cache命中率可通过增大SGA中的Buffer Cache大小,优化SQL查询,减少全表扫描等。 19. ORA-01555错误通常是因为快照过旧,解决方法包括增大重做日志大小,增加表空间,或优化查询。 20. $ORACLE_HOME是安装Oracle软件的目录,$ORACLE_BASE是基础目录,包含了$ORACLE_HOME和其他配置文件。 21. 查询`SELECT dbtimezone FROM dual;`可以获取数据库的时区。 22. GLOBAL_NAMES参数设为TRUE要求远程数据库服务名与连接的数据库服务名完全匹配,增加安全性。 23. 加密PL/SQL程序可以使用Oracle的Transparent Data Encryption (TDE)功能。 24. FUNCTION是单个操作的自包含代码单元,PROCEDURE是可执行的代码集,PACKAGE是封装相关函数和过程的逻辑单元,提供更好的封装和重用。 25. TABLE Function用于将查询结果作为表格返回,常用于复杂的数据处理。 以上仅是部分问题的解答,面试题集涵盖了数据库管理的各个方面,对于准备SQL和Oracle面试非常有帮助。