Oracle 50 道面试题及答案.docx
Oracle 面试题知识点总结 本文总结了 Oracle 相关的面试题和答案,涵盖了冷备份和热备份、控制文件、init.ora 到 spfile 的转换、数据块、extent 和 segment 的区别、检查表结构、错误日志查看、truncate 和 delete 命令的差异、索引的理由、STAR SCHEMA 中的表、相关约束、归档和非归档模式、备份控制文件、数据库正常启动状态、视图、explain plan、buffer cache 命中率、ORA-01555 错误的应对方法、ORACLE_BASE 和 ORACLE_HOME 的区别、数据库时区、GLOBAL_NAMES 的用途、PL/SQL 程序加密、FUNCTION、PROCEDURE 和 PACKAGE 的区别、TABLE Function 的用途等多个方面的知识点。 冷备份和热备份 冷备份是在数据库关闭后进行备份,适用于所有模式的数据库。热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。 控制文件 控制文件是 Oracle 数据库的重要组件,用于存储数据库的结构信息。如果控制文件丢失,可以使用 recover 命令恢复数据库,例如:recover control file from '/backup/control01.ctl'; init.ora 到 spfile 的转换 可以使用 create spfile from pfile 命令将 init.ora 文件转换为 spfile。 数据块、extent 和 segment 的区别 数据块是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的数据块就组成了 extent。一个数据库对象拥有的所有 extents 被称为该对象的 segment。 检查表结构 可以使用 DESCRIBE 命令或 DBMS_METADATA.GET_DDL 包来检查表结构。 错误日志查看 可以查看数据库引擎的报错 alert log。 truncate 和 delete 命令的差异 truncate 和 delete 命令都可以用来删除表中所有的记录。truncate 是 DDL 操作,它移动 HWK,不需要 rollback segment。delete 是 DML 操作,需要 rollback segment 且花费较长时间。 索引的理由 索引可以快速访问表中的数据块。 STAR SCHEMA 中的表 STAR SCHEMA 中有两种表:fact tables 和 dimension tables。fact table 包含大量的主要信息,而 dimension tables 存放对 fact table 某些属性描述的信息。 相关约束 有两种相关约束:主键和外键。 归档和非归档模式 归档模式是指可以备份所有的数据库 transactions 并恢复到任意一个时间点。非归档模式则相反,不能恢复到任意一个时间点。但是非归档模式可以带来数据库性能上的少许提高。 备份控制文件 可以使用 Alter database backup control file to trace 命令建立备份控制文件。 数据库正常启动状态 数据库正常启动状态有三种:STARTUP NOMOUNT、STARTUP MOUNT、STARTUP OPEN。 视图 可以使用 INST_ID 列来区别视图,指明集群环境中具体的某个 instance。 explain plan 可以使用 utlxplan.sql 或 utlxpls.sql 生成 explain plan。 buffer cache 命中率 可以使用 buffer cache advisory 工具,查询 v$db_cache_advice。如果有必要更改,可以使用 alter system set db_cache size 命令。 ORA-01555 错误的应对方法 可以通过增大 rollback seg 来解决问题。 ORACLE_BASE 和 ORACLE_HOME 的区别 ORACLE_BASE 是 oracle 的根目录,ORACLE_HOME 是 oracle 产品的目录。 数据库时区 可以使用 SELECT DBTIMEZONE FROM DUAL; 来判断数据库的时区。 GLOBAL_NAMES 的用途 GLOBAL_NAMES 指明联接数据库的方式。如果这个参数设置为 TRUE,在建立数据库链接时就必须用相同的名字连结远程数据库。 PL/SQL 程序加密 可以使用 WRAP 加密 PL/SQL 程序。 FUNCTION、PROCEDURE 和 PACKAGE 的区别 function 和 procedure 是 PL/SQL 代码的集合,通常为了完成一个任务。procedure 不需要返回任何值,而 function 将返回一个值。在另一方面,Package 是为了完成一个商业功能的一组 function 和 procedure 的集合。 TABLE Function 的用途 TABLE Function 是通过 PL/SQL 代码实现的函数,可以返回一个表。
剩余10页未读,继续阅读
- 粉丝: 35
- 资源: 5321
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助