orasi @ Dijous, 29 de Març de 2007
Desenvolupament de la pràctica:
1-Requeriments de hardware
- memòria física: li donarem 1 GB, el mínim requerit segons la documentació.
- SWAP: 1'5 vegades la memòria física (1'5 GB), seguint els barems especificats.
- Espai de disc per a /tmp: la documentació ens demana un mínim de 400 MB, li hem donat una partició pròpia de 500 MB
1b)Comprovació dels requeriments:
Per determinar la mida RAM: grep MemTotal /proc/meminfo
Per determinar la mida de la swap: grep SwapTotal /proc/meminfo
Per determinar l'espai lliure a /tmp: df -k /tmp
Igual, però pel disc sencer: df -k
Per determinar l'aqruitectura de la cpu: grep "model name" /proc/cpuinfo
2- Requeriments de software
- Sistema Operatiu: Utilitzarem una distribució openSuse, en la seva versió 10.2
- Paquets necessaris: Cal comprovar si tenim els següents paquets:
binutils-2.15.90.0.1.1-32.5 FET
gcc-3.3.3-43.24 FET
gcc-c++-3.3.3-43.24 FET
glibc-2.3.3-98.28 FET
gnome-libs-1.4.1.7-671.1 FET
libstdc++-3.3.3-43.24 FET
libstdc++-devel-3.3.3-43.24 FET
make-3.80-184.1 FET
pdksh-5.2.14-780.1 No és al repositori, descarregat i instal·lat manualment.
sysstat-5.0.1-35.1 FET
xscreensaver-4.16-2.6 FET
3- Preparar l'entorn
3a) Configuració dels paràmetres de xarxa.
- Comprovar que usem /etc/hosts per resoldre noms:
# cat /etc/nsswitch.conf | grep hosts
Resultat:
hosts: files dns
(correcte)
- Verificar que hem posat el hostname:
# hostname
Resultat:
mattdamon
(correcte)
- Comprovar que el nom de domini no ha estat establert dinàmicament:
# domainname
Resultat:
(correcte, no n'ha de retornar)
- Verificar que el fitxer de hosts conté el "fully qualified hostname":
# cat /etc/hosts | grep 'mattdamon'
Resultat:
192.168.52.10 mattdamon.nurse.org mattdamon
Falta una línia, l'afegim a /etc/hosts i recomprovem:
Resultat:
192.168.52.10 mattdamon.nurse.org mattdamon
127.0.0.1 localhost mattdamon.nurse.org
(correcte)
3b) Creació de grups i usuaris.
Cal afegir els grups "dba", "oper" i "oinstall":
# groupadd oinstall
# groupadd dba
# groupadd oper
Cal afegir l'usuari que executara l'oracle, i posar-lo als grups corresponents:
# useradd -g oinstall -G dba, oper oracle
Això crea l'usuari oracle dins el grup principal oinstall, i a més el posa dins els grups dba i oper.
Posem el password a l'usuari oracle:
# passwd oracle
Verifiquem que l'usuari nobody existeix:
# id nobody
Resultat:
uid=65534(nobody) ...
Com que ja existeix, no cal que el creem.
3c) Canvi dels paràmetres del kernel.
Comparem els paràmetres demanats per oracle i els que té la nostra màquina virtual. (* pels que hem de canviar)
El format és sempre:
Comanda
Valors de la nostra màquina
Valors requerits
# sysctl -a | grep sem
Nostres valors:
semmsl 250
semms 256000
* semopm 32
semmni 1024
Valors requerits:
semmsl 250
semms 32000
semopm 100
semmni 128
# sysctl -a | grep shn
Nostres valors:
shmni 4096
shmall 268435200
shmmax 4294967295
Valors requerits:
shmni 4096
shmall 2097152
shmmax 512000aprox
# sysctl -a | grep file-max
Nostres valors:
102410
Valors requerits:
65536
# sysctl -a | grep ip_local_port_range
Nostres valors:
minimum: 1024
* maximum: 29999
Valors requerits:
minimum: 1024
maximum: 65000
# sysctl -a | grep rmem_default
Nostres valors:
* 109568
Valors requerits:
1048576
# sysctl -a | grep rmem_max:
Nostres valors:
* 131071
Valors requerits:
1048576
# sysctl -a | grep wmem_default:
Nostres valors:
* 109568
Valors requerits:
262144
# sysctl -a | grep wmem_max:
Nostres valors:
* 131071
Valors requerits:
262144
Per a solucionar-ho, hem editat el fitxer /etc/sysctl.conf:
# joe /etc/sysctl.conf
I hi hem afegit les següents línies:
kernel.sem = 250 256000 100 1024
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
Un cop guardat, hem executat la comanda per assegurar-nos que el sistema llegeixi els paràmteres quan reinicii:
# /sbin/chkconfig bott.sysctl on
I hem executat la comanda per no haver de reiniciar, però treballar ja amb els paràmetres actualitzats:
# sysctl -p
3d)Canviar els límits de la shell de l'usuari Oracle.
Afegir les següents línies a /etc/security/limits.conf:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
Després hem afegit aquests línies a /etc/pam.d/login:
session required /lib/security/pam_limits.so
session required pam_limits.so
Per finalitzar, hem editat /etc/profile i hem afegit al final:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi