将sql文件导入新用户会在sqldeveloper中引发权限不足错误

问题描述 投票:0回答:1

我已经在AWS oracle RDS中创建了一个用户,并具有我的表,函数和所有其他代码。由于需要该数据库结构的相同副本,因此我使用SQL Developer将其导出到sql文件。创建了另一个用户,现在想将sql文件导入到该新用户,但是它抛出权限不足错误。

ORA-01031:特权不足

  1. 00000-“权限不足”

*原因:试图执行数据库操作而没有必要的特权。

*操作:询问您的数据库管理员或指定的安全性管理员授予您必要的权限

我已将特权授予用户。是因为create table语句中存在user1吗?

CREATE TABLE "user1"."MBOMCOMPONENTS" ( "COMPONENTNO" VARCHAR2(14 BYTE), "PLANT" VARCHAR2(50 BYTE) )

请您帮忙。谢谢,文殊

oracle amazon-web-services oracle-sqldeveloper rds ora-01031
1个回答
0
投票

CREATE TABLE“ user1”。“ MBOMCOMPONENTS”(“ COMPONENTNO” VARCHAR2(14 BYTE),“ PLANT” VARCHAR2(50 BYTE))`

此语句在"user1"模式中建立一个表。如果当前模式不是"user1",并且当前用户缺少CREATE ANY TABLE特权,则该命令将失败。

我们如何让具有相同架构和不同数据的单独用户?

模式是用户拥有的一组对象。模式与拥有它的用户具有相同的名称。为了实现您的目标,您需要做的就是从所有SQL语句中删除"user1".,然后以USER2(或任何人)身份运行脚本。

[供将来参考,SQL Developer导出DDL工具具有一个复选框,用于包含模式名称;默认情况下,它已勾选(即启用),但如果我们想以不同的用户身份运行脚本,则可以取消设置。

© www.soinside.com 2019 - 2024. All rights reserved.