#oracle
Вопрос:
В моем домашнем задании меня просят создать табличное пространство под названием ИНСТРУМЕНТЫ. Поэтому я использовал следующую команду:
CREATE TABLESPACE TOOLS
DATAFILE 'tools1_data.dbf'
SIZE 10M;
Итак, я получил результат, который "Tablespace created"
Меня попросили назначить существующего пользователя для этого табличного пространства, и я сделал это успешно без каких-либо проблем. Однако, когда я запрашиваю dba_ts_quotas, я не могу увидеть это табличное пространство в этом списке:
Что я могу здесь сделать не так? Любое понимание здесь очень ценится. Заранее спасибо.
Ответ №1:
Вы можете найти информацию о табличных пространствах только в dba_ts_quotas
том случае, если вы предоставляете квоту на нее определенному пользователю.
Квота-это объем пространства, который конкретный пользователь может использовать в определенном табличном пространстве.
DBA_TS_QUOTAS описывает квоты табличных пространств для всех пользователей.
Поэтому вы должны выдать
ALTER USER xxxx QUOTA yyy ON tablespacename ;
Где
xxxx
является ли пользователь, которому вы предоставляете квоту на определенное табличное пространствоyyyy
это квота. Это может быть целое число с K в килобайтах, M в мегабайтах или G в гигабайтах. Если вы не хотите ограничивать квоту, вы используете затемquota unlimited
tablespacename
это созданное вами табличное пространство.
Пример
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
Комментарии:
1. Это правильный ответ. Спасибо за помощь!!
2. добро пожаловать @CrazyCoder