我已经在AWS oracle RDS中创建了一个用户,并具有我的表,函数和所有其他代码。由于需要该数据库结构的相同副本,因此我使用SQL Developer将其导出到sql文件。创建了另一个用户,现在想将sql文件导入到该新用户,但是它抛出权限不足错误。
ORA-01031:特权不足
- 00000-“权限不足”
*原因:试图执行数据库操作而没有必要的特权。
*操作:询问您的数据库管理员或指定的安全性管理员授予您必要的权限
我已将特权授予用户。是因为create table语句中存在user1吗?
CREATE TABLE "user1"."MBOMCOMPONENTS" ( "COMPONENTNO" VARCHAR2(14 BYTE), "PLANT" VARCHAR2(50 BYTE) )
请您帮忙。谢谢,文殊
CREATE TABLE
“ user1”。“ MBOMCOMPONENTS”(“ COMPONENTNO” VARCHAR2(14 BYTE),“ PLANT” VARCHAR2(50 BYTE))`
此语句在"user1"
模式中建立一个表。如果当前模式不是"user1"
,并且当前用户缺少CREATE ANY TABLE特权,则该命令将失败。
我们如何让具有相同架构和不同数据的单独用户?
模式是用户拥有的一组对象。模式与拥有它的用户具有相同的名称。为了实现您的目标,您需要做的就是从所有SQL语句中删除"user1".
,然后以USER2(或任何人)身份运行脚本。
[供将来参考,SQL Developer导出DDL工具具有一个复选框,用于包含模式名称;默认情况下,它已勾选(即启用),但如果我们想以不同的用户身份运行脚本,则可以取消设置。