Case scenario:
After creating a new tablespace Tbs_market_dat, you want to place the archived data in this table space.
sql> CREATE tablespace Tbs_market_dat
'/U04/ORADATA/GPS/BOOKT_DATA_ARCH_01.DBF '
3 SIZE 100M
4 Autoextend on
5 NEXT 10M
6 MAXSIZE 4G
7 EXTENT MANAGEMENT LOCAL
8 SEGMENT SPACE MANAGEMENT AUTO ONLINE;
User A (the default tablespace is Tbs_ods_dat) when you create a table when you specify that the table is stored in table space Tbs_market_dat, encounter ora-01950:no privileges on tablespace ' Tbs_market_dat '
Cause Analysis:
As shown below, the user does not have permission to allocate space in the specified tablespace. You only need to grant permissions to the table space to that user.
[Email protected] ~]$ oerr ora 01950
01950, 00000, "no privileges on Tablespace '%s '"
*cause:user does not having privileges to allocate a extent in the
Specified tablespace.
*action:grant the user the appropriate system privileges or Grant the user
Space resource on the tablespace.
Workaround:
Method 1: Grant the User a unlimited quota for the tablespace
sql> ALTER USER ETL QUOTA UNLIMITED on Tbs_market_dat;
User altered.
Sql>
Method 2: After you re-authorize the resource role to the user, you can create the table
Sql> GRANT RESOURCE to ETL;
Ora-01950:no privileges on tablespace xxxx