a) Revisamos que el tamaño de la memoria asignada sea de 4Gb o superior, determinamos con la siguiente instrucción:
bash-3.2# /usr/sbin/prtconf | grep "Memory size"
b) Determinamos el tamaño de SWAP que tenemos configurado, el valor debería ser bajo lo especificado con la tabla a continuación:
RAM
|
Tamaño del SWAP
|
Entre 1 GB y 2 GB
|
1.5 veces al del tamaño de la memoria RAM.
|
Entre
2 GB y 16 GB
|
Igual tamaño al de la memoria RAM.
|
Más de 16 GB
|
16 GB
|
En nuestro caso la memoria RAM es de 4 GB, por lo tanto, en función de la tabla mencionada anteriormente nuestro SWAP debería ser del mismo tamaño. Para determinar el tamaño ejecutamos lo siguiente:
bash-3.2# /usr/sbin/swap –l
c) Verificamos que lo paquetes necesarios ya se encuentre instalados en el sistema operativo. Ejecutamos la siguiente instrucción:
bash-3.2# pkginfo -i SUNWarc SUNWbtool SUNWcsl SUNWhea SUNWlibC SUNWlibm SUNWlibms SUNWsprot SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs
Si no estuviera instalado y diera el error como se muestra en la captura anterior, ejecutamos lo siguiente teniendo como origen el cd de instalación de los binarios:
bash-3.2# pkgadd -d /cdrom/sol_10_113_x86/Solaris_10/Product SUNWi1cs SUNWi15csUna vez instalado ya no debería dar error al listar los paquetes necesarios para el sistema operativo.
d) Para nuestra instalación utilizaremos un solo usuario (oracle) para que maneje tanto la infraestructura Grid y el motor de Base de Datos, por lo tanto, creamos los usuarios y grupos necesarios para la instalación.
bash-3.2# groupadd dba bash-3.2# groupadd oinstall bash-3.2# groupadd oper bash-3.2# groupadd asmadmin bash-3.2# groupadd asmdba bash-3.2# groupadd asmoper bash-3.2# useradd -g oinstall -G dba,oper,asmdba,asmadmin,asmoper -d /export/home/oracle oracle bash-3.2# passwd oracle (ejemplo: oracle123)
e) Creamos los directorios para el usuario “oracle”:
bash-3.2# mkdir /export/home/oracle bash-3.2# chown -R oracle:oinstall /export/home/oracle
f) Creamos los directorios para la instalación:
bash-3.2# mkdir -p /u01/app/oracle/product/11.2.0.3/db_1 bash-3.2# mkdir -p /u01/app/oracle/product/11.2.0.3/grid_1 bash-3.2# chmod -R 775 /u01 bash-3.2# chown -R oracle:oinstall /u01
g) Adicionamos project y verificamos en “/etc/project” que se haya creado correctamente.
bash-3.2# projadd -U oracle oracle
Añadimos la siguiente entrada al archivo “/etc/user_attr” dell project asignando al usuario y luego lo verificamos:
bash-3.2# echo "oracle::::project=oracle" >> /etc/user_attr
h) Modificamos y configuramos los procesos de los projects creados:
bash-3.2# projmod -s -K "project.max-sem-ids=(priv,100,deny)" oracle bash-3.2# projmod -s -K "process.max-sem-nsems=(priv,256,deny)" oracle bash-3.2# projmod -s -K "project.max-shm-memory=(priv,4g,deny)" oracle bash-3.2# projmod -s -K "project.max-shm-ids=(priv,100,deny)" oracle bash-3.2# projmod -s -K "process.max-file-descriptor=(basic,1024,deny)" oracle
i) Configuramos los parámetros del kernel a valores iguales o superiores de lo recomendado.
bash-3.2# echo "set max_nprocs = 30000" >> /etc/system bash-3.2# echo "set maxuprc = 16384" >> /etc/system bash-3.2# echo "set noexec_user_stack=1" >> /etc/system bash-3.2# echo "set semsys:seminfo_semmni=100" >> /etc/system bash-3.2# echo "set semsys:seminfo_semmns=1024" >> /etc/system bash-3.2# echo "set semsys:seminfo_semmsl=256" >> /etc/system bash-3.2# echo "set semsys:seminfo_semvmx=32767" >> /etc/system bash-3.2# echo "set shmsys:shminfo_shmmax=4294967296" >> /etc/system bash-3.2# echo "set shmsys:shminfo_shmmni =100" >> /etc/system
Asignamos valores a los parámetros TCP y UDP:
bash-3.2# /usr/sbin/ndd -set /dev/tcp tcp_smallest_anon_port 9000 bash-3.2# /usr/sbin/ndd -set /dev/tcp tcp_largest_anon_port 65500 bash-3.2# /usr/sbin/ndd -set /dev/udp udp_smallest_anon_port 9000 bash-3.2# /usr/sbin/ndd -set /dev/udp udp_largest_anon_port 65500
Adicionar las siguientes líneas en el archivo “/etc/inittab”, para que las configuración de TCP y UDP del kernel persistan después de algún reinicio.
bash-3.2# echo “tm::sysinit:/usr/sbin/ndd -set /dev/tcp tcp_smallest_anon_port 9000 > /dev/console” >> /etc/inittab bash-3.2# echo “tm::sysinit:/usr/sbin/ndd -set /dev/tcp tcp_largest_anon_port 65500 > /dev/console” >> /etc/inittab bash-3.2# echo "tm::sysinit:/usr/sbin/ndd -set /dev/udp udp_smallest_anon_port 9000 > /dev/console" >> /etc/inittab bash-3.2# echo "tm::sysinit:/usr/sbin/ndd -set /dev/udp udp_largest_anon_port 65500 > /dev/console" >> /etc/inittab
j) Finalmente configuramos las variables de entorno. Nos conectamos como usuario oracle y definimos sus variables de entorno, para ello modificamos el archivo .profile adicionando las siguientes entradas.
echo "Asignando variables para usuario ORACLE" echo "...................................." LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0.3/db_1/lib; export LD_LIBRARY_PATH PATH=/usr/sbin:/usr/ucb:/etc:.; export PATH ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0.3/db_1; export ORACLE_HOME GRID_HOME=$ORACLE_BASE/product/11.2.0.3/grid_1; export GRID_HOME ORACLE_SID=orcl; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM PATH=$ORACLE_HOME/bin:$GRID_HOME/bin:/usr/ccs/bin:/usr/bin:/usr/sbin:/usr/local/bin:.; export PATH EDITOR=vi; export EDITOR TEMP=/tmp; export TEMP TMPDIR=/tmp; export TMPDIR echo "Realizado"
Paulo Ticona
Fuentes:
http://docs.oracle.com/cd/E11882_01/nav/portal_11.htm#solaris_installation_guides
Grid Infrastructure Installation Guide, 11g Release 2 (11.2) for Oracle Solaris E47805-02
Database Installation Guide, 11g Release 2 (11.2) for Oracle Solaris E48357-02
execelente, justo lo que buscaba. Solo una duda.
ResponderEliminarEn otro manual de instalacion lei que las lineas que se deben agregar al archivo /etc/inittab se deben agregar antes de la linea que contiene svc.startd, y parece que tu las estas agregando al final, hay alguna diferencia?. Gracias de antemano