📜  45个Oracle面试问题

📅  最后修改于: 2020-11-16 01:18:43             🧑  作者: Mango

Oracle面试问题

Oracle是一个安全的数据库,已在跨国公司中广泛使用。下面是来自oracle数据库的常见问题。

1)Oracle数据库的物理数据库结构的组成部分是什么?

物理数据库结构的组件如下。

  • 一个或多个数据文件。
  • 两个或多个重做日志文件。
  • 一个或多个控制文件。

2)Oracle数据库中逻辑数据库结构的组成部分是什么?

逻辑数据库结构的组件。

  • 表空间
  • 数据库的架构对象

3)什么是表空间?

数据库包含称为表空间的逻辑存储单元。表空间是一组相关的逻辑结构。实际上,表空间将相关的逻辑结构分组在一起。

4)什么是SYSTEM表空间以及何时创建?

在Oracle数据库系统中创建数据库时,它将自动生成一个名为SYSTEM表空间的SYSTEM。 SYSTEM表空间包含整个数据库的数据字典表。

5)什么是Oracle表?

表是Oracle数据库中数据存储的基本单位。表格以行和列包含用户的所有可访问信息。

6)在Oracle版本9.3.0.5.0中,每个数字显示什么?

Oracle版本号是指:

  • 9-主要数据库版本号
  • 3-数据库维护版本号
  • 0-应用服务器版本号
  • 5-组件特定发行版号
  • 0-平台特定版本号

7)什么是Oracle中的批量复制或BCP?

Oracle中的大容量副本或BCP用于从表和视图导入或导出数据,但不复制相同数据的结构。

BCP的主要优点是处理数据的快速机制,您还可以轻松进行数据备份。

8)数据库,表空间和数据文件之间是什么关系?

Oracle数据库包含一个或多个称为表空间的逻辑存储单元。这些表空间共同存储数据库的全部数据,Oracle数据库中的每个表空间由一个或多个称为数据文件的文件组成。这些数据文件是可与运行Oracle的操作系统确认的物理结构。

9)什么是Oracle数据库中的快照?

快照是单个时间点上目标主表的副本。可以简单地说,快照是远程数据库上表的副本。

10)Oracle中的热备份和冷备份有什么区别?告诉他们的好处。

热备份(在线备份):热备份也称为联机备份,因为它是在数据库处于活动状态时完成的。某些站点在制作备份副本时无法关闭其数据库,它们每周7天,每天24小时使用。

冷备份(脱机备份):冷备份也称为脱机备份,因为它是在使用SHUTDOWN normal命令关闭数据库后完成的。如果数据库在不确定的情况下突然关闭,则应以RESTRICT模式重新启动,然后使用NORMAL选项关闭。

要进行完整的冷备份,必须备份以下文件。

所有数据文件,所有控制文件,所有联机重做日志文件(可选)和init.ora文件(您可以手动重新创建)。

11)Oracle共享池中有多少个内存层?

Oracle共享池包含两层:

  • 库缓存
  • 数据字典缓存

12)什么是Oracle数据库中的保存点?

保存点用于将交易分为较小的部分。它允许回滚事务。最多允许五个保存点。它用于保存我们的数据,每当遇到错误时,您都可以从保存SAVEPOINT的位置回滚。

13)什么是Oracle中的哈希集群?

哈希集群是一种将数据存储在哈希表中并提高数据检索性能的技术。哈希函数应用于表行的集群键值并存储在哈希集群中。

14)各种Oracle数据库对象是什么?

表格:这是一组以垂直和水平方式组织的元素。

表空间:这是Oracle中的逻辑存储单元。

视图:它是从一个或多个表派生的虚拟表。

索引:这是一种性能调整方法,用于处理记录。

同义词:这是表的名称。

15)预选和预查询有什么区别?

预查询触发器在查询执行之前触发,并在您尝试查询时触发一次。借助此触发器,您可以动态修改where子句部分。

在Oracle表单构造要发布的select语句之后但在实际发出语句之前,在执行查询和计数查询处理期间触发预选择查询。

预查询触发器在预选择触发器之前触发。

16)Oracle表单中的模块有哪些不同类型?

以下是Oracle表单中的不同模块:

  • 表格模块
  • 菜单模块
  • PL / SQL库模块
  • 对象库模块

17)在Oracle中ANALYZE命令的用法是什么?

ANALYZE命令用于对索引,表或集群执行各种功能。下表指定了Oracle中ANALYZE命令的用法:

  • 它用于标识表或集群的已迁移和链接的行。
  • 它用于验证对象的结构。
  • 它有助于收集有关优化器使用的对象的统计信息。然后将它们存储在数据字典中。
  • 它有助于从数据字典中删除对象使用的统计信息。

18)您可以在没有表的情况下创建同义词吗?

是。我们可以在没有基表的情况下创建同义词。

19)编写子查询时使用什么类型的联接?

  • 自我加入
  • 外连接
  • 等值联接

20)Oracle中控制文件的用法是什么?

在Oracle中,控制文件用于数据库恢复。每当ORACLE数据库实例开始时,控制文件还用于标识数据库和重做日志文件,必须打开这些文件才能继续进行数据库操作。

21)什么是同义词?

同义词也称为表,视图,序列或程序单元的别名。

