title: create table in a different schema
body: <p>I am trying to create a table on a different schema without using "create any table" privilege. I have an application user/schema.</p>
  
  <pre><code>TABLESPACE_NAME                    USEDMB      MAXMB
  ------------------------------ ---------- ----------
  APPLICATION                         .8125         50
  </code></pre>
  
  <p>The application has quota on the tablespace. The user doesn't have quota on any tablespace, and the user's default tablespace is application. </p>
  
  <p>The application schema has existing tables. </p>
  
  <pre><code>TABLE_NAME
  ------------------------------
  CUSTOMERS
  </code></pre>
  
  <p>The user can create session and belong to a role app_dev.</p>
  
  <pre><code>GRANTEE         OWNER           TABLE_NAME           PRIVILEGE
  --------------- --------------- -------------------- ---------------
  APP_DEV         APPLICATION     CUSTOMERS            DELETE
  APP_DEV         APPLICATION     CUSTOMERS            SELECT
  
  
  GRANTEE         PRIVILEGE       ADMIN_OPT
  --------------- --------------- ---------
  APP_DEV         CREATE TABLE    NO
  
  GRANTEE         GRANTED_ROLE
  --------------- ------------------
  USER            APP_DEV
  </code></pre>
  
  <p>Now i am trying to create a table on application schema with the user "user" but i am getting error:</p>
  
  <pre><code>SQL&gt; create table application.test as select * from application.customers;
  create table application.test as select * from application.customers
                                                             *
  ERROR at line 1:
  ORA-01031: insufficient privileges
  </code></pre>
  
  <p>I know the problem can be solved by granting "create any table" but it's a security risk. In addition, creating a procedure on application schema and granting execution to the user wont help, because different kinds of tables will be created by the user and the structure is unknown. </p>
  
  <p>Is there another way? </p>
  
  <p>Thanks,
  MJ</p>