Como definir / alterar permanentemente os limites no sistema operacional Solaris 10

0

Eu recebi um e-mail da oracle para alterar o limite no servidor solaris 10 para que o aplicativo Oracle funcionasse,

infelizmente eu não tenho experiência no Solaris, então preciso de ajuda

Os valores serão como abaixo

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
    
por OmiPenguin 29.07.2018 / 13:29

1 resposta

1

Não é recomendável aumentar o limite do descritor de arquivo global, pois isso pode fazer com que os programas de 32 bits falhem, a menos que tenham conhecimento sobre como usar os descritores de arquivo > 255, consulte: enable_extended_FILE_stdio(3C) .

Portanto, talvez seja melhor apenas chamar a base de dados oracle por meio de um script de shell que primeiro faz as chamadas ulimit necessárias para configurar os limites e, em seguida, chamar o banco de dados.

Deixe-me mostrar um conjunto típico de limites do Solaris que pode ser recuperado com o Bourne Shell (como no meu exemplo). Observe que usar ksh93 não é útil aqui, pois o ksh93 inclui informações de outros recursos que não são configuráveis. Este é o padrão no 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

Como você pode ver, todos os valores padrão são maiores que os valores requeridos, exceto os descritores de arquivos abertos. Não tenho certeza se o limite rígido da pilha deve ser reduzido.

Se você gosta de modificar os valores, escreva um script de shell e digite isto:

ulimit -nS 1024

Isso eleva o limite do descritor de arquivo flexível para 1024 e resulta em um novo limite:

-n: nofiles(descriptors) 1024:65536

Se você precisar reduzir o limite de pilha, insira também:

ulimit -sH 32768

Isso reduziu o limite de pilha para 32 MB e resulta em:

-s: stack(kbytes) 10240:32768

Depois disso, insira o comando para iniciar a base de dados oracle no script e, em seguida, execute este script.

    
por 29.07.2018 / 14:48