22)同义词有哪些不同类型?

同义词或别名有两种类型:

私有:它只能由所有者访问。

公用:任何数据库用户都可以访问它。

23)同义词的用法是什么?

  • 同义词可用于隐藏对象的真实名称和所有者。
  • 它提供对对象的公共访问。
  • 它还为远程数据库的表,视图或程序单元提供位置透明性。
  • 它为数据库用户简化了SQL语句。

24)如何将图片存储在数据库中?

是的,您可以使用Long Raw Data类型将图片存储在数据库中。此数据类型用于存储长度为2 GB的二进制数据。但是,该表只能具有一种Long Raw数据类型。

25)Oracle中的BLOB数据类型是什么?

BLOB数据类型是长度可变的二进制字符串的数据类型。它用于存储两个千兆字节的内存。对于BLOB数据类型,长度需要以字节为单位指定。

26)Oracle中的TRANSLATE和REPLACE有什么区别?

Translate用于逐字符替换字符,而Replace用于将单个字符替换为单词。

27)有哪些不同类型的数据库对象?

不同类型的数据库对象的列表:

  • 表格:这是一组以垂直和水平方式组织的元素。
  • 表空间:这是Oracle中的逻辑存储单元。
  • 视图:它是从一个或多个表派生的虚拟表。
  • 索引:这是一种性能调整方法,用于处理记录。
  • 同义词:这是表的名称。

28)Oracle数据库中保存点的用途是什么?

保存点用于将事务划分为较小的阶段。它支持回滚事务的一部分。 Oracle数据库中最多允许有5个保存点。每当遇到错误时,都可以从保存SAVEPOINT的位置回滚。

29)数据库后提交和表单后提交有什么区别?

数据库提交后触发器在Oracle表单向最终事务提交提交后执行,而数据库提交发生后,在提交和提交事务过程中触发表单后提交。

30)什么是Oracle中的逻辑备份?

逻辑备份用于读取一组数据库记录并将它们写入文件。导出实用程序用于进行备份,而导入实用程序用于从备份中恢复。

31)通过重做日志文件镜像您了解什么?

镜像是拥有重做日志文件副本的过程。这是通过一起创建一组日志文件来完成的。这样可以确保LGWR自动将它们写入当前在线重做日志组的所有成员。如果该组失败,数据库将自动切换到下一个组。它会降低性能。

32)Oracle中的递归提示是什么意思?

字典表被各种过程重复调用的次数称为递归提示。由于数据字典缓存的大小较小,因此出现了递归提示。

33)CHECK约束的局限性是什么?

CHECK约束的主要限制是条件必须是使用要插入或更新的行中的值评估的布尔表达式,并且不能包含子查询。

34)IMP命令中GRANT选项的用途是什么?

GRANT用于导入对象授权。

35)IMP命令中ROWS选项的用途是什么?

ROWS选项指示是否应导入表行。

36)IMP命令中INDEXES选项的用途是什么?

INDEXES选项用于确定是否导入索引。

37)IMP命令中IGNORE选项的用途是什么?

IGNORE选项用于指定应如何处理对象创建错误。

38)IMP命令中的SHOW选项有什么用?

SHOW选项指定何时显示show = y的值,以显示导出文件中的DDL。

39)IMP命令中FILE参数的用途是什么?

FILE参数用于指定要导入的导出文件的名称。可以列出多个文件,以逗号分隔。

40)如何在Oracle中将日期转换为char?举一个例子。

to_char()函数用于将日期转换为字符。您还可以指定要输出的格式。

SELECT to_char ( to_date ('12-12-2012', 'DD-MM-YYYY') , 'YYYY-MM-DD') FROM dual;

要么,

SELECT to_char ( to_date ('12-12-2012', 'DD-MM-YYYY') , 'DD-MM-YYYY') FROM dual;

41)实际参数和形式参数是什么?

实际参数:实际参数是子程序的参数列表中引用的变量或表达式。

让我们来看一个过程调用,其中列出了两个实际参数,分别是empno和amt:

raise_sal(empno, amt);

形式参数:形式参数是在子程序规范中声明并在子程序主体中引用的变量。

以下过程声明两个名为empid和amt的形式参数:

PROCEDURE raise_sal(empid INTEGER, amt REAL) IS current_salary REAL;

42)Oracle报告使用哪些扩展名?

Oracle报告用于通过该工具使业务实现,从而以安全的方式提供内部或外部的所有级别的信息。 Oracle报告使用REP文件和RDF文件扩展名。

43)如何在Oracle数据库中将字符串转换为日期?

语法:to_date(字符串,格式)

让我们举个例子:

to_date ('2012-12-12', 'YYYY/MM/DD')

它将在2012年12月12日返回。

44)您如何在Oracle中找到当前日期和时间?

Oracle中的SYSDATE()函数用于查找运行数据库的操作系统的当前日期和时间。

SELECT TO_CHAR (SYSDATE, 'MM-DD-YYYY HH24:MI:SS') "Current_Date" FROM DUAL;

45)以“ YYYY-MM-DD”格式查找当前日期和时间的语法是什么?

SELECT TO_CHAR (SYSDATE, 'YYYY-MM-DD HH24:MI:SS') "Current_Date" FROM DUAL;