GRANT SELECT在其他模式表上

时间:2018-05-01 06:07:10

标签: oracle liquibase

我们的应用程序的数据跨两个模式构建,我们称之为Main和Archive。这是必需的,因为Main模式中的一些表存档到Archive模式中的相应表中。

主模式更新使用Liquibase servlet运行,该servlet由应用程序首次启动时由Main用户运行。

目前,所有存档更新都作为单独的DBA任务运行。这有点不方便,因为我们必须让DBA参与简单的事情,比如在归档模式中创建一个新表,并向主用户授予正确的权限,主用户是所有应用程序数据的绝对所有者。

我们正在考虑让Main用户能够在归档模式中创建/更改对象,并将其嵌入我们的Liquibase脚本中。

主用户已被授予APP_ADMIN_ROLE,使其有权获得CREATE,ALTER,COMMENT ON等任何表,以便能够在Archive模式中创建和删除表。

但是,我们遇到的问题是,尽管主用户可以创建存档表,但它无法将该表上的CRUD操作授予自身。

有没有办法实现这一目标。

GRANT DBA TO MAIN不是一种选择。

提前致谢

1 个答案:

答案 0 :(得分:0)

为了将来参考(并摘自 kfinity 的评论),以下解决方案最好地回答了 OP 问题:

<块引用>

一个懒惰的修复:您还可以为任何表授予 CRUD 操作。在你的 在这种情况下,您可以将其授予主用户或角色。例如

const sampleMarkup = '<mark>I want this message to be highlighted</mark>'; this.setState({ editorState: EditorState.createWithContent( stateFromHTML(sampleMarkup) ) });