外部 table 限制
External table limitations
现在我正在研究外部 tables...虽然我喜欢它的灵活性。我想知道这些关于外部的东西 table -
就像在 SQL 加载器中一样,我们可以将数据附加到 table。我们可以在外部 table 中做到这一点吗?
在外部table,我们不能创建索引,也不能执行DML操作。这种是虚拟table还是这个在数据库中获取space?
同样在 SQL 加载器中,我们可以从外部的任何服务器访问数据 table 我们定义了默认目录。我们能否反过来在外部 table 中做同样的事情,即从任何服务器访问数据?
外部 tables 允许 Oracle 查询存储在数据库外部的平面文件中的数据,就好像该文件是一个 Oracle table。
ORACLE_LOADER 驱动程序可用于访问以任何格式存储的任何数据,这些数据可以由 SQL*Loader 加载。不能对外部 table 执行 DML,但它们可用于查询、连接和排序操作。可以针对外部 table 创建视图和同义词。它们在数据仓库的 ETL 过程中很有用,因为数据不需要暂存并且可以并行查询。它们不应该用于经常查询的 tables.
您问的是:
- like in SQL Loader we can append data to the table . Can we do that in External table ?
是的。
- In external table , we cannot create indexes neither can we perform DML operations. Is this kind of virtual table or this acquires space in the data basE ?
顾名思义,它在数据库外部。您使用 ORGANIZATION EXTERNAL
语法。该目录在 OS 级别创建。
- Also in SQL loader we can access teh data from any server in external table we define the DEfault directory. Can we in turn do the same in external table that is access the data from any server ?
这是错误的。 SQL*Loader 是一个 客户端 工具,而 外部 table 是一个 服务器端 工具。外部 Table 可以加载可从数据库服务器访问的文件。您无法从客户端上的文件加载外部 Table。您需要将文件保存到 Oracle 服务器可用的文件系统中。
在版本 10g 之前,外部 table 是 READ ONLY
。 DML 无法执行。 从 Oracle 数据库 10g 版本开始,可以写入和读取外部 tables。
来自文档,另请阅读 Behavior Differences Between SQL*Loader and External Tables
现在我正在研究外部 tables...虽然我喜欢它的灵活性。我想知道这些关于外部的东西 table -
就像在 SQL 加载器中一样,我们可以将数据附加到 table。我们可以在外部 table 中做到这一点吗?
在外部table,我们不能创建索引,也不能执行DML操作。这种是虚拟table还是这个在数据库中获取space?
同样在 SQL 加载器中,我们可以从外部的任何服务器访问数据 table 我们定义了默认目录。我们能否反过来在外部 table 中做同样的事情,即从任何服务器访问数据?
外部 tables 允许 Oracle 查询存储在数据库外部的平面文件中的数据,就好像该文件是一个 Oracle table。
ORACLE_LOADER 驱动程序可用于访问以任何格式存储的任何数据,这些数据可以由 SQL*Loader 加载。不能对外部 table 执行 DML,但它们可用于查询、连接和排序操作。可以针对外部 table 创建视图和同义词。它们在数据仓库的 ETL 过程中很有用,因为数据不需要暂存并且可以并行查询。它们不应该用于经常查询的 tables.
您问的是:
- like in SQL Loader we can append data to the table . Can we do that in External table ?
是的。
- In external table , we cannot create indexes neither can we perform DML operations. Is this kind of virtual table or this acquires space in the data basE ?
顾名思义,它在数据库外部。您使用 ORGANIZATION EXTERNAL
语法。该目录在 OS 级别创建。
- Also in SQL loader we can access teh data from any server in external table we define the DEfault directory. Can we in turn do the same in external table that is access the data from any server ?
这是错误的。 SQL*Loader 是一个 客户端 工具,而 外部 table 是一个 服务器端 工具。外部 Table 可以加载可从数据库服务器访问的文件。您无法从客户端上的文件加载外部 Table。您需要将文件保存到 Oracle 服务器可用的文件系统中。
在版本 10g 之前,外部 table 是 READ ONLY
。 DML 无法执行。 从 Oracle 数据库 10g 版本开始,可以写入和读取外部 tables。
来自文档,另请阅读 Behavior Differences Between SQL*Loader and External Tables