OCP-1Z0-052-V8.02-95题

95. You have a large amount of historical data in a flat file. Some analysts in your organization need to

query this data in the file. The file is too large to load the data in it into your current database. 

Which is the most effective method to access this data in your database?

A.Use the database link.

B.Use the SQL*Loader utility.
C.Use the Oracle Data Pump utility.

D.Create an external table and leave the data in the flat file.

Answer: D  

答案解析:

参考:http://blog.csdn.net/rlhua/article/details/12749863

你有一个大量的历史数据在一个平面文件。在您的组织中一些分析需要查询这个文件中的数据。文件过大,以至于不能加载到您当前的数据库中的数据。

哪一个是最有效的方法来访问这个数据库中的数据?

BC不对,题中说文件太大,不能加载到数据库,A也不对,这是一个平面文件,不是数据库文件,不能通过dblink来访问。

所以只能使用外部表来访问。


外部表是以文件形式存储在Oracle DB 外的操作系统上的只读表。
外部表访问外部源中的数据时,就好像该数据位于数据库内的表中一样。你可以连接到数据库并使用DDL 创建外部表的元数据。外部表的DDL 由两部分组成:一部分描述OracleDB 的列类型,另一部分描述如何将外部数据映射到Oracle DB 的数据列。
外部表不描述数据库中存储的任何数据,也不描述数据如何存储在外部源中。而是描述外部表层怎样向服务器提供数据。访问驱动程序和外部表层会对外部文件中的数据进行必要的转换,使这些数据与外部表定义相符,这是访问驱动程序和外部表层的责任。外部表为只读表,因此无法执行DML 操作,也不能对其创建索引。
外部表使用两种访问驱动程序。ORACLE_LOADER访问驱动程序只能用于读取外部表中的表数据并将其载入数据库。它使用文本文件作为数据源。ORACLE_DATAPUMP访问驱动程序既可以将表数据从外部文件载入数据库中,也可以将数据从数据库卸载到外部文件中。
它使用二进制文件作为外部文件。这些二进制文件与impdp和expdp实用程序所用文件的格式相同,并可与之互换。

外部表的优点
 可直接使用外部文件中的数据或将数据加载到另一个数据库。
• 可以同时查询外部数据和数据库中驻留的表,并可将外部数据与数据库中的表直接联接,而不必先加载外部数据。
• 复杂查询的结果可卸载到外部文件中。
• 可组合来自不同源的已生成文件在加载中使用。
为外部表创建的数据文件是可移动的数据文件,可用作同一数据库或不同数据库中另一外部表的数据文件。可以同时查询外部数据和数据库中驻留的表,并可将外部数据与数据库中的表直接联接,而不必先加载外部数据。可选择让应用程序使用SELECT命令直接访问外部表,也可选择先将数据加载到目标数据库。
复杂查询的结果可使用ORACLE_DATAPUMP访问驱动程序卸载到外部文件中。
可在另一外部表的LOCATION子句中指定由不同外部表填充的所有数据文件。这样,可轻松地将多个源的数据汇集到一起。唯一的限制是,所有外部表的元数据必须完全相同。

原文地址:https://www.cnblogs.com/hzcya1995/p/13316548.html