ORA-01749: 您自己不能 GRANT/REVOKE 特权 to/from
ORA-01749: you may not GRANT/REVOKE privileges to/from yourself
我正在运行从 RATOR_MONITORING
模式执行以下查询,该模式授予从 RATOR_MONITORING_CONFIGURATION.SMSC_GATEWAY
table 到 RATOR_MONITORING
模式的引用权限。
GRANT REFERENCES ON "RATOR_MONITORING_CONFIGURATION"."SMSC_GATEWAY" TO "RATOR_MONITORING";
ALTER TABLE "RATOR_MONITORING"."SMSC_GATEWAY_STATUS" ADD CONSTRAINT "SMSC_GATEWAY_STATUS_FK1" FOREIGN KEY ("SMSC_GATEWAY_ID")
REFERENCES "RATOR_MONITORING_CONFIGURATION"."SMSC_GATEWAY" ("ID") ON DELETE CASCADE ENABLE;
当我 运行 以下查询时,我收到错误消息:
SQL Error: ORA-01749: you may not GRANT/REVOKE privileges to/from yourself
我还有其他 sql 语句,我只想从 RATOR_MONITOR
模式中 运行。此 sql 语句存储在 sql 文件中。我正在 运行 中 sql 加上 sql 文件。那么有什么方法可以使用匿名块或任何其他方法,我可以连接到架构 RATOR_MONITORING_CONFIGURATION
架构并授予引用权限,然后再次连接到 rator_monitor 架构和 运行 更改 table 语句以及其他 sql 语句。
如果您有 SQL 脚本来执行此操作,那么您只需添加连接语句即可切换用户,如下所示。
我有 test.sql
文件,其中包含 grant 和 alter 语句。我有两个用户 sh
和 hr
.
conn sh/sh@orcl
grant REFERENCES on sh.customers to hr;
conn hr/hr@orcl
ALTER TABLE cust ADD CONSTRAINT fk1 FOREIGN KEY (ID) REFERENCES sh.customers(CUST_ID) ON DELETE CASCADE ENABLE;
而且我已经简单地执行了脚本。
[oracle@ora12c ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Tue Jan 17 15:19:40 2017
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
and Real Application Testing options
SQL> @test.sql
Connected.
Grant succeeded.
Connected.
Table altered.
SQL>
我正在运行从 RATOR_MONITORING
模式执行以下查询,该模式授予从 RATOR_MONITORING_CONFIGURATION.SMSC_GATEWAY
table 到 RATOR_MONITORING
模式的引用权限。
GRANT REFERENCES ON "RATOR_MONITORING_CONFIGURATION"."SMSC_GATEWAY" TO "RATOR_MONITORING";
ALTER TABLE "RATOR_MONITORING"."SMSC_GATEWAY_STATUS" ADD CONSTRAINT "SMSC_GATEWAY_STATUS_FK1" FOREIGN KEY ("SMSC_GATEWAY_ID")
REFERENCES "RATOR_MONITORING_CONFIGURATION"."SMSC_GATEWAY" ("ID") ON DELETE CASCADE ENABLE;
当我 运行 以下查询时,我收到错误消息:
SQL Error: ORA-01749: you may not GRANT/REVOKE privileges to/from yourself
我还有其他 sql 语句,我只想从 RATOR_MONITOR
模式中 运行。此 sql 语句存储在 sql 文件中。我正在 运行 中 sql 加上 sql 文件。那么有什么方法可以使用匿名块或任何其他方法,我可以连接到架构 RATOR_MONITORING_CONFIGURATION
架构并授予引用权限,然后再次连接到 rator_monitor 架构和 运行 更改 table 语句以及其他 sql 语句。
如果您有 SQL 脚本来执行此操作,那么您只需添加连接语句即可切换用户,如下所示。
我有 test.sql
文件,其中包含 grant 和 alter 语句。我有两个用户 sh
和 hr
.
conn sh/sh@orcl
grant REFERENCES on sh.customers to hr;
conn hr/hr@orcl
ALTER TABLE cust ADD CONSTRAINT fk1 FOREIGN KEY (ID) REFERENCES sh.customers(CUST_ID) ON DELETE CASCADE ENABLE;
而且我已经简单地执行了脚本。
[oracle@ora12c ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Tue Jan 17 15:19:40 2017
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
and Real Application Testing options
SQL> @test.sql
Connected.
Grant succeeded.
Connected.
Table altered.
SQL>