{"id":891,"date":"2013-04-24T07:44:34","date_gmt":"2013-04-24T11:44:34","guid":{"rendered":"https:\/\/gonzalo.aro.cl\/blog\/?p=891"},"modified":"2016-04-12T07:37:54","modified_gmt":"2016-04-12T11:37:54","slug":"instalando-oracle-11g-a-linea-de-mando-silent-mode","status":"publish","type":"post","link":"https:\/\/gonzalo.aro.cl\/blog\/2013\/04\/24\/instalando-oracle-11g-a-linea-de-mando-silent-mode\/","title":{"rendered":"Instalando Oracle 11G\/12c a l\u00ednea de mando (Silent Mode)"},"content":{"rendered":"<p>La verdad es que desde hace un tiempo las instalaciones de Oracle se pueden hacer en modo gr\u00e1fico \u00abcomo en Windows\u00bb pero para aquellos que estamos acostumbrados al modo texto o lisa y llanamente solo podemos utilizar un terminal a l\u00ednea de mando, es util tener el conocimiento de co mo instalar Oracle de esta forma.<\/p>\n<p><strong>Preparaci\u00f3n<\/strong><\/p>\n<p>Bien es cierto que la linea para ejecutar en modo silent es conocida, es necesario crear los usuarios y las carpetas necesarias para una instalaci\u00f3n adecuada. Para ello debes primer crear los usuarios que se requieren para la instalaci\u00f3n y ejecuci\u00f3n de la base de datos.<\/p>\n<pre class=\"brush: bash\">\r\ngroupadd oinstall\r\ngroupadd dba\r\ngroupadd oper\r\nuseradd -g oinstall -G dba,oper oracle\r\n<\/pre>\n<p>Aunque es obvio, si estas leyendo esto es porque tienes los archivos de instalaci\u00f3n<\/p>\n<pre class=\"brush: bash\">\r\nunzip linux.x64_11gR2_database_1of2.zip\r\nunzip linux.x64_11gR2_database_2of2.zip\r\n<\/pre>\n<p>&#8212;<br \/>\n<strong>Actualizacion (24-09-2015)<\/strong><br \/>\nPor mi parte encuentro conveniente mover la carpeta descomprimida a \/tmp, este articulo presume que los archivos de instalaci\u00f3n estan en esta carpeta, por lo tanto en la carpeta que se descomprimi\u00f3 oracle debes aplicar<\/p>\n<pre class=\"brush: bash\">\r\nmv database\/ \/tmp\r\ncd \/tmp\r\n<\/pre>\n<p>&#8212;<\/p>\n<p>Esto te genera una carpeta database\/ en la ruta en donde descomprimiste. Para ejecutar el instalador como el usuario oracle es necesario dar los permisos necesarios<\/p>\n<pre class=\"brush: bash\">\r\nchown -R oracle.oinstall database\/ \r\n<\/pre>\n<p>Debes adem\u00e1s crear las carpetas necesarias que utiliza inicialmente el instalador de Oracle, luego de crearlas en comando crear\u00e1 todas las subcarpetas, obviamente si se le dan los permisos adecuados.<\/p>\n<pre class=\"brush: bash\">\r\nmkdir \/u01\r\nchown -R oracle.oinstall \/u01 \r\nmkdir -p \/u01\/app\r\nchown -R oracle:oinstall \/u01\/app\r\nchmod -R 775 \/u01\/app\r\n<\/pre>\n<p>Asegurarse que estan instalados los paquetes necesarios que utiliza Oracle <\/p>\n<pre class=\"brush: bash\">\r\nyum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel  mksh\r\n<\/pre>\n<p>En este punto la unica discrepancia que tengo con el instalador es que igual, en un ambiente 64bits te reclama como necesarias ciertas librer\u00edas i386, que en rigor si estan instalados pero para 64bits.<\/p>\n<p>Establecer los requerimientos m\u00ednimos exigidos por oracle (en su instalador de 64bits). Estas lineas las puedes establecer al final del archivo, fijandote previamente que alguna de estas variables no este establecida con anterioridad.<\/p>\n<pre class=\"brush: bash\">\r\nvi \/etc\/sysctl.conf\r\nkernel.shmmax = 2147483648\r\nkernel.shmall = 2097152\r\nkernel.shmmni=4096\r\nkernel.sem=250 32000 100 128\r\nfs.file-max=6815744\r\nnet.ipv4.ip_local_port_range=9000 65500\r\nnet.core.rmem_default=1048576\r\nnet.core.rmem_max=4194304\r\nnet.core.wmem_default=262144\r\nnet.core.wmem_max=1048576\r\nfs.aio-max-nr=1048576\r\n<\/pre>\n<p>Para volcar estos parametros sin reiniciar (\u00a1gracias Linux!) ejecutar<\/p>\n<pre class=\"brush: bash\">\r\n\/sbin\/sysctl -p\r\n<\/pre>\n<p>Editar adicionalmente 3 archivos, uno para establecer los limites de archivos<\/p>\n<pre class=\"brush: bash\">\r\nvi \/etc\/security\/limits.conf\r\noracle              soft    nproc   2047\r\noracle              hard    nproc   16384\r\noracle              soft    nofile  1024\r\noracle              hard    nofile  65536\r\n<\/pre>\n<p>Editar la seguridad para el logeo de usuarios de la m\u00e1quina<\/p>\n<pre class=\"brush: bash\">\r\nvi \/etc\/pam.d\/login\r\nsession    required     \/lib\/security\/pam_limits.so\r\nsession    required     pam_limits.so\r\n<\/pre>\n<p>Editar profile (a\u00f1adir al final) para establecer ciertos limites necesarios.<\/p>\n<pre class=\"brush: bash\">\r\nvi \/etc\/profile\r\nif [ $USER = \"oracle\" ]; then\r\n        if [ $SHELL = \"\/bin\/ksh\" ]; then\r\n              ulimit -p 16384\r\n              ulimit -n 65536\r\n        else\r\n              ulimit -u 16384 -n 65536\r\n        fi\r\nfi\r\n<\/pre>\n<p><strong>Instalar Oracle<\/strong><\/p>\n<p>Y ahora instalar oracle<\/p>\n<p>Crea un archivo en \/etc o en \/var\/opt\/oracle<\/p>\n<pre class=\"brush: bash\">\r\n[root@arocl ~]# vi \/etc\/oraInst.loc\r\ninventory_loc=\/tmp\/oraInventory\r\ninst_group=oinstall\r\n<\/pre>\n<pre class=\"brush: bash\">\r\nsu - oracle\r\n<\/pre>\n<p>y correr (situate en la carpeta donde descomprimiste oracle)<br \/>\n&#8212;<br \/>\n<strong>Actualizacion (24-09-2015)<\/strong> <\/p>\n<pre class=\"brush: bash\">\r\ncd \/tmp\/database\r\n<\/pre>\n<p>&#8212;<\/p>\n<p>&#8212;<br \/>\n<strong>Actualizacion (12-04-2016)<\/strong><br \/>\nPara el caso que estes instalando Oracle 12c entonces debes agregar<\/p>\n<pre class=\"brush: bash\">\r\noracle.install.db.BACKUPDBA_GROUP=dba \\\r\noracle.install.db.DGDBA_GROUP=dba \\\r\noracle.install.db.KMDBA_GROUP=dba \\\r\n<\/pre>\n<p>&#8212;<\/p>\n<pre class=\"brush: bash\">\r\n.\/runInstaller -silent -force -ignoreSysPrereqs -ignorePrereq \\\r\nFROM_LOCATION=\/tmp\/database\/stage\/products.xml \\\r\noracle.install.option=INSTALL_DB_SWONLY \\\r\nUNIX_GROUP_NAME=oinstall \\\r\nINVENTORY_LOCATION=\/tmp\/oraInventory \\\r\nORACLE_HOME=\/u01\/app\/oracle\/product\/11.2\/db_1 \\\r\nORACLE_HOME_NAME=\"OraDb11g_Home1\" \\\r\nORACLE_BASE=\/u01\/app\/oracle \\\r\noracle.install.db.InstallEdition=SE \\\r\noracle.install.db.isCustomInstall=false \\\r\noracle.install.db.DBA_GROUP=dba \\\r\noracle.install.db.OPER_GROUP=dba \\\r\nDECLINE_SECURITY_UPDATES=true\r\n<\/pre>\n<p>Y finaliza ejecutando<\/p>\n<pre class=\"brush: bash\">\r\n\/u01\/app\/oracle\/product\/11.2\/db_1\/root.sh\r\n<\/pre>\n<p>&#8212;<br \/>\n<strong>Actualizacion (24-09-2015)<\/strong><br \/>\n<strong>Pasos siguientes<\/strong><br \/>\nLuego de instalar la base de datos deben seguirse ciertos pasos para completar la generaci\u00f3n y conexi\u00f3n a una instancia:<br \/>\n<a href=\"https:\/\/gonzalo.aro.cl\/blog\/2012\/10\/09\/variables-de-entorno-oracle\/\">Establecer la variables de entorno para Oracle<\/a><br \/>\n<a href=\"https:\/\/gonzalo.aro.cl\/blog\/2013\/04\/24\/crear-la-base-de-datos-en-linea-de-comando\/\">Crear una base de datos<\/a><br \/>\n<a href=\"https:\/\/gonzalo.aro.cl\/blog\/2013\/05\/14\/instalando-el-listener-de-oracle-en-modo-silent\/\">Crear el listener<\/a><br \/>\n&#8212;<\/p>\n<p><strong>Problemas<\/strong><\/p>\n<p><strong><\/p>\n<blockquote><p>[INS-06101] No se ha podido determinar la direcci\u00f3n IP del host local<\/p><\/blockquote>\n<p><\/strong><\/p>\n<p>Para esto debes fijarte si en el archivo \/etc\/hosts y en el archivo \/etc\/sysconfig\/network este establecido el nombre del hostname<\/p>\n<p>En mi caso<\/p>\n<pre class=\"brush: bash\">\r\n[root@arocl ~]# vi \/etc\/hosts\r\n127.0.0.1   arocl localhost localhost.localdomain localhost4 localhost4.localdomain4\r\n::1         arocl localhost localhost.localdomain localhost6 localhost6.localdomain6\r\n\r\n[root@arocl ~]more \/etc\/sysconfig\/network\r\nNETWORKING=yes\r\nHOSTNAME=arocl\r\n<\/pre>\n<p><strong><\/p>\n<blockquote><p>[INS-32035] No se ha podido crear un nuevo inventario central en la ubicaci\u00f3n especificada<\/p><\/blockquote>\n<p><\/strong><\/p>\n<p>Crea un archivo en \/etc o en \/var\/opt\/oracle<\/p>\n<pre class=\"brush: bash\">\r\n[root@arocl ~]# vi \/etc\/oraInst.loc\r\ninventory_loc=\/home\/oracle\/oraInventory\r\ninst_group=oinstall\r\n<\/pre>\n<p><strong><\/p>\n<blockquote><p>[INS-13013] El entorno de destino no cumple algunos requisitos obligatorios<\/p><\/blockquote>\n<p><\/strong><\/p>\n<p>Este es el error que no me gusta el log se\u00f1ala<\/p>\n<pre class=\"brush: bash\">\t\r\nINFO: Error Message:PRVF-7573 : El tama\u00f1o de intercambio suficiente no est\u00e1 disponible en el nodo \"arocl\" [Se necesita = 15,56GB (1.6316164E7KB) ; Se ha encontrado = 8GB (8388600.0KB)]\r\nINFO: Error Message:PRVF-7543 : El par\u00e1metro del n\u00facleo del sistema operativo \"ip_local_port_range\" no tiene un valor adecuado en el nodo \"arocl\" [Se esperaba = \"between 9000 & 65500\" ; Se ha encontrado = \"between 9000 & 65000\"]\r\nINFO: Error Message:PRVF-7532 : Falta el paquete \"libaio-0.3.105 (i386)\" en el nodo \"arocl\"\r\nINFO: Error Message:PRVF-7532 : Falta el paquete \"glibc-2.3.4-2.41 (i686)\" en el nodo \"arocl\"\r\nINFO: Error Message:PRVF-7532 : Falta el paquete \"compat-libstdc++-33-3.2.3 (i386)\" en el nodo \"arocl\"\r\nINFO: Error Message:PRVF-7532 : Falta el paquete \"libaio-devel-0.3.105 (i386)\" en el nodo \"arocl\"\r\nINFO: Error Message:PRVF-7532 : Falta el paquete \"libgcc-3.4.6 (i386)\" en el nodo \"arocl\"\r\nINFO: Error Message:PRVF-7532 : Falta el paquete \"libstdc++-3.4.6 (i386)\" en el nodo \"arocl\"\r\nINFO: Error Message:PRVF-7532 : Falta el paquete \"unixODBC-2.2.11 (i386)\" en el nodo \"arocl\"\r\nINFO: Error Message:PRVF-7532 : Falta el paquete \"unixODBC-devel-2.2.11 (i386)\" en el nodo \"arocl\"\r\nINFO: Error Message:PRVF-7532 : Falta el paquete \"pdksh-5.2.14\" en el nodo \"arocl\"\r\n<\/pre>\n<p>Esto para mi es raro, debido a que estoy en un ambiente 64bits, por lo cual nota que este comando esta aplicado con los parametros -ignoreSysPrereqs -ignorePrereq, esto se salta cualquier validacion de sistema y de librer\u00edas.<\/p>\n<p>En este caso es justificado.<\/p>\n<p>&#8212;<br \/>\n<strong>Actualizacion (12-04-2016)<\/strong><br \/>\n<strong><\/p>\n<blockquote><p> [FATAL] [INS-35344] No se ha especificado el valor para Database Backup and Recovery (OSBACKUPDBA) group.<\/p><\/blockquote>\n<p><\/strong><br \/>\nPara el caso que estes instlanmdo Oracle 12c y te aparezca este error implica que debes adicionar a la linea de instalacion<br \/>\n&#8212;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La verdad es que desde hace un tiempo las instalaciones de Oracle se pueden hacer en modo gr\u00e1fico \u00abcomo en Windows\u00bb pero para aquellos que estamos acostumbrados al modo texto o lisa y llanamente solo podemos utilizar un terminal a l\u00ednea de mando, es util tener el conocimiento de co mo instalar Oracle de esta [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[42,3,16,4,15,9,50,35,37],"tags":[],"class_list":["post-891","post","type-post","status-publish","format-standard","hentry","category-arquitectura-de-software","category-base-de-datos","category-centos","category-desarrollo","category-linux","category-oracle","category-redhat","category-solaris","category-unix"],"_links":{"self":[{"href":"https:\/\/gonzalo.aro.cl\/blog\/wp-json\/wp\/v2\/posts\/891"}],"collection":[{"href":"https:\/\/gonzalo.aro.cl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gonzalo.aro.cl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gonzalo.aro.cl\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gonzalo.aro.cl\/blog\/wp-json\/wp\/v2\/comments?post=891"}],"version-history":[{"count":13,"href":"https:\/\/gonzalo.aro.cl\/blog\/wp-json\/wp\/v2\/posts\/891\/revisions"}],"predecessor-version":[{"id":1108,"href":"https:\/\/gonzalo.aro.cl\/blog\/wp-json\/wp\/v2\/posts\/891\/revisions\/1108"}],"wp:attachment":[{"href":"https:\/\/gonzalo.aro.cl\/blog\/wp-json\/wp\/v2\/media?parent=891"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gonzalo.aro.cl\/blog\/wp-json\/wp\/v2\/categories?post=891"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gonzalo.aro.cl\/blog\/wp-json\/wp\/v2\/tags?post=891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}