Что такое unlimited usage quota
Назначение Квот Пользователям
Определенным значением в мегабайтах или килобайтах
Квота является допуском пространства в данном табличном пространстве. По умолчанию у пользователя нет никакой квоты на любое из табличных пространств. У Вас есть три опции для того, чтобы предоставить квоту пользователю на табличное пространство.
Unlimited: Позволяет пользователю использовать все доступное место в табличном пространстве
Value: Число в килобайтах или мегабайтах, которые может использовать пользователь. Это не гарантирует, что пространство доступно для пользователя. Это значение может быть больше или меньше, чем текущее место, которое доступно в табличном пространстве.
Системная привилегия UNLIMITED TABLESPACE: Переопределяет все отдельные квоты табличных пространств и дает пользователю неограниченную квоту для всех табличных пространств, включая SYSTEM и SYSAUX. Эту привилегию нужно предоставлять с осторожностью.
Отметьте: Предоставление роли RESOURCE включает предоставление этой привилегии.
Не следует назначать квоту пользователям для табличных пространств SYSTEM и SYSAUX. Как правило, только пользователи SYS и SYSTEM должны иметь право создавать объекты в табличных областях SYSTEM и SYSAUX.
Экземпляр Oracle проверяет квоту, когда пользователь создает или расширяет сегмент.
Для действий, которые предназначены для пользовательской схемы, только те действия, которые используют место в табличном пространстве, проверяются на ограничение квоты. Действия, которые не используют место в присвоенном табличном пространстве, не влияют на квоту (например, создание представлений или использование временных табличных пространств).
Квота добавляется, когда объекты, принадлежавшие пользователю, удаляются с предложением PURGE или когда объекты в корзине, принадлежавшие пользователю, очищаются.
Что такое unlimited usage quota
Мне нужно поставить на сервак прогу. И она юзает Oracle. Плюс необходимо в SQL Plus выполнить следующую команду:
ALTER USER «SMETA» QUOTA UNLIMITED ON «INDX». Но она не выполняется.
Выдается ошибка:
раздел «INDX» не существует.
Что вообще делает эта команда? И как мне создать данный раздел или где мне нужно его переименовать.
Похожая трабла была с Temporary tablespace. Программа написана для Oracle 8, а я ставлю на 10g2. Так сейчас Temporary по умолчанию называется Temp(изменил при создании базы). А вот проблему с INDX решить не могу.
Плюс что не так в команде:
ALTER USER «SMETA» QUOTA UNLIMITED ON «TEMPORARY».
Пишет. Невозможно предоставить квоту для табличного пространства.
Помагаем
Во-первых: на временные табличные пространства(TEMP,TEMPORARY в твоём случае) квоты не выдаются (о чём сервер и предупредил). Временные табличные пространства используются для временных данных, которые как правило видимы в пределах сессии и которые «вычищаются» при её завершении.
Во-вторых: ALTER USER «SMETA» QUOTA UNLIMITED ON «INDX» предоставляет неограниченную квоту для табличного пространства INDX. То есть данный юзер может сколько угодно много(буквально не понимать ) объектов плодить в данном табличном пространстве.
Ну и, наконец, создай INDX, сервер же ясно ругнулся, что не существует.
Как пример (мог и ошибиться в чём-то, пишу по памяти, лучше в доке уточни):
create tablespace INDX datafile ‘c:\indx.dbf’ EXTENT MANAGEMENT LOCAL size 100M
(создаёт табл. пространство с одним файлом данных размером 100 мегов)
> То есть данный юзер может сколько угодно много объектов плодить в данном табличном пространстве
Не совсем корректно выразился (видимо спать пора )
Сами объекты-то в словаре хранятся, в вот данные таблиц, индексов как раз в табл пространствах (которые им назначены) и располагаются. И вот для этих данных в INDX пользователь может выделить любое кол-во пространства, ну если конечно имеет неограниченную привилегию на него.
UNLIMITED QUOTA privilege
Comments
No. Unlimited quota means you can use as much space as you want from a tablespace, provided tablespace contains sufficient space.
This is different from the other privileges you specified.
That’s UNLIMITED TABLESPACE privilege.
— Additional Info.
http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_9013.htm#sthref9222
I remember when I grant any role (perhaps resource) to user_A on old Oracle, then automatically grant this system privilege to user_A.
But, no role has this system privelege.
It might be a mistake of my memory.
— I get in OTN Japan (my issue on Oracle9i Forum in 2005-04-19) (Sorry, this is only a discussion in Japanese with no script example)
(So, I translate that in English.)
Mysterious specification not described in any manual.
The unlimited tablespace system privilege is granted directly to user (when grant dba or resorce role to user).
The roles such as dba,resource,connect are reserved for downward compatibility.
(1) when grant dba or resource role to user,
then user is granted unlimited tablespace system privilege.
(2) when revoke dba or resource role from user,
then user is revoked unlimited tablespace system privilege.
(3) at the first grant dba and resource role to user,
after that revoke dba or resource role from user,
then user is revoked unlimited tablespace system privilege.
(The non-revoked role (resource or dba) still remains in that user.)
Message was edited by:
ushitaki
Average mail quota usage: tricks to implement unlimited email quota
I suppose that hosters who provides unlimited mail quota are only claiming it unlimited, and hope that they won’t run out of disk space. Correct me if I’m wrong.
In order to do such trick they will have probably to calculate the average real quota used by the average user.
Let’s say on a 100 GB space hosting I offer to 20 x 1GB POP3 emails, obviously if all user fill their mail my server would stop working cause they would require 200 GB, but I think I can expect this trick to work cause it will never happen (or it’s extermly unprobable) that all user fills up all their mails, average user use Outlook and some will leave mail on server, others won’t leave mail on server except when they are on vacation cause theyr PC is off and Outlook won’t download mails.
But the QUESTTIONS are:
Thanks to any answers/suggetions you might provide.
1 Answer 1
It will depend entirely on the users and what they’re using the e-mail accounts for. Your average soccer mom will have different needs than someone who is e-mailing 20MB CAD drawings all day long. Also, are they POPing mail out and removing it from the server, or are they using IMAP or webmail where the mail will stay stored on the server forever?
I can tell you on one of our mail servers, we’re housing around 1,400 accounts for various small to medium-sized businesses. Some use IMAP and have several GB of storage, others POP mail out and hardly have more than a few MB on the server at any one time. It will really all depend on who the users are and what they’re doing.
The other thing to keep in mind is that larger providers who offer «unlimited» storage have essentially «unlimited» money and other resources to throw at their storage platform. If they see that their storage is getting within a certain percentage free, they just add more and call it a day. If you’re planning on offering «unlimited» storage with a 100GB drive, I’d highly recommend getting an idea of how your users will expect to use the service, and perhaps even put a quota in place that is higher than what you expect the majority of the users to consume, thereby protecting the system from the 20% who will want to use it as storage for their music archive or something.
Настройка дисковых квот в Linux
Пошагово разберем процесс установки ограничений на использование дискового пространства в системах Linux. Какой дистрибутив — не важно. Процесс немного различается для файловых систем XFS и EXT4/остальных — мы разберем оба варианта.
Установка пакета quota
Установка пакета для управления квотами выполняется из репозитория.
а) для систем на базе RPM (Red Hat, CentOS):
б) для систем на базе deb (Debian, Ubuntu):
apt-get install quota
Настройка раздела
Для возможности управлять квотами для определенного раздела необходимо его смонтировать с соответствующими опциями. Для файловых систем XFS и не XFS (например, ext) эти опции различаются:
И так, чтобы добавить нужные опции для включения квотирования, откроем файл fstab:
Находим настройку для монтирования раздела, на который необходимо установить квоту и добавим нужные опции:
* в данном примере мы добавили опции usrquota и grpquota для устройства /dev/sda, примонтированного в качестве корневого раздела / с файловой системой ext. А также опции uquota и gquota для устройства /dev/sdb (монтируется в /var с файловой системой xfs). Если необходимо включить квоту только для пользователей или групп, оставляем соответствующие опции.
* существуют и другие опции, например, jqfmt нужна для указания формата квоты при использовании журналирования. Подробнее описано в таблице Опции системы квот в файле /etc/fstab сайта IBM.
Перемонтируем наши разделы:
Проверим, что нужные нам разделы теперь смонтированы с опциями квотирования:
Мы увидим, примерно, следующее:
Квоты включены для разделов.
Корневая директория (/) + XFS
При попытке включить квоту для корневой директории XFS с помощью файла fstab, результат будет нулевым — в опциях монтирования мы будем наблюдать noquota, например:
/dev/sda on / type xfs (rw,relatime,attr2,inode64, noquota )
Для включения опции квотирования необходимо отредактировать загрузчик. Для этого открываем файл:
Находим строку GRUB_CMDLINE_LINUX и дописываем в нее rootflags=uquota,gquota — в моем случае получилось так:
.
GRUB_CMDLINE_LINUX=»crashkernel=auto rd.lvm.lv=vg/root rd.lvm.lv=vg/swap rhgb quiet floppy.allowed_drive_mask=0 rootflags=uquota,gquota »
.
На всякий случай, сохраним конфигурационный файл загрузчика:
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.backup
. и применим настройки grub:
После перезагрузки мы должны наблюдать такую картину:
/dev/mapper/vg-root on / type xfs (rw,relatime,attr2,inode64, usrquota,grpquota )
Квоты включены для корневого раздела с файловой системой XFS.
Включение квот
И так, мы разрешили квоты для разделов. Теперь включаем квоты. Процессы для XFS и остальных файловых систем немного различаются. Мы рассмотрим оба варианта. Так как в нашем примере есть разделы для XFS и Ext, то мы выполним все варианты настроек.
После монтирования раздела с файловой системой XFS автоматически включается квотирование (если была задана соответствующая опция). Проверить состояние можно, войдя в режим экспертного управления квотами:
. и выполнив команду для получения статуса:
Ext и другие
Выполним проверку наличия служебных файлов aquota.user и aquota.group — если их нет, команда их создаст автоматически:
. при наличии разделов с включенной квотой на XFS мы можем увидеть:
quotacheck: Skipping /dev/sdb [/var]
* это нам говорит о том, что команда quotacheck пропускаем раздел с xfs.
Включаем квоту для разделов:
Установка квот
Пришло время задать квоты. Они устанавливаются с помощью команды edquota.
Квоты пользователей
Для пользователя, вводим команду:
* где dmosk — имя пользователя, для которого будет задана квота.
В открывшемся редакторе можно задать ограничение на использование разделов, для которых включена квота:
Disk quotas for user dmosk (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/sda 20 0 10M 8 0 0
/dev/sdb 0 0 20M 0 0 0
* в данном примере мы задали жесткую квоту для пользователя dmosk в 10 Мб на /dev/sda (корневой раздел) и 20 Мб на /dev/sdb (/var).
Квоты для групп
Для группы, задаем квоту так:
Как и в случае с пользователем, откроется редактор, с помощью которого можно задать квоту:
Disk quotas for group mail (gid 12):
Filesystem blocks soft hard inodes soft hard
/dev/sda 0 0 30M 6 0 0
/dev/sdb 0 0 40M 0 0 0
* в данном примере мы зададим квоту для группы в 30 Мб на /dev/sda (корневой раздел) и 40 Мб на /dev/sdb (/var).
Копирование квот
* в данном примере мы скопируем настройку квотирования, которая применяется к dmosk на другого пользователя ivanov.
Настройка периода отсрочки
В открывшемся окне задаем новые значения:
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/mapper/vg-root 8days 9days
/dev/sdb 8days 9days
* в данном примере мы задали 8 дней для квот на дисковое пространство и 9 дней — на количество файлов.
Просмотр и проверка квот
Ограничения настроены. Проверим.
Отчет по квотам
Чтобы посмотреть отчет об используемом пространстве и установленных квотах, вводим команду:
* для отчета корневого раздела только по пользовательским (u) квотам в режиме удобного чтения (s).
* для отчета по разделу /var для групп.
Мы увидим что-то на подобие:
* как видим, это отчет по использованию раздела /. Мы видим, каким пользователем сколько занято дискового пространства и видим, что для нашего пользователя dmosk установлена квота в 10 Мб (10240 Кб).
Проверка
И так, мы настроили для пользователя dmosk ограничение на использование дискового пространства. Попробуем превысить данный лимит. Заходим в консоль под нужным пользователем:
dd if=/dev/zero of=/tmp/tmp_dmosk_file bs=1024000 count=100
* команда должна создать файл на 100 Мб в каталоге tmp.
Однако, система вернет сообщение:
dd: ошибка записи «/tmp/tmp_dmosk_file»: Превышена дисковая квота
11+0 записей получено
10+0 записей отправлено
скопировано 10240000 байт (10 MB), 0,223768 c, 45,8 MB/c
Другие квоты
Иногда, необходимо установить квоту в рамках определенной программы или каталога.
Однако, квоты так не работают и нет возможности задать их для определенного каталога или программы. Но это не означает, что выхода нет.
Квота на директорию
Чаще всего, нет необходимости задавать квоту на всю систему — нужно только ограничение размера директории. В данной ситуации нам нужно примонтировать диск к нужной директории и задать квоту на примонтированный раздел.
Квоты в samba
Как правило, речь в контексте samba идет о ограничения на использование шары. Для этого необходимо каждую шару поместить на отдельный раздел, каждый со своей квотой.
Также в файловом сервере samba есть возможность настройки квотирования на уровне программного обеспечения. В конфигурационном файле при настройке шары добавим:
[share]
.
vfs objects = default_quota
default_quota:uid = 1022
default_quota:uid nolimit = no
.
* в данном примере мы задаем квоту на каталог share. Данная квота должна быть такой же, как у системного пользователя с uid 1022. Таким образом, системные квоты должны быть настроены.
Для samba есть также параметр max disk size, который не является ограничением, а просто показывает для других программ максимальный объем доступного пространства.
Квоты в vsftpd
Настраивая vsftpd, мы также должны позаботиться о том, чтобы каталоги с FTP были на разделах с установленными квотами. Другими словами — вопрос также решается с применением пакета quota.