Intereting Posts
Добавление пространства USB в conky Как выполнить повторение цикла while для возврата суммы? Будет ли перенос репозитория SVN репозитория из Linux в ОС Windows вызовет проблемы с EOL? Unix: поиск файлов конфигурации службы в файловой системе Назначение команды массиву в сценарии оболочки не работает? Как исправить прерывистые ошибки «Нет места на устройстве» во время mv, когда у устройства достаточно места? Компиляция ядра для минимального выполнения программы Записать журнал для ложной инструкции условия if, которая возвращает exit 2 Как я могу удалить все до шаблона и всего после другого шаблона из строки? Объединение двух сеансов экрана Запретить stdin ждать первого сообщения из именованного канала Проблема зависимости Perl Почему BASH печатал «bash: cd: write error: Success»? Как поместить команду EOF в одну строку для выполнения нескольких команд оболочки перенаправить системные журналы systemd в файл

Как навсегда установить / изменить ограничения в Solaris 10 для всей системы

Я получил письмо от oracleа, чтобы изменить лимит на сервере Solaris 10, чтобы заставить работать приложение oracleа,

к сожалению у меня нет опыта работы в солярисе, поэтому нужна помощь

Значения будут как ниже

A00110 This rule verifies that the ulimit settings are adequate Oracle Database 11g R2. The recommended values are not less than: ulimit(TIME) = unlimited ulimit(FILE) = unlimited ulimit(DATA) = 1048576 Soft ulimit(NOFILES) = 1024 Hard ulimit(NOFILES) = 65536 ulimit(VMEMORY) = 4194304 and not more than Soft ulimit(STACK) = 10240 Hard ulimit(STACK) = 32768 VmemoryNotDefined StackHardUnlimited Review the ulimit settings: Set the hard ulimit(STACK) to a maximum of 32768 ulimit(VMEMORY) is not defined 

Повышать глобальный лимит дескрипторов файлов не рекомендуется, поскольку это может привести к сбою 32-битных программ, если они не знают, как использовать дескрипторы файлов> 255, см .: enable_extended_FILE_stdio(3C) .

Поэтому может быть лучше просто вызвать базу данных Oracle с помощью сценария оболочки, который сначала выполняет необходимые вызовы ulimit для установки ограничений, а затем вызывает базу данных.

Позвольте мне показать типичный набор пределов Solaris, который можно получить с помощью Bourne Shell (как в моем примере). Обратите внимание, что использование ksh93 здесь бесполезно, так как ksh93 содержит информацию из других ресурсов, которые нельзя установить. Это значение по умолчанию в Solaris:

 LC_ALL=C ulimit -aSH -t: time(seconds) unlimited:unlimited -f: file(blocks) unlimited:unlimited -d: data(kbytes) unlimited:unlimited -s: stack(kbytes) 10240:unlimited -c: coredump(blocks) unlimited:unlimited -n: nofiles(descriptors) 256:65536 -v: memory(kbytes) unlimited:unlimited 

Как видите, все значения по умолчанию выше, чем обязательные значения, кроме дескрипторов открытого файла. Я не уверен, следует ли уменьшить жесткий предел стека.

Если вы хотите изменить значения, напишите сценарий оболочки и введите следующее:

 ulimit -nS 1024 

Это увеличивает предел дескриптора мягкого файла до 1024 и приводит к новому пределу:

 -n: nofiles(descriptors) 1024:65536 

Если вам нужно уменьшить ограничение жесткого стека, также введите:

 ulimit -sH 32768 

Это уменьшило предел жесткого стека до 32 МБ и привело к:

 -s: stack(kbytes) 10240:32768 

После этого введите команду для запуска базы данных Oracle в сценарий, а затем запустите этот сценарий.