Get ORA-01653 while the tablespace is set to unlimited.

When I import data in the table P.TEST, I received the error "ORA-01653: unable to extend table P.TEST 128 in tablespace P.

Here's a tablespace P, and P user information
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='P' AND PRIVILEGE='UNLIMITED TABLESPACE';

GRANTEE       PRIVILEGE                            ADMIN_OPTION
------------ -------------------------------- -----------------------
P                UNLIMITED TABLESPACE        NO

CREATE TABLESPACE P DATAFILE 
  '/data/oradata/wapbi/p01.dbf' SIZE 33554416K AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED,
  '/data/oradata/wapbi/p02.dbf' SIZE 33554416K AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;
The user P has "unlimited tablespace" privilege and a P tablespace is set to 'unlimted' too.

Comments will be appreaciate!


Best wishes
Satine

There are 2 limits:
1. size imposed by the operating system. Usually 32 GB but can be more if filesystem supports LARGEFILES
2-4 million blocks of Oracle block size. With 8 KB blocks, this translates into 32 GB

Hemant K Collette

Tags: Database

Similar Questions

  • Why get ORA-00942 during the validation of PL/SQL cursor

    The database is 10 gr 2.

    ST_PKG_UTILITIES contains a procedure called "p_insert_update_person_info".

    The procedure includes a cursor that selects a view 'CDS_CIS_ETHNICITY '.

    I am logged in as the owner of the schema of the package. The view lies in another schema, but I have the right to SELECT on the view.

    When I try to compile the package, I get "ORA-00942: table or view does not exist", pointing to the CDS_CIS_ETHNICITY view.

    However, if I SELECT directly from the view using a SQL window, it returns information without problem.

    Code view is a SELECT statement on a table across a db_link. However, given that I can select directly from the view, I am not clear why I would get the error because the view is selected, within PL/SQL.

    Note that the table was originally, on the same server that the schema that I am now, so no db_link was necessary. When the schema of the table has been moved to a new server, we added the db_link. However, the package was never changed, we were careful to reproduce the names of objects that are used by the package, when building the db_link.

    Ideas on this issue would be appreciated.

    Thank you
    VP

    Published by: user618800 on December 9, 2008 14:53

    Hello

    Grant privileges directly to the owner of the whole.

    Looks like the privileges that you have about this point of view have been granted to a role, and the owner of the package has this role.
    Roles do not count inside stored procedures. You must have privileges granted directly to the owner (or to the PUBLIC, which probably does not apply in this case).

  • using remap_tablespace in impdp but still get ORA-01658 for old tablespace...

    Hi all

    I posted this question in the section export/import/SQL Loader & external Table but couldn't do a work around, so post the question here.

    Version of DB - 10.2.0.4.0

    OS - SuSE Linux Enterprise Server 10 (x86_64)

    I took 1 schema export using expdp and everything went successfully.

    The command used was-

    nohup expdp user_in_dev/user_in_dev dumpfile = user_in_dev_18june_new.dmp logfile = expdp_user_in_dev_18june_new.log directory = dir_user_in_dev VERSION = 10.2.0 STATUS = 60 HAPPY = ALL &

    All the above schema data are present in the DEV_TBLSPACE tablespace that is almost full (98%).

    Now, I'm importing the dumpfile into production under schema user_in_prod. Tablepace DEV_TBLSPACE is also present here and is almost 90% full, so I'm remapping in PROD_TBLSPACE using below command: -.

    nohup impdp user_in_prod/user_in_prod DIRECTORY = dir_user_in_dev = HAPPY user_in_dev_18june_new.dmp DUMPFILE = all = impdp_user_in_prod_18june_new.log remap_schema = user_in_dev:user_in_prod VERSION = 10.2.0 LOGFILE remap_tablespace = DEV_TBLSPACE:PROD_TBLSPACE &

    but I am getting below error: -.

    Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production 64-bit

    With partitioning, OLAP, Data Mining and Real Application Testing options

    ORA-31626: there is no job

    ORA-31633: could not create the main table 'USER_IN_PROD. SYS_IMPORT_FULL_05 ".

    ORA-06512: at "SYS." DBMS_SYS_ERROR', line 95

    ORA-06512: at "SYS." "KUPV$ FT", line 871

    ORA-01658: cannot create as INITIAL segment in tablespace DEV_TBLSPACE

    When I use remap_tablespace to change the storage space, it must use PROD_TBLSPACE now which has enough free space available.

    User user_in_prod also has unlimited(-1) PROD_TABLESPACE quota.

    Currently, the user_in_prod schema is empty and is not any object.

    Kindly help.

    P.S. - dev exported tables are not partitioned tables.

    Error messages are self-explanatory, if you want to read and investigate them, which you do not want apparently.

    Fact: the two expdp and impdp create a table that is used to manage expdp and impdp

    Reality: this table belongs to the user who runs the expdp and imdp

    Reality: It is created in the DEFAULT tablespace users.

    So: what's the obvious conclusion?

    The default tablespace for USER_IN_PROD is DEV_TBLSPACE,

    and there is no space even to create this table small impdp.

    And you don't need to post in two forums to reach this conclusion.

    Just a small industry and a little thought.

    However, the only thing most people here know is how to hit CTRL + C and Ctrl + V.

    Oracle is not on rocket science and people who don't want to make any effort to master it, should stay away from him.

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

    Sybrand Bakker

    Senior Oracle DBA

  • License blocked pour payment problem while the licence is set!

    Hello

    United Nations of noss creative cloud accounts is disabled with an error message:

    Payment required

    Unfortunately, the saved billing information could not be used to make this payment. Please Update this information.

    Or, the license has been more in November 2015 for 1 year and everything worked fine. We have changed credit card effectivmeent, I updated the details of Billings, but without effect. It's been 2 week service to support me for a walk telling me that the file is transmitted to the 'Expert'. in the meantime we can no longer work properly for 2 weeks while we are in good standing.

    Someone did it an idea or a way to contact a competent support at Adobe service?

    Thank you

    Hello

    Please help me with your reference # case for your interaction with the support and I can climb it for you.

    Kind regards

    Sheena

  • How to find the tablespace that has maxsize UNLIMITED?

    Oracle 9.2
    I'm looking for tablespaces that maxsize UNLIMITED in the dictionary dba_xxxx from view. I want to use SQL to find storage space is not UNLIMTED file. I can't find which table dictionary or what column to indicate what storage space isn't UNLIMITED file?

    Please throw some lights.
    Thank you
    S.

    See Note 468096.1 How to check the CanGrow data files the Maxsize unlimited value.
    Oracle limit the number of blocks in a file of data to approximately * 4 million blocks *, so you can run:
    Select file_name in dba_data_files where maxblocks = 4194302;

    HTH

    Enrique

    Published by: Enrique Orbegozo on October 13, 2008 12:10

  • ORA-00959: NSN_2 tablespace does not exist... But the tablespace is defined in the user temp script

    WHEN I SPEAR IMPDP I GET AN ERROR ABOUT "THE TABLESPACE DOES NOT EXIST.

    THIS space of STORAGE IS in FACT is MORE PRESENT on THE SYSTEM, BUT IT IS DEFINED IN the User1 SCRIPT

    IS there ANYWAY THAT I CAN ASK HIM don't GET THIS TEMP TABLESPACE

    or

    is there anyway I can remove the definition of the user (User1) NSN_2

    OR

    should I just re-create the NSN_2 tablescape

    HELP NEEDED PLS...

    DROP USER CASCADE USER1;

    CREATE THE USER1 USER

    IDENTIFIED BY < password >

    NSN_1 DEFAULT TABLESPACE

    TEMPORARY TEMP TABLESPACE

    -2 Tablespace quotas for User1

    ALTER USER USER1 QUOTA UNLIMITED ON NSN_1;

    ALTER USER USER1 QUOTA UNLIMITED ON NSN_2;                -point in contention

    Directory of Impdp User1/password = dump_dir dumpfile = logfile = LOG.log remap_schema user2.dmp = USER2:USER1 remap_tablespace = NSN_4:NSN_1

    Table main "USER1". "' SYS_IMPORT_FULL_01 ' properly load/unloaded

    Departure "USER1". "' SYS_IMPORT_FULL_01 ': User1 / * directory = dump_dir = setup_02102012.dmp = logfile dumpfile tries .log remap_schema = remap_tablespace of installation: USER1 = NSN_4:NSN_1

    Processing object type SCHEMA_EXPORT/USER

    ORA-31684: USER object Type: 'USER1' already exists

    Processing object type SCHEMA_EXPORT/SYSTEM_GRANT

    Processing object type SCHEMA_EXPORT/ROLE_GRANT

    Processing object type SCHEMA_EXPORT/DEFAULT_ROLE

    Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA

    ORA-39083: Type as tablespace_quota cannot be created with the object error:

    ORA-00959: tablespace "NSN_2" does not exist

    Because sql is:

    REPORT THE NUMBER OF TEMP_COUNT;   SQLSTR VARCHAR2 (200); BÉGIN SQLSTR: = ' ALTER USER 'USER1' QUOTA UNLIMITED ON 'NSN_2 ';  RUN IMMEDIATELY SQLSTR; EXCEPTION, THEN THAN OTHERS SO IF SQLCODE =-30041 THEN SQLSTR: = ' SELECT COUNT (*) OF USER_TABLESPACES WHERE NOM_TABLESPACE = "NSN_2" AND CONTENT = "TEMPORARY"';      RUN IMMEDIATELY SQLSTR IN TEMP_CO

    Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA

    Object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE of treatment

    Object type SCHEMA_EXPORT/TABLE/TABLE processing

    ORA-39083: TABLE object type: "USER1". "" AVAIL_BY_OPTION_REF "impossible to create with the error:

    ORA-00959: tablespace "NSN_2" does not exist

    Impdp transform = segment_attributes

    Smit

  • How to check the value of the space of the tablespaces and tables when errors occur?

    Hi Experts,

    For example, lets say we get ORA-01653: unable to extend table of error. How to check the size of the table and a tablespace? And how understanding is full?

    Thanks for your help

    Hello

    Select df.tablespace_name "Tablespace"

    totalusedspace 'Used MB',

    (df.totalspace - tu.totalusedspace) "MB free.

    DF. TotalSpace 'Total MB. "

    round (100 * ((df.totalspace-tu.totalusedspace) / df.totalspace))

    "PCT free."

    Of

    (select nom_tablespace,

    Round (Sum (bytes) / 1048576) TotalSpace

    from dba_data_files

    Group by tablespace_name) df,.

    (select round (sum (bytes) /(1024*1024)) totalusedspace, nom_tablespace)

    from dba_segments

    you group by tablespace_name)

    where df.tablespace_name = tu.tablespace_name

    and df.tablespace_name = "";

    For example, lets say we get ORA-01653: unable to extend table of error. How to check the size of the table and a tablespace? And how understanding is full?

    Is to say clearly to the question (you can let us know what you have understood so we can fix)

    [oracle@machine1 ~] $01653 oerr ora

    01653, 00000, "impossible to extend %s.%s table by %s in %s tablespace»

    * Cause: Failed to allocate a certain measure the required number of blocks for

    a segment of the table in the specified tablespace.

    * Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more

    storage of files indicate.

    -Thank you

    Pavan Kumar N

  • I get this error during the windows WindowsUpdate_8024A000 updates

    I get this error while the vista sp2 update is there any solution for this? WindowsUpdate_8024A000

    Hello
    The Windows Update 8024 A 000 error Code means THE NOSERVICE WU E. This translates as UA was impossible for incoming calls to THE service.

    I would like for you to perform general troubleshooting steps for Windows Update.
    Method 1: Try to run the fix - it of the article mentioned below, if you not him have not yet tried.
    The problem with Microsoft Windows Update is not working:
    http://support.Microsoft.com/mats/windows_update/
    Method 2: Scan run SFC. Analysis (sfc) System File Checker will Windows replace corrupted or missing system files on your computer.
    Scan sfc enforcement procedure:
    a. Click Start, click principally made programs, accessories, right-click on command prompt and select run as administrator.
    b. click on continue or provide administrator credentials if prompted.
    c. in the type in the following command prompt window and press ENTER:
    sfc/scannow
    Refer to this article for more information:
    http://support.Microsoft.com/kb/929833
    Method 3: Check the hard disk for errors:
    See: http://windows.microsoft.com/en-US/windows-vista/Check-your-hard-disk-for-errors
    Note: Check hard drive for errors will check the bad sectors on the hard drive and repairs. During this process, there is a chance of losing the data in these sectors. Please back up the data before performing this step.
    I hope this helps.
  • I have restored the laptop to factory settings, the product key sticker is faded... While the re-activation of it Microsoft office said "this is not a valid product key Office...". »

    I bought my laptop with microsoft office 2010 is installed. I restored my laptop to factory settings, the product key sticker is faded so I used jellybean keyfinder to get it. While the re-activation of it Microsoft office said "this is not a valid product key Office...". »

    What should I do to make it work again?

    Please note that if you use the Windows 7 product key located on the certificate of authenticity attached to your system label, this will not work, it is only for Windows 7. You need a product key Office 2010. Also using the value default key OEM SLP for Windows 7 does not work with Office 2010

    If your computer comes with a trial version of Office, you need to get a trial key or buy a full license:

    Trial license:

    http://Office.Microsoft.com/en-us/try/

    Full license:

    http://support.Microsoft.com/kb/823570

    Get the key;

    http://Office.Microsoft.com/en-us/buy/redir/XT101874326.aspx?CTT=5&origin=HA101847520

    If you purchased Office 2010 and get no valid product key error to refer the article mentioned below:

    http://support.Microsoft.com/kb/2002262

    Frequently asked questions about Office Activation Wizard and about features in Office 2010 and Office 2007 programs view programs

    http://support.Microsoft.com/kb/927921

    Error message when you start an Office application after installing a suite Office: "invalid product key".

    http://support.Microsoft.com/kb/836178

    If you have a trial version of Office 2010 that came with your computer, try to uninstall it first:

    Run the patch tool mentioned in the article below to uninstall Office 2010:

    http://support.Microsoft.com/kb/290301

    Download a trial version of Office 2010 that corresponds with the edition that you purchased and convert it to a version full:

    Trial license:

    http://Office.Microsoft.com/en-us/try/

    See the link on how to convert a trial version of a suite full Office 2010 or program to a commercial version: -.

    http://Office.Microsoft.com/en-us/project-help/convert-a-trial-version-of-an-Office-2010-suite-or-program-to-a-full-retail-version-HA101886436.aspx

    http://Office.Microsoft.com/en-us/buy/convert-your-trial-to-a-full-product-version-HA101812668.aspx?CTT=1

  • Get the error ORA-39146 while trying to import data from 10 g to 12 c

    Hi all


    im getting below error while trying to import data from 10 g to 12 c


    ORA-39146: schema 'B_SITES' does not exist
    import in WE8MSWIN1252 and AL16UTF16 NCHAR character set
    export in the UTF8 character set and AL16UTF16 NCHAR character set
    ATTENTION: the possible loss of data to character set conversions


    can someone help how do we change to WE8MSWIN1252 UTF8 character set...

    Hello

    "ORA-39146: there is no schema 'B_SITES'.

    ORA-39146: schema 'string' does not exist

    Cause: The specified schema was referenced as the source of a REMAP_SCHEMA parameter, but did not exist in the dump file (for

    Action: Specify the correct name of the schema to be remapped.

    Anand

  • ORA-01653: unable to extend the table SYS. ARGUMENT$ 13 in the SYSTEM tablespace

    I created the new database manually.

    When I @?/rdbms/admin/catproc.sql put this sql to execute.

    for some time he said created, granted. but after somewhere, it gives me the error.

    ORA-01653: unable to extend the table SYS. ARGUMENT$ 13 in the SYSTEM tablespace

    Please help me on this.

    Thank you in advance.

    Your query does not tablespace SYSTEM size. It provides a list of tablespaces. And may not be a complete list because I can't UNDO and TEMP tablespace. In all cases, based on the output, you have not created a user storage space, so all the tables you create in SYSTEM tablespace and finally you ran out of space. You need create user storage space if you don't have any. You want to change the non-system and non-system tablespaces value default tablespace users. Even if you don't have a non-system tablespaces, tables will be created in the tablespace default user unless you explicitly specify one. You must move the tables/indexes existing user for the non-system tablespaces.

    SY.

    PS to get the size of the SYSTEM tablespace, you will need to run:

    Select sum (bytes) / 1024/1024 tablespace_size_in_mb
    from dba_data_files
    where nom_tablespace = 'SYSTEM '.

  • java.sql.SQLException: ORA-01653: unable to extend table IAMEXT_OIM. RECON_EVENTS by 1024 in the IAMEXT_OIM tablespace

    Hello


    When I try to run the Active Directory Trusted user he ran for some users and in the log file I found this erro. After that when I ran recon target, it does not all recon events.


    In DEV, it worked perfectly



    java.sql.SQLException: ORA-01653: unable to extend table IAMEXT_OIM. RECON_EVENTS by 1024 in the IAMEXT_OIM tablespace


    What does that mean?

    Should I increase any space of the table?


    Thank you

    You must work with your DBA team to extend the table space.

  • Get a permissions error while trying to open Adobe illustrator "to work properly, Adobe Illustrator requires the permission of folder preferences to" reading / writing ".» The current permission setting is incorrectly set to "read only".

    Get a permissions error while trying to open Adobe illustrator "to work properly, Adobe Illustrator requires the permission of folder preferences to" reading / writing ".» The current permission setting is incorrectly set to "read only".

    I put permissions in the preferences and on hard drive - the same error.

    What is a current version of CC (CC2015.2.1) or an earlier version. Your best bet may be uninstalled, run the cleanup tool (Google it) and reinstall.

  • ORA-01659: impossible to allocate MINEXTENTS beyond 2 in the tablespace test

    Hello

    I created a table and tried to insert records over 2 million and I'm getting an error such as ORA-01659: impossible to allocate MINEXTENTS beyond 2 in the tablespace test.

    Used tablespace percentage is only 73%.

    I used below when creating table

    tablespace TEST

    PCTFREE 10

    INITRANS 1

    maxtrans 255

    Please suggest me how to solve this problem.

    Thank you

    Suri

    Hi @Suri

    I see no problem in storage settings in your table.

    But the number of rows helps you insert and in the free space in your tablespace.

    Perhaps too much space is needed for your data and storage space can not support.

    The only things you can do is the following:

    (a) try PCT_INCREASE to 0, this product extensions to equal size.

    (b) put the PCT_FREE less than the default of 10. But it is advisable if you make updates to your table.

    (c) maybe create your table with the clause compress, just for bulk inserts, but this depends on the use of the table.

    (d) ask your DBA to increase the data files of the TEST table space or add more data files.

    (e) using the package DBMS_SPACE, you can calculate the space used by your table in tablespace TEST. g 10 and later versions.

    See the following example:

    
    SQL> SET SERVEROUTPUT ON
    
     SQL> DECLARE
       lc_tablespace       VARCHAR2(100)  DEFAULT 'CC_TBSD001_MOVI_DOMICILIOS';
       lc_megabytes        SIMPLE_INTEGER DEFAULT 1024*1024;
       lc_estimated_rows   SIMPLE_INTEGER DEFAULT 45000000;
       lc_pct_used         SIMPLE_INTEGER DEFAULT 10;
    
       l_cost_columns           SYS.CREATE_TABLE_COST_COLUMNS;
       l_mbytes_to_be_used      NUMBER;
       l_mbytes_to_be_allocated NUMBER;
    BEGIN
      l_cost_columns := SYS.CREATE_TABLE_COST_COLUMNS(
                 SYS.CREATE_TABLE_COST_COLINFO('NUMBER'  ,15)
                ,SYS.CREATE_TABLE_COST_COLINFO('NUMBER'  ,10)
                ,SYS.CREATE_TABLE_COST_COLINFO('NUMBER'  , 4)
                ,SYS.CREATE_TABLE_COST_COLINFO('VARCHAR2', 6)
                ,SYS.CREATE_TABLE_COST_COLINFO('VARCHAR2', 4)
                ,SYS.CREATE_TABLE_COST_COLINFO('NUMBER'  , 1)
                ,SYS.CREATE_TABLE_COST_COLINFO('NUMBER'  , 4)
                                                      );
    
       DBMS_SPACE.CREATE_TABLE_COST(lc_tablespace
                                   ,l_cost_columns
                                   ,lc_estimated_rows
                                   ,lc_pct_used
                                   ,l_mbytes_to_be_used
                                   ,l_mbytes_to_be_allocated
                                   );
    
       l_mbytes_to_be_used      := l_mbytes_to_be_used/lc_megabytes;
       l_mbytes_to_be_allocated := l_mbytes_to_be_allocated/lc_megabytes;
    
       DBMS_OUTPUT.PUT_LINE('Megabytes to be used: '||TO_CHAR(l_mbytes_to_be_used));
       DBMS_OUTPUT.PUT_LINE('Megabytes to be allocated: '||TO_CHAR(l_mbytes_to_be_allocated));
    END;
    /
    

    A few ref, pleas read

    http://docs.Oracle.com/CD/B28359_01/server.111/b28286/clauses009.htm#SQLRF30013

    Hope this can help you.

    Kind regards

    Juan M

  • ORA - 12054:while trying to create mview based on table in the other schema

    Hi all
    show user 
    user is "NAAMA" 
    CREATE TABLE USERS
    (
      user_id               NUMBER,
       user_name             VARCHAR2(15 CHAR),
      user_password         VARCHAR2(50 CHAR),
    CONSTRAINT user_pk PRIMARY KEY (user_id));
    TABLE created.
    ---------------------------------------------------------------------
    show user 
    user is "TEST" 
    create materialized view log on NAAMA.USERS WITH ROWID
    create materialized view users_mv 
    build immediate 
    refresh fast on commit with rowid 
    as 
    select  user_name  ,
              user_password         
    from naama.users;
    --------------------------------------------------------------------------------------------------------------
    ORA-12054: cannot set the ON COMMIT refresh attribute for the materialized view
      
    I suspect that this problem is all about privileges.
    Please help
    Thanks to advanced
    Naama

    Naamas wrote:
    I understand and granted.

    Then I have a feeling get_name function is more complex than what you posted:

    SQL> create user naama
      2    identified by naama
      3    default tablespace users
      4    quota unlimited on users
      5  / 
    
    User created.
    
    SQL> grant create session,
      2        create table,
      3        create procedure,
      4        create materialized view
      5    to naama
      6  / 
    
    Grant succeeded.
    
    SQL> create user test
      2    identified by test
      3    default tablespace users
      4    quota unlimited on users
      5  / 
    
    User created.
    
    SQL> grant create session,
      2        create table,
      3        create materialized view
      4    to test
      5  / 
    
    Grant succeeded.
    
    SQL> connect naama@orcl/naama
    Connected.
    SQL> create table users(
      2                     user_id               NUMBER,
      3                     user_name             VARCHAR2(15 CHAR),
      4                     user_password         VARCHAR2(50 CHAR),
      5                     CONSTRAINT user_pk PRIMARY KEY(user_id)
      6                    )
      7  / 
    
    Table created.
    
    SQL> grant select,
      2        on commit refresh
      3    on users
      4    to test
      5  / 
    
    Grant succeeded.
    
    SQL> create or replace
      2    function get_name(
      3                      user_name_in IN varchar2
      4                     )
      5      return varchar2
      6      is
      7          v_name varchar2(10);
      8      begin
      9          select  'NAAMA'
     10            into  v_name
     11            from  naama.users
     12            where rownum = 1;
     13          return v_name;
     14  end get_name;
     15  / 
    
    Function created.
    
    SQL> grant execute
      2    on get_name
      3    to test
      4  / 
    
    Grant succeeded.
    
    SQL> create materialized view log
      2    on users
      3    with rowid
      4  / 
    
    Materialized view log created.
    
    SQL> grant all
      2    on mlog$_users
      3    to test
      4  / 
    
    Grant succeeded.
    
    SQL> connect test@orcl/test
    Connected.
    SQL> create materialized view users_mv
      2    build immediate
      3    refresh fast
      4    on commit
      5    with rowid
      6    as
      7      select  user_name,
      8              user_password,
      9              naama.get_name(user_name) first_name
     10        from  naama.users
     11  /
                naama.get_name(user_name) first_name
                      *
    ERROR at line 9:
    ORA-12054: cannot set the ON COMMIT refresh attribute for the materialized view
    
    SQL> 
    

    Next time you get MV create errors, you can login as the owner of the MV as question:

    SQL> @?\rdbms\admin\utlxmv.sql -- run it once per user only, it creates table MV_CAPABILITIES_TABLE
    
    Table created.
    

    Now comment ON offending COMMIT and the question:

    SQL> begin
      2      dbms_mview.explain_mview('create materialized view users_mv
      3    build immediate
      4    refresh fast
      5  --  on commit
      6    with rowid
      7    as
      8      select  user_name,
      9              user_password,
     10              naama.get_name(user_name) first_name
     11        from  naama.users','xxx');
     12  end;
     13  /
    
    PL/SQL procedure successfully completed.
    
    SQL> SELECT  CAPABILITY_NAME,
      2          POSSIBLE,
      3          RELATED_TEXT
      4          RELATED_NUM,
      5          MSGNO,
      6          MSGTXT
      7    FROM  MV_CAPABILITIES_TABLE
      8    WHERE STATEMENT_ID = 'xxx'
      9    ORDER BY SEQ
     10  /
    
    CAPABILITY_NAME                P RELATED_NUM                         MSGNO MSGTXT
    ------------------------------ - ------------------------------ ---------- --------------------------------------------------
    PCT                            N
    REFRESH_COMPLETE               Y
    REFRESH_FAST                   N
    REWRITE                        N
    PCT_TABLE                      N this PL/SQL function cannot be       2066 Oracle error: see RELATED_NUM and RELATED_TEXT for
                                      supported for query rewrite               details
    
    PCT_TABLE                      N NAAMA.USERS                          2068 relation is not a partitioned table
    REFRESH_FAST_AFTER_INSERT      N                                      2083 mv references PL/SQL function that maintains state
    REFRESH_FAST_AFTER_ONETAB_DML  N                                      2146 see the reason why REFRESH_FAST_AFTER_INSERT is di
                                                                               sabled
    
    REFRESH_FAST_AFTER_ANY_DML     N                                      2161 see the reason why REFRESH_FAST_AFTER_ONETAB_DML i
                                                                               s disabled
    
    REFRESH_FAST_PCT               N                                      2157 PCT is not possible on any of the detail tables in
                                                                                the materialized view
    
    REWRITE_FULL_TEXT_MATCH        N this PL/SQL function cannot be       2066 Oracle error: see RELATED_NUM and RELATED_TEXT for
                                      supported for query rewrite               details
    
    REWRITE_FULL_TEXT_MATCH        N                                      2159 query rewrite is disabled on the materialized view
    REWRITE_PARTIAL_TEXT_MATCH     N                                      2031 materialized view cannot support any type of query
                                                                                rewrite
    
    REWRITE_PARTIAL_TEXT_MATCH     N                                      2159 query rewrite is disabled on the materialized view
    REWRITE_GENERAL                N                                      2031 materialized view cannot support any type of query
                                                                                rewrite
    
    REWRITE_GENERAL                N                                      2159 query rewrite is disabled on the materialized view
    REWRITE_PCT                    N                                      2158 general rewrite is not possible or PCT is not poss
                                                                               ible on any of the detail tables
    
    PCT_TABLE_REWRITE              N this PL/SQL function cannot be       2066 Oracle error: see RELATED_NUM and RELATED_TEXT for
                                      supported for query rewrite               details
    
    PCT_TABLE_REWRITE              N NAAMA.USERS                          2068 relation is not a partitioned table
    
    19 rows selected.
    
    SQL> 
    

    As you can see REFRESH_FAST_AFTER_INSERT is not possible (POSSIBLE = N) and the reason is "mv reference function of PL/SQL that maintains state. Now the question is whether your function is deterministic (always returns a value even if the same parameters are passed). If it's really, use:

    SQL> create user naama
      2    identified by naama
      3    default tablespace users
      4    quota unlimited on users
      5  / 
    
    User created.
    
    SQL> grant create session,
      2        create table,
      3        create procedure,
      4        create materialized view
      5    to naama
      6  / 
    
    Grant succeeded.
    
    SQL> create user test
      2    identified by test
      3    default tablespace users
      4    quota unlimited on users
      5  / 
    
    User created.
    
    SQL> grant create session,
      2        create table,
      3        create materialized view
      4    to test
      5  / 
    
    Grant succeeded.
    
    SQL> connect naama@orcl/naama
    Connected.
    SQL> create table users(
      2                     user_id               NUMBER,
      3                     user_name             VARCHAR2(15 CHAR),
      4                     user_password         VARCHAR2(50 CHAR),
      5                     CONSTRAINT user_pk PRIMARY KEY(user_id)
      6                    )
      7  / 
    
    Table created.
    
    SQL> grant select,
      2        on commit refresh
      3    on users
      4    to test
      5  / 
    
    Grant succeeded.
    
    SQL> create or replace
      2    function get_name(
      3                      user_name_in IN varchar2
      4                     )
      5      return varchar2
      6      deterministic
      7      is
      8          v_name varchar2(10);
      9      begin
     10          select  'NAAMA'
     11            into  v_name
     12            from  naama.users
     13            where rownum = 1;
     14          return v_name;
     15  end get_name;
     16  / 
    
    Function created.
    
    SQL> grant execute
      2    on get_name
      3    to test
      4  / 
    
    Grant succeeded.
    
    SQL> create materialized view log
      2    on users
      3    with rowid
      4  / 
    
    Materialized view log created.
    
    SQL> grant all
      2    on mlog$_users
      3    to test
      4  / 
    
    Grant succeeded.
    
    SQL> connect test@orcl/test
    Connected.
    SQL> create materialized view users_mv
      2    build immediate
      3    refresh fast
      4    on commit
      5    with rowid
      6    as
      7      select  user_name,
      8              user_password,
      9              naama.get_name(user_name) first_name
     10        from  naama.users
     11  / 
    
    Materialized view created.
    
    SQL> 
    

    However, keep in mind, Oracle approves completely you declaring function as deterministic. If, in fact, your function is not deterministic (and most likely is not) MV will produce erroneous results.

    SY.

Maybe you are looking for

  • replace drive hard hp pavilion 6500 with ssd

    Hi again can I replace my hp pavilion 6500 hard drive Samsung 850 EVO 500 GB 2.5 inch SATA III internal SSD? will it work? the speed difference is noticeable? Thank you A.S.

  • Satellite 1800-400 does not start, or crashes after upgrading RAM

    I have the original configuration of RAM for the S1800-400 with 120 MB. I bought a 256 MB RAM with the following description: EXT256-3069/JR, MEM 256 MB RA Toshiba Satellite PRO 4600 series C650, PIII-7500/750/800 #PA3069U (I think the brand is Trans

  • AirPlay icon won't go away

    Today, I noticed that the AirPlay icon appeared on my menu bar. I'm sure that wasn't there before, because I had tried to erase my sidebar too crowded and he would have noticed. I don't own an Apple TV or something but in the menu, I see a bunch of s

  • On my computer laptop memory...

    Hello.. I have HP Pavilion g6-2080se Notebook PC... This works perfectly... I want to ask. What is the maximum amount of memory I can install with my laptop... ?   8 GB or more... ? He currently 6 GB... What type of memory... ?   SDRAM or what... ? m

  • Digital magnification of output using USB-6211

    Hello I'm trying to use the example of LV "Cont writing dig port - Int clk.vi" to generate a model. But I get the error-200077 on the sample clock. The popup error message suggests using "we demand", but it doesn't have the choice with the DAQmx. Any