【问题标题】:Create user with admin option oracle 11g command not working使用管理选项创建用户 oracle 11g 命令不起作用
【发布时间】:2012-03-16 09:13:02
【问题描述】:

好的,这个命令不起作用

create user username identified by password with admin option ;

它会抛出一个错误,上面写着missing or invalid option

我以 system 身份登录。我尝试搜索 Oracle 文档,他们编写了相同的命令。我在这里做错了什么?

【问题讨论】:

    标签: sql oracle oracle11g


    【解决方案1】:

    你需要先创建用户;

    CREATE USER username IDENTIFIED BY password;
    

    然后使用 ADMIN OPTION 单独授予权限;

    GRANT dba TO username WITH ADMIN OPTION;
    

    【讨论】:

    • 哦,是的,我阅读文档不好。你在哪里写了dba,如果我们改写system_priveleges会有什么不同?
    • @kushal dba 只是一个例子,psoug.org/reference/roles.html 列出了一些可能的角色及其用途,或者您可以授予docs.oracle.com/cd/B19306_01/server.102/b14200/… 列出的系统权限。“带有管理员选项”的唯一事情是不仅允许用户进入角色,而且还可以管理它。
    • @kushal 是的,您的语句将起作用并将cash所有行 插入tablename(设置列amount)。您当然可以添加一个常规的where 子句来选择要插入的行。
    • 对不起,我不小心删除了上面的评论。所以我再次编写查询insert into students(amount) select cash from payments; 好的,我尝试运行它。我有一个students 表,其中rollno 列作为主键,同一列作为payments 表中的外键,当我运行此命令时,错误提示无法将NULL 插入到students.rollno 中。问题是付款包含单个 rollno 的多个条目(取决于它们的付款日期)。
    • 但我无法真正理解这里抛出的错误。不应该错误地说“rollno 有多个条目,所以不能插入”。
    【解决方案2】:

    “ADMIN OPTION”是“GRANT”语句的一部分。您不能将其与“CREATE USER”一起使用。

    【讨论】:

      【解决方案3】:

      如果你给用户 DBA 权限,你不需要给 admin 选项,DBA 是管理员 您也可以将用户的创建与授予权限这两个语句结合起来:

      创建用户用户名 由密码识别 将 DBA 授予用户名;

      注意:如果我错了,请纠正我。☺

      【讨论】:

        猜你喜欢
        • 2020-01-29
        • 1970-01-01
        • 2017-05-15
        • 2013-10-07
        • 2013-05-25
        • 1970-01-01
        • 1970-01-01
        • 2015-12-31
        • 1970-01-01
        相关资源
        最近更新 更多