当表没有 SELECT 权限时,如何在 informix db 中卸载表?
Posted
技术标签:
【中文标题】当表没有 SELECT 权限时,如何在 informix db 中卸载表?【英文标题】:How to take unload of a table in informix db when table not having SELECT permission? 【发布时间】:2013-07-18 05:29:13 【问题描述】:当表为not
具有SELECT
权限时,是否有可能卸载表。
【问题讨论】:
【参考方案1】:如果您打算使用高性能加载器或 Informix SQL 扩展 UNLOAD TO file SELECT ...
卸载表,那么不。您需要以具有 SELECT 权限的用户身份执行该语句。
我无法验证onunload
实用程序会发生什么,但我怀疑答案会是一样的,因为我很确定您需要提升权限(DBA 或 DBSA ) 首先运行它。
为什么你没有 SELECT 权限?如果有充分的理由,那么无论如何都不应该允许您将表的内容写入平面文件。
【讨论】:
【参考方案2】:使用 SPL“系统”命令从您的用户没有访问权限的表中卸载数据。此命令作为定义为 DBA 的 Informix 用户运行。您可以使用这个不错的命令查看您的文件系统或删除整个数据库。还有更多其他方法可以做到这一点。
【讨论】:
仅当您可以将 SPL 创建为CREATE DBA PROCEDURE ...
。在这种情况下,您首先没有权限问题。
SYSTEM 语句不会在正确配置的系统上将程序作为“informix”运行。只有当“oninit”可执行文件不是应有的 SUID root 并且用户“informix”启动服务器时才会发生这种情况。
我完全同意乔纳森的话。问题是:如果你没有权利——你就没有权利。我将问题理解为:“如何在错误安装的 Informix 系统上找到安全整体?”以上是关于当表没有 SELECT 权限时,如何在 informix db 中卸载表?的主要内容,如果未能解决你的问题,请参考以下文章
ABAP:SELECT SINGLE当没有发现数据时不会更改INTO后的变量