Create table ORA-01031: insufficient privileges

SQL > indicate user USER is 'TEST_RPT.

SQL > CREATE TABLE mytest (id NUMBER); - it does not work

CREATE TABLE mytest (id NUMBER)

* ERROR at line 1: ORA-01031: insufficient privileges

SQL > CREATE TABLE TEST_RPT.mytest (id NUMBER).

Table created. SQL >


SQL > select * from session_privs;

PRIVILEGE

----------------------------------------

ANY PROCEDURE DEBUG

DEBUGGING SESSION CONNECT

CREATE INDEXTYPE

OPERATOR TO CREATE

CREATE THE TYPE

CREATE THE TRIGGER

CREATE PROCEDURE

CREATE SEQUENCES

CREATE VIEW

CREATE SYNONYM

CREATE THE CLUSTER

CREATE TABLE

UNLIMITED TABLESPACE

ALTER SESSION STATEMENT

CREATE SESSION

Try this:

SELECT USER, SYS_CONTEXT('USERENV','CURRENT_SCHEMA') FROM DUAL;

The two identical values? CURRENT_SCHEMA is what will determine the owner of the table you create, if you do not specify an owner.

This can be changed by

ALTER SESSION SET CURRENT_SCHEMA = whatever_you_want_it_to_be;

Tags: Database

Similar Questions

  • ORA-01031: insufficient privileges on run immediately 'create a table... '. »

    Hello. I created a stored procedure that starts an immediate execution "create table..." Responses to Oracle with the message ' ORA-01031: insufficient privileges.

    I solved the problem adding 'authid current_user is' in the procedure declaration.

    Unfortunately, if I try to plan his by DBMS_JOB, responses to oracle with the same error again.

    Why? And how can I avoid it?

    Thank you very much in advance

    Published by: user4501018 on 6-mag-2010 4.00

    user4501018 wrote:

    Unfortunately, if I try to plan his by DBMS_JOB, responses to oracle with the same error again.

    Add:

    run immediately "role play all THE ';"

    before immediate 'create table..."

    SY.

  • Creating the javax/activation/ActivationDataFlavor class error ORA - 01031: insufficient privileges

    Hi all

    I created mail.jar is correctly loaded in the database, but while loading activation.jar I get the following error.

    Version of Oracle 11.2.0.4.0 database.

    loadjava.bat u sys / * o - r - v f - noverify-synonym g public D:\EXCEL_ORACLE_DIR\activation.jar

    arguments: '-u' ' sys / *' 'o' '-r' '-v' '-f' '-noverify' '-synonym ' "-g' 'Public' 'D:\EXCEL_ORACLE_DIR\activation.jar'"

    creation: resource META-INF/MANIFEST. MF

    loading: resource META-INF/MANIFEST. MF

    creation: resource META-INF/mailcap.default

    loading: resource META-INF/mailcap.default

    creation: resource META-INF/mimetypes.default

    loading: resource META-INF/mimetypes.default

    creation: javax/activation/ActivationDataFlavor class

    loading: javax/activation/ActivationDataFlavor class

    Error when creating class javax/activation/ActivationDataFlavor

    ORA-01031: insufficient privileges

    ORA-06512: at line 1

    creation: class javax/activation/CommandInfo

    load: class javax/activation/CommandInfo

    Error when creating class javax/activation/CommandInfo

    ORA-01031: insufficient privileges

    ORA-06512: at line 1

    Something that I missed.

    Thank you all for your response.

    I connect sys as sysdba.

    I checked the sys schema which classes activation.jar is already there that is why it is showing error.

  • create returns user ORA-01031: insufficient privileges

    Hi all

    I am trying to create user on Oracle 11.2.0.4 windows db.

    I get the following error

    create the user one identified by a

    Error in the command line column: 6:28

    Error report:

    SQL error: ORA-01031: insufficient privileges

    01031 00000 - "insufficient privileges".

    * Cause: An attempt was made to change the user name or password

    without the privilege appropriate. This error also occurs if

    trying to install a database without the need for employment

    access privileges.

    When Trusted Oracle is configure in DBMS MAC, this error may occur

    If the user has been granted the privilege necessary for a higher label

    that the connection is active.

    * Action: Ask the database to perform the operation or grant administrator

    the required privileges.

    For users Trusted Oracle get this error, well that granted the

    the privilege that is suitable for the top label, ask the database

    administrator to grant the privilege to the appropriate label.

    Please may I know how to solve.

    I disabled Database Vault Account Management.

    This allowed me to grant privileges as user sys.

    C:\Users\rbastawa>sqlplus / as sysdba

    SQL * more: Production release 11.2.0.4.0 on sea 12 Nov 09:56:40 2014

    Copyright (c) 1982, 2013, Oracle.  All rights reserved.

    Connected to:

    Oracle Database 11 g Enterprise Edition Release 11.2.0.4.0 - 64 bit Production

    With partitioning, Oracle Label Security, OLAP, Data Mining,

    Oracle Database Vault and Real Application Testing options

    SQL > grant connect to one.

    grant connect to a

    *

    ERROR on line 1:

    ORA-47410: Violation of Kingdom for GRANT on CONNECT

    SQL > grant connect to one.

    Grant succeeded.

    SQL >

    Thanks for the help.

  • Creating master repository error: ORA-01031: insufficient privileges

    Hello

    I try to install ODI in my VM.

    I did the installation and creating master repository, I am getting following error:

    ORA-01031: insufficient privileges

    I'm using Oracle & created as ODI_MASTER user with administrator privileges.
    I will use it to load the metadata on planning (Version 11.1.2)

    Am I missing out on.

    Jitendra.

    Seems missing grants on the user that you use to create the master repository.

    you use Oracle... Grant connect, resource to . These two rolesa have sufficient access to db to create the master repository.

    execuute the sql code of the sys user

    Kind regards
    Amit

    Published by: amitgupta1202 on August 20, 2009 22:42

  • ORA-01031: insufficient privileges

    Hi all;

    U1 > grant u1.emp to scott references;

    Grant succeeded.

    SCOTT > alter table u1.emp change (emp_id number constraint emp_c1_pk_eid primary key);

    ALTER table u1.emp change (emp_id number constraint emp_c1_pk_eid primary key)

    *

    ERROR on line 1:

    ORA-01031: insufficient privileges

    To create a primary key or foreign in the object on the other, what a privilege devrais I need?

    Thank you

    To create a primary key or foreign in the object on the other, what a privilege devrais I need?

    This is generally NOT a good idea.

    Why do you need a primary key in a different schema from the owner of the table. If you do this, you will ALWAYS have a dependency between these two patterns.

    You must be able to alter the table and create indexes of the other schema...

    For the ALTER statement:

    http://docs.Oracle.com/CD/B28359_01/server.111/b28286/statements_3001.htm

    Prerequisites

    The table must be in your own schema or you must have ALTER privileges of objects on the table, or you must have ALTER ANY TABLE system privilege.

    For indexes

    http://docs.Oracle.com/CD/B28359_01/server.111/b28286/statements_5011.htm#i2062403

    Prerequisites

    To create an index in your own schema, one of the following conditions must be true:

    • The table or cluster be indexed must be in your own schema.
    • You must have the INDEX object privilege on the table to be indexed.
    • You must have the CREATE ANY INDEX system privilege.

    To create an index in another schema, you must have the CREATE ANY INDEX system privilege. In addition, the owner of the schema to contain the index must have either the UNLIMITED TABLESPACE quota privilege or space of the system on the storage space to store the index or index partitions.

  • ORA-01031: insufficient privileges in ORACLE 8.0.5


    Hi all


    Can you help me please:


    IM using ORACLE 8.0.5



    I made this package:

    ORACLE 8.0.5

    CREATE OR REPLACE PACKAGE BODY MULTIFOX. PAQ_MULTIFOX AS

    PROCEDURE REVISA_CRED IS

    BEGIN

    UPDATE / * + BYPASS_UJVC * /.

    (

    SELECT IF NECESSARY. CDGNS, PRN. CICLO, PRN. CANTAUTOR, MPD. NF

    OF MULTIFOX. MPD MPD,

    SIACOM. NRP NRP

    WHERE MPD. CDGNS = PRN. CDGNS AND MPD. CICLO = PRN. CICLO

    AND THE LBD. CANTAUTOR > 0

    ) NF SET = null;

    COMMIT;

    END;

    END PAQ_MULTIFOX;

    /

    CREATE OR REPLACE PACKAGE MULTIFOX. PAQ_MULTIFOX AS


    PROCEDURE REVISA_CRED;

    END PAQ_MULTIFOX;

    When I call this procedure of Toad SQLEditor I get this error

    Capturado.gif

    If I run the script directly in TOAD sqleditor, it works great!

    Capturado.gif

    I have connected to the schema SIACOM one gave all permisions them user MULTIFOX,.


    GRANT CONNECT TO MULTIFOX;

    GRANT DBA TO MULTIFOX;

    MULTIFOX GRANT RESOURCE;

    GRANT SELECT ANY TABLE TO MULTIFOX;

    GRANT EXECUTE ANY PROCEDURE TO MULTIFOX;

    GRANT SELECT, INSERT ON SIACOM. PD FOR MULTIFOX;

    GRANT SELECT, INSERT ON SIACOM. PDI TO MULTIFOX;

    but don't solve it, get the same error (ORA-01031: insufficient privileges)

    When I add the AUTHID CURRENT_USER clause to the definition of the package, had this error in compiling...

    Capturado.gif

    What Miss me?

    Thanks in advance. !



    But isn't your request doing an UPDATE? A right to select is not help with that.

    The best way to solve the problems related to the privilege is to remove all of THE objects except for one a simple query and see if it works. If she adds another object of return and test this.

    You will find the problem object when it fails.

  • SQL error: ORA-01031: insufficient privileges

    I am trying to create a view. I logged as a DBA. Please suggest.

    create or replace view tspace_vw as

    SELECT tablespace_name,

    Total_Size 'Total_Size (MB).

    Free_space "Free_Space (MB).

    (Total_size - free_space) "USED_SPACE (MB).

    round (((Total_size-Free_Space)/Total_size) * 100, 2) | ' %' "% USED.

    DE)

    SELECT a.tablespace_name,

    Round(sum(a.bytes)/1024/1024,2) Total_Size,.

    Round(sum(b.free_bytes)/1024/1024,2) free_space

    FROM dba_data_files a, (SELECT file_id, SUM (bytes) free_bytes

    FROM dba_free_space

    GROUP BY file_id

    ) b

    WHERE a.file_id = b.file_id

    and nom_tablespace not in ('SYSTEM', 'SYSAUX', 'UNDOTBS1', 'TEMP')

    GROUP BY a.tablespace_name

    )

    ORDER BY nom_tablespace;

    ================================================

    SQL error: ORA-01031: insufficient privileges

    01031 00000 - "insufficient privileges".

    978487 wrote:

    I am trying to create a view. I logged as a DBA. Please suggest.

    SQL error: ORA-01031: insufficient privileges

    01031 00000 - "insufficient privileges".

    You must grant the right to SELECT user views the two system.

    >

    Grant select on dba_data_files Scott;

    Grant select on dba_free_space Scott;

    >

    I'm assuming that "connected is a DBA" means that you granted the DBA role to the user. But you need to grant privileges directly so that they are able to create a view.

    See CREATE VIEW in the doc of the SQL language

    http://docs.Oracle.com/CD/B28359_01/server.111/b28286/statements_8004.htm

    >

    The owner of the schema containing the view must have the necessary privileges to either select, insert, update, or delete rows from all tables or views on which the opinion is based. The owner must grant these privileges directly, rather than through a role.

    >

  • EXPDP: ORA-01031: insufficient privileges

    Hello

    When I add the QUERY clause in the settings file, get the following errors.

    ERROR:
    ORA-31693: Data Table object 'TESTDB '. "' ACCOUNT ' could not load/unload and being ignored because of the error:
    ORA-01031: insufficient privileges

    Version: Export: Release 10.2.0.4.0 - Production 64-bit

    Parameter:

    DIRECTORY = USER_DATA_PUMP_DIR
    CONTENT = ALL
    PARALLEL = 4
    ESTIMATE = STATISTICS
    INCLUDE = TABLE: 'IN (SELECT EXP_TABLE_NAME FROM EXPDP. '. EXP_TABLES).
    QUERY = TESTDB. ACCOUNT: ' IF ADDED_OPRID NOT IN (SELECT OPRID FROM EXCLUDE_OPRID).
    FLASHBACK_TIME = "to_timestamp (to_char (sysdate, 'YYYY-MM-DD HH24:MI:SS'),"YYYY-MM-DD HH24:MI:SS").

    The following grants have been created on the user of datapump EXPDP export.

    GRANT PERMISSION TO EXPDP
    GRANT 'CONNECT' TO THE EXPDP
    GRANT CREATE SESSION EXPDP
    GRANT CREATE TABLE TO EXPDP
    GRANT SELECT ANY TABLE TO EXPDP

    Can you help me solve this problem?

    Thank you

    Hello
    you do an export with the return of flame parameter.
    Try to give your user FLASHBACK ANY TABLE export.

    I have several problems in the past, the permission is not enough for the return of flame.

    concerning
    Peter

  • Error ORA-01031 insufficient privilege when selecting a view

    OK, I think it's maybe a stupid question, but I can't understand it:

    The user John won the right to SELECT (directly, not by a database role) to the FRED.table1 schema.
    John user can issue select * from FRED.table1; and it works very well.

    User John then got the right to SELECT (directly, without going through a database role) to the schema
    MARK.view1;

    MARK.view1 selects only FRED.table1. No other table is in the View1.
    Schema MARK questionable views successfully. SELECT * FROM View1 returns results.
    I also checked the MARK scheme to ensure that she got the select on FRED.table1 directly that he has.

    Now, when you're logged in schema John, I try SELECT * to SCORE. VIEW1; and I get error ORA-01031 insufficient privileges.

    I don't know how to solve this. If John is granted SELECT a TABLE, it works of course but I don't want John to have this powerful private.

    As a reminder, SELECT these two brands a John. View1 and the table View1 selects from (FRED. (TABLE 1).
    John can select FRED. Table1: no problem but does not receive a privilege error even if John has SELECT on the BRAND. VIEW1.

    Any thoughts?

    Oh, Oracle 10.2.0.4 EA

    JSebastian wrote:
    OK, I think it's maybe a stupid question, but I can't understand it:

    The user John won the right to SELECT (directly, not by a database role) to the FRED.table1 schema.
    John user can issue select * from FRED.table1; and it works very well.

    User John then got the right to SELECT (directly, without going through a database role) to the schema
    MARK.view1;

    MARK.view1 selects only FRED.table1. No other table is in the View1.
    Schema MARK questionable views successfully. SELECT * FROM View1 returns results.
    I also checked the MARK scheme to ensure that she got the select on FRED.table1 directly that he has.

    Now, when you're logged in schema John, I try SELECT * to SCORE. VIEW1; and I get error ORA-01031 insufficient privileges.

    I don't know how to solve this. If John is granted SELECT a TABLE, it works of course but I don't want John to have this powerful private.

    As a reminder, SELECT these two brands a John. View1 and the table View1 selects from (FRED. (TABLE 1).
    John can select FRED. Table1: no problem but does not receive a privilege error even if John has SELECT on the BRAND. VIEW1.

    Any thoughts?

    Oh, Oracle 10.2.0.4 EA

    Are you sure that John was granted select on Mark.view1? In order for that to work, Mark would have had to select on the WITH GRANT OPTION Fred.table1... otherwise the grant to fail and then John would not be able to select the view because the grant was never issued successfully.

    Here is a basic test case (which I think is consistent with what you said) to make it work.

    drop user u1 cascade;
    drop user u2 cascade;
    drop user u3 cascade;
    
    create user u1 identified by u1;
    grant connect, resource to u1; 
    
    create user u2 identified by u2;
    grant connect, resource, create view to u2;
    
    create user u3 identified by u3;
    grant connect, resource to u3;
    
    connect u1/u1@orcl
    create table test1 (col1 number);
    grant select on test1 to u2 with grant option; --> this is the important part
    grant select on test1 to u3;
    
    connect u2/u2@orcl
    create view test2 as select * from u1.test1;
    grant select on test2 to u3;
    
    connect u3/u3@orcl
    select * from u2.test2;
    
  • ORA-01031: insufficient privileges from a function

    Deploy_ctl.fun_stg_raw (NO_DAYS in NUMBER, of the FUNCTION to CREATE or REPLACE
    col_date DATE)

    RETURN NUMBER
    AS

    RTN_SUCCESS CONSTANT NUMBER (1): = 0;
    RTN_FAILURE CONSTANT NUMBER (1): = 1;
    RTN_NON_FATAL NUMBER (1) CONSTANT: = 2;


    CURSOR stg_raw_cur IS
    SELECT RAW_STG_ID,
    DEVICE_CD,
    MODEL_VERSION,
    PLATFORM_CD,
    PROFILE_COOKIE,
    LOCATION_CD,
    SAMPLE_RATE,
    EVENT_TYPE_CD,
    EVENT_DATE_TIME,
    EVENT_SPECIFIC,
    BATCH_ID,
    DWH_ARVL_DT,
    DWH_ARVL_DT_ID,
    Dwh_stg.stg_raw DWH_CREATE_DT
    When trunc (to_date (EVENT_DATE_TIME, "YYYYMMDD"T"hh24:mi:ss"Z"')) = to_date (' 04/28/2014 ',' mm/dd/yyyy')
    order of batch_id CSA;


    TYPE stgrawarr IS TABLE OF stg_raw_cur % ROWTYPE;

    stg_raw_rec stgrawarr;

    l_batch_id NUMBER: = 0;
    v_ctr NUMBER: = 1;
    l_temp_batch_id number: = 0;
    l_date VARCHAR2 (2000);

    BEGIN

    run immediately 'truncate table t_stg_raw;

    OPEN stg_raw_cur.
    LOOP
    Get the stg_raw_cur COLLECT LOOSE stg_raw_rec LIMIT 100;
    OUTPUT
    WHEN stg_raw_cur % NOTFOUND;
    END LOOP;

    CLOSE Stg_raw_cur;

    I'm in stg_raw_rec.first... stg_raw_rec. Last
    loop

    -dbms_output.put_line (' batch code is ' | .batch_id stg_raw_rec (i));
    IF l_temp_batch_id! = stg_raw_rec (i) .batch_id
    then

    l_batch_id: = stg_raw_rec (i) .batch_id - v_ctr;
    l_temp_batch_id: = stg_raw_rec (i) .batch_id;
    * dbms_output.put_line ('Différent' |) "v_ctr" |
    v_ctr | ' ' || l_batch_id |
    ' ' || stg_raw_rec (i) .batch_id | ' ' ||
    stg_raw_rec (i). EVENT_DATE_TIME) ;*/
    v_ctr: = v_ctr + 2;

    end if;

    1.no_days j
    loop
    l_date: = to_char (to_date (to_date (substr (stg_raw_rec (i). (EVENT_DATE_TIME, 1, 8), 'YYYYMMDD')-j |
    'T' ||
    substr (stg_raw_rec (i). EVENT_DATE_TIME, 10, 8).
    ('Z', "DD-MON-RR"T"HH24:MI:SS 'Z'"), "YYYYMMDDYY"T"HH24:MI:SS 'Z'");
    dbms_output.put_line (' l_batch_id ' | l_batch_id |)
    "stg_raw_rec (i) .batch_id | stg_raw_rec (i) .batch_id |

    "l_date" | l_date);
    end loop;

    l_temp_batch_id: = stg_raw_rec (i) .batch_id;
    commit;
    end loop;

    RETURN RTN_SUCCESS;

    EXCEPTION
    WHILE OTHERS THEN
    -Insert in the (current) error log table
    DBMS_OUTPUT. PUT_LINE ('SQLCODE' |) SQLCODE. ' '|| SQLERRM);

    RETURN RTN_FAILURE;

    END fun_stg_raw;
    /
    DISPLAY ERRORS;
    /


    I can execute SQL statements on its own as a user DEPLOY_CTL but when compiling the function, he throws ORA-01031: insufficient privileges error.

    Thank you

    This may be infamous granting by the issue of the role. You need the explicit subsidies. For more information see Re: compile errors
    You can use the VALUE NO ROLE and then try to run the SQL to check.

  • ORA-01031: insufficient privileges problem

    Hi all

    I am creating the procedure of BOLMIN figure who selects his turn to the data in the tables of the VALMIN diagram below. and I get ORA-01031: insufficient privileges error.

    CREATE OR REPLACE PROCEDURE BOLMIN.prcs_load_data
    IS
    BEGIN
    FOR c
    IN (SELECT DISTINCT AL4. GOAL_TEXT,
    AL5. RESPONSE_TEXT,
    AL7. SAMPLE_ID,
    AL7. ACADEMY_NAME,
    AL8.NAME
    OF VALMIN. PROFIL_UTILISATEUR AL3,
    VALMIN. STUDENT_GOALS AL4,
    VALMIN. STUDENT_QUESTION_DETAILS AL5,
    VALMIN. STUDENT_QUESTION_RESPONSE AL6,
    VALMIN. SAMPLE AL7,
    VALMIN.NAME AL8
    WHERE (AL3. GOAL_ID = AL4. GOAL_ID (+)
    AND AL3. USER_ID = AL6. USER_ID (+)
    AND AL6. QUESTION_TYPE_SUB_ID = AL5. QUESTION_TYPE_SUB_ID (+)
    AND AL7.NAME_ID = AL8.NAME_ID (+)))
    LOOP
    NULL;
    END LOOP;
    END;
    /

    I checked grants each table involved in the associated SQL schema VALMIN & have all grant SELECT (to the BOLMIN schema). In addition, the query SQL itself, when it is run in the schema BOLMIN works perfectly well. The problem only occurs when I enclose the query in a procedure. Isn't it weird? or am I missing something here? Any help on this is appreciated. Thank you.

    BOLMIN schema as CREATE the privilege of the PROCEDURE I've already created other procedures for other purposes.

    Thank you
    Aristides

    Published by: siri_me on October 2, 2010 09:23

    http://asktom.Oracle.com/pls/asktom/asktom.download_file?p_file=6551289900368934430

  • ORA-01031: insufficient privileges during the activation of a unique constraint

    Hello
    DB is Oracle 10 g.
    I have a problem, which allows a unique constraint on a table using a stored procedure.
    The procedure travels a few queried from the view all_constraints primary key constraints allowing them without any problem.

    Then, on the first unique constraints, it throws the exception
    ORA-01031: insufficient privileges

    The sql line built at the source of the problem is
    run immediately ' alter table 'My_Schema_Name '. "' My_TableName ' enable the 'UNIQUE_Myconstraint_UQ' CONSTRAINT '.

    What confuses me, is that the same line (without "immediate execution") run from the console window of the sql developers, which was used to make the appeal process that has failed, will succeed.

    The user used to make the call is not owner of the scheme, but has Alter_Any_Table system permissions (and, as mentioned above, the call will succeed if entered directly in the sql developer worksheet).

    Stored procedures running in a different (limited) security context (sorry if the setting isn't right) than that of the calling user?
    Or what is the problem here?

    Any help is appreciated.
    Markus.

    Note:
    Before, I don't have the name of constraint in quotes and allowing the primary key failed with error ORA-02430: impossible to enable the constraint (PK_ConstraintName) - no such constraint 02430. 00000 - "could not activate constraint (%s): no such constraint ', which is an interesting problem in itself, but now fixed. In any case, thoughtI would mention it

    Hello

    This means that alter table system privilege is given to the user through certain roles. If it's true that the roles has no effect when executing stored procedures. You must give the direct privilege to this user and not by role.

    With regard to your note:
    This means that you created the constraint in lower case or mix of lower and upper case in quotes. Therefore you should now always return in the same case in quotes each time you reference any object. So it is always advisable to create objects on top of case (if the use of the quotes) or do not use quotation marks.

    Concerning
    Anurag

  • Oracle ORA-01031 insufficient privileges

    Hi all,

    I installed oracle 10g and created the new database. When I try to create the simple view wristwatch the following error.

    Oracle ORA-01031 insufficient privileges

    Note: if I connected through the admin user, I was able to create the view (System Manager). Although I have provide him grant leave, I could not able to create the view, his request for privileges.

    say create or replace view view-name as select * from employees;

    Error: oracle ora-01031 insufficient privileges

    Thanks in advance

    Hello

    You need the privilege system CREATE VIEW to create a view. This is in addition to the SELECT on the tables directly granted privileges at home (and not a role you have).

  • ORA-01031: insufficient privileges while selectin view belongs to another schema in oracle database 11g

    Hello

    DB version 11.2.0.3.0

    We have a few views resides in the application schema, we cerated user and granted select on the view through the roles.

    but the user becomes ORA-01031: insufficient privileges when accessing the content view

    appreciated inputs

    BR

    Praaksh GR

    > I issued a grant select on Z.table - X with the option grant.

    This isn't what you need - you should

    Grant select on Z.table y with the option grant.

    Grant select on Y.view to X;

Maybe you are looking for