ORA-01031: insufficient privileges - while creating new user











up vote
0
down vote

favorite












I have situation where user will create a new users and give a grant to them but I was unable to create a new user via Apex.
enter image description here



I logged in through system and I have already given a grant to create user to system via backend. My granting command looks like



grant create user to system with admin option; but unable to grant.



But if I logged in through SQL Command Line and create a new user it allowed me to create but not via Apex



enter image description here



What am I doing wrong please help me out.



Note I am using apex form to add a new user



enter image description here










share|improve this question






















  • Perhaps the connection being used via APEX has not re-connected since the grant was issued. If possible try to SELECT * FROM SESSIONS_PRIVS and SESSION_ROLES to see what grants are active. You might also like to to try (temporarily) seeing if granting DBA to the APEX user overcomes this, and if so, you would need to delve deeper as to what other privilege contained within the DBA role is required if you want to avoid giving them full DBA privs.
    – TenG
    Nov 17 at 11:22










  • Where should I run that command. Since it comes with the error table or view does not exist
    – Nishan
    Nov 17 at 11:31












  • I would write a test page in your APEX app that lists the results of these queries , since that is the environment that is having the issue. You can run it in SQLPLUS as the same user and then compare the results.
    – TenG
    Nov 17 at 11:44

















up vote
0
down vote

favorite












I have situation where user will create a new users and give a grant to them but I was unable to create a new user via Apex.
enter image description here



I logged in through system and I have already given a grant to create user to system via backend. My granting command looks like



grant create user to system with admin option; but unable to grant.



But if I logged in through SQL Command Line and create a new user it allowed me to create but not via Apex



enter image description here



What am I doing wrong please help me out.



Note I am using apex form to add a new user



enter image description here










share|improve this question






















  • Perhaps the connection being used via APEX has not re-connected since the grant was issued. If possible try to SELECT * FROM SESSIONS_PRIVS and SESSION_ROLES to see what grants are active. You might also like to to try (temporarily) seeing if granting DBA to the APEX user overcomes this, and if so, you would need to delve deeper as to what other privilege contained within the DBA role is required if you want to avoid giving them full DBA privs.
    – TenG
    Nov 17 at 11:22










  • Where should I run that command. Since it comes with the error table or view does not exist
    – Nishan
    Nov 17 at 11:31












  • I would write a test page in your APEX app that lists the results of these queries , since that is the environment that is having the issue. You can run it in SQLPLUS as the same user and then compare the results.
    – TenG
    Nov 17 at 11:44















up vote
0
down vote

favorite









up vote
0
down vote

favorite











I have situation where user will create a new users and give a grant to them but I was unable to create a new user via Apex.
enter image description here



I logged in through system and I have already given a grant to create user to system via backend. My granting command looks like



grant create user to system with admin option; but unable to grant.



But if I logged in through SQL Command Line and create a new user it allowed me to create but not via Apex



enter image description here



What am I doing wrong please help me out.



Note I am using apex form to add a new user



enter image description here










share|improve this question













I have situation where user will create a new users and give a grant to them but I was unable to create a new user via Apex.
enter image description here



I logged in through system and I have already given a grant to create user to system via backend. My granting command looks like



grant create user to system with admin option; but unable to grant.



But if I logged in through SQL Command Line and create a new user it allowed me to create but not via Apex



enter image description here



What am I doing wrong please help me out.



Note I am using apex form to add a new user



enter image description here







oracle forms apex






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 17 at 10:39









Nishan

12811




12811












  • Perhaps the connection being used via APEX has not re-connected since the grant was issued. If possible try to SELECT * FROM SESSIONS_PRIVS and SESSION_ROLES to see what grants are active. You might also like to to try (temporarily) seeing if granting DBA to the APEX user overcomes this, and if so, you would need to delve deeper as to what other privilege contained within the DBA role is required if you want to avoid giving them full DBA privs.
    – TenG
    Nov 17 at 11:22










  • Where should I run that command. Since it comes with the error table or view does not exist
    – Nishan
    Nov 17 at 11:31












  • I would write a test page in your APEX app that lists the results of these queries , since that is the environment that is having the issue. You can run it in SQLPLUS as the same user and then compare the results.
    – TenG
    Nov 17 at 11:44




















  • Perhaps the connection being used via APEX has not re-connected since the grant was issued. If possible try to SELECT * FROM SESSIONS_PRIVS and SESSION_ROLES to see what grants are active. You might also like to to try (temporarily) seeing if granting DBA to the APEX user overcomes this, and if so, you would need to delve deeper as to what other privilege contained within the DBA role is required if you want to avoid giving them full DBA privs.
    – TenG
    Nov 17 at 11:22










  • Where should I run that command. Since it comes with the error table or view does not exist
    – Nishan
    Nov 17 at 11:31












  • I would write a test page in your APEX app that lists the results of these queries , since that is the environment that is having the issue. You can run it in SQLPLUS as the same user and then compare the results.
    – TenG
    Nov 17 at 11:44


















Perhaps the connection being used via APEX has not re-connected since the grant was issued. If possible try to SELECT * FROM SESSIONS_PRIVS and SESSION_ROLES to see what grants are active. You might also like to to try (temporarily) seeing if granting DBA to the APEX user overcomes this, and if so, you would need to delve deeper as to what other privilege contained within the DBA role is required if you want to avoid giving them full DBA privs.
– TenG
Nov 17 at 11:22




Perhaps the connection being used via APEX has not re-connected since the grant was issued. If possible try to SELECT * FROM SESSIONS_PRIVS and SESSION_ROLES to see what grants are active. You might also like to to try (temporarily) seeing if granting DBA to the APEX user overcomes this, and if so, you would need to delve deeper as to what other privilege contained within the DBA role is required if you want to avoid giving them full DBA privs.
– TenG
Nov 17 at 11:22












Where should I run that command. Since it comes with the error table or view does not exist
– Nishan
Nov 17 at 11:31






Where should I run that command. Since it comes with the error table or view does not exist
– Nishan
Nov 17 at 11:31














I would write a test page in your APEX app that lists the results of these queries , since that is the environment that is having the issue. You can run it in SQLPLUS as the same user and then compare the results.
– TenG
Nov 17 at 11:44






I would write a test page in your APEX app that lists the results of these queries , since that is the environment that is having the issue. You can run it in SQLPLUS as the same user and then compare the results.
– TenG
Nov 17 at 11:44














1 Answer
1






active

oldest

votes

















up vote
1
down vote



accepted










Database user named SYSTEM owns the database. It can create users without you granting it that privilege.



Saying that you logged in (to Apex) as system: I'd suggest you not to do that. Leave both SYS and SYSTEM alone. They are special, you don't want to mess up with them.



Create a new user (through SQL*Plus), grant it create user privilege and use it for such a purpose. Just for testing, that's what I did with the HR user:




  • I have Apex 4.0.2 which comes with Oracle 11g XE.

  • There's the HR database user for which I've created an Apex workspace.

  • Logged in to Apex as HR, I created a page with a single item: P3_USERNAME and a button


  • then I created a process that fires when I push the button. The process looks like this:



    begin
    execute immediate 'create user ' || :P3_USERNAME || ' identified by x';
    end;


  • ran the page, entered xxx into the item and pressed a button.


  • checked ALL_USERS and - here it is; user xxx is here


Try to do the same. Should be OK.






share|improve this answer





















    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














     

    draft saved


    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53350408%2fora-01031-insufficient-privileges-while-creating-new-user%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    1
    down vote



    accepted










    Database user named SYSTEM owns the database. It can create users without you granting it that privilege.



    Saying that you logged in (to Apex) as system: I'd suggest you not to do that. Leave both SYS and SYSTEM alone. They are special, you don't want to mess up with them.



    Create a new user (through SQL*Plus), grant it create user privilege and use it for such a purpose. Just for testing, that's what I did with the HR user:




    • I have Apex 4.0.2 which comes with Oracle 11g XE.

    • There's the HR database user for which I've created an Apex workspace.

    • Logged in to Apex as HR, I created a page with a single item: P3_USERNAME and a button


    • then I created a process that fires when I push the button. The process looks like this:



      begin
      execute immediate 'create user ' || :P3_USERNAME || ' identified by x';
      end;


    • ran the page, entered xxx into the item and pressed a button.


    • checked ALL_USERS and - here it is; user xxx is here


    Try to do the same. Should be OK.






    share|improve this answer

























      up vote
      1
      down vote



      accepted










      Database user named SYSTEM owns the database. It can create users without you granting it that privilege.



      Saying that you logged in (to Apex) as system: I'd suggest you not to do that. Leave both SYS and SYSTEM alone. They are special, you don't want to mess up with them.



      Create a new user (through SQL*Plus), grant it create user privilege and use it for such a purpose. Just for testing, that's what I did with the HR user:




      • I have Apex 4.0.2 which comes with Oracle 11g XE.

      • There's the HR database user for which I've created an Apex workspace.

      • Logged in to Apex as HR, I created a page with a single item: P3_USERNAME and a button


      • then I created a process that fires when I push the button. The process looks like this:



        begin
        execute immediate 'create user ' || :P3_USERNAME || ' identified by x';
        end;


      • ran the page, entered xxx into the item and pressed a button.


      • checked ALL_USERS and - here it is; user xxx is here


      Try to do the same. Should be OK.






      share|improve this answer























        up vote
        1
        down vote



        accepted







        up vote
        1
        down vote



        accepted






        Database user named SYSTEM owns the database. It can create users without you granting it that privilege.



        Saying that you logged in (to Apex) as system: I'd suggest you not to do that. Leave both SYS and SYSTEM alone. They are special, you don't want to mess up with them.



        Create a new user (through SQL*Plus), grant it create user privilege and use it for such a purpose. Just for testing, that's what I did with the HR user:




        • I have Apex 4.0.2 which comes with Oracle 11g XE.

        • There's the HR database user for which I've created an Apex workspace.

        • Logged in to Apex as HR, I created a page with a single item: P3_USERNAME and a button


        • then I created a process that fires when I push the button. The process looks like this:



          begin
          execute immediate 'create user ' || :P3_USERNAME || ' identified by x';
          end;


        • ran the page, entered xxx into the item and pressed a button.


        • checked ALL_USERS and - here it is; user xxx is here


        Try to do the same. Should be OK.






        share|improve this answer












        Database user named SYSTEM owns the database. It can create users without you granting it that privilege.



        Saying that you logged in (to Apex) as system: I'd suggest you not to do that. Leave both SYS and SYSTEM alone. They are special, you don't want to mess up with them.



        Create a new user (through SQL*Plus), grant it create user privilege and use it for such a purpose. Just for testing, that's what I did with the HR user:




        • I have Apex 4.0.2 which comes with Oracle 11g XE.

        • There's the HR database user for which I've created an Apex workspace.

        • Logged in to Apex as HR, I created a page with a single item: P3_USERNAME and a button


        • then I created a process that fires when I push the button. The process looks like this:



          begin
          execute immediate 'create user ' || :P3_USERNAME || ' identified by x';
          end;


        • ran the page, entered xxx into the item and pressed a button.


        • checked ALL_USERS and - here it is; user xxx is here


        Try to do the same. Should be OK.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 17 at 16:58









        Littlefoot

        18.1k51333




        18.1k51333






























             

            draft saved


            draft discarded



















































             


            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53350408%2fora-01031-insufficient-privileges-while-creating-new-user%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            "Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

            Alcedinidae

            Origin of the phrase “under your belt”?