在我的家庭作业中,我被要求创建一个叫做工具的表空间。因此,我使用了以下命令:
CREATE TABLESPACE TOOLS
DATAFILE 'tools1_data.dbf'
SIZE 10M;所以我得到了一个输出,"Tablespace created"
我被要求为这个表空间分配一个现有的用户,我成功地做到了这一点,没有任何问题。但是,当我查询dba_ts_quotas时,我无法在列表中看到这个表空间:

我在这里做错了什么?任何洞察力在这里都是非常感谢的。提前谢谢。
发布于 2021-09-21 13:43:09
只有在向特定用户授予配额时,才能在dba_ts_quotas中找到表空间信息。
配额是特定用户在确定的表空间中可以使用的空间数量。
DBA_TS_QUOTAS描述了所有用户的表空间配额。
所以你必须发布一个
ALTER USER xxxx QUOTA yyy ON tablespacename ;哪里
xxxx是您要在特定的tablespaceyyyy上授予配额的用户。它可以是一个整数,K是千字节,M是兆字节,G是千兆。如果您不想限制配额,则使用quota unlimitedtablespacename是您创建的表空间.示例
ALTER USER SCOTT QUOTA UNLIMITED ON TOOLS;演示
SQL> create tablespace tbdemo datafile '/bbdd_odcgrc1r/datos/tbdemo.dbf' size 10M autoextend on next 10m maxsize 10g ;
Tablespace created.
SQL> alter user test1 quota unlimited on tbdemo ;
User altered.
SQL> desc dba_ts_quotas
Name Null? Type
----------------------------------------- -------- ----------------------------
TABLESPACE_NAME NOT NULL VARCHAR2(30)
USERNAME NOT NULL VARCHAR2(128)
BYTES NUMBER
MAX_BYTES NUMBER
BLOCKS NUMBER
MAX_BLOCKS NUMBER
DROPPED VARCHAR2(3)
SQL> select tablespace_name,username,max_bytes from dba_ts_quotas
2 where tablespace_name = 'TBDEMO' ;
TABLESPACE USERNAME MAX_BYTES
--------------------------------------
TBDEMO TEST1 -1-1表示用户TEST1在此表空间上的无限配额。
https://stackoverflow.com/questions/69269833
复制相似问题