Closure Compiler de Google para minimizar Javascript

Dentro de las herramientas utiles para webmasters o optimizadores de sitios web ed Closure Compiler de Goole, que tiene por onjetivo minimizar el Javascript, a parte de correjirlo orientadolo a las buenas prácticas de desarrollo. Es util como herramienta, y aun que ya había mostrado el YUI Compresor, que comprime tanto JS como CSS, Closure Compiler tiene un funcionalidad adicional interesante, la de fusionar dos archivos Javascript evitando la redundancia de codigo, lo que no deja de ser útil.

Luego de descargarlo, y asumiendo que tienes java 1.6 instalado al menos, debes ejecutarlo

c:\opt\java6\bin\java -jar C:\opt\googleClousureCompiler\compiler.jar --js=file.js --js_output_file=file_min.js

Entiendase aqui que tengo una forma de instalar todos los programas que ejecutaré a linea de mando, por eso ambos estan en c:\opt\…algo, además aquí establesco las rutas completas debido a que esta llamada al programa esta hecha en el mismo directorio en donde se encuentra el archivo origen.

Basicamente con esto obtienes un javascript minimizado. Un batch simple para realizar esta tarea sería

c:\opt\java6\bin\java -jar C:\opt\googleClousureCompiler\compiler.jar --js=%1.js --js_output_file=%1_min.js
ren %1.js %1.js.old
ren %1_min.js %1.js7

Y estando todo bien configurado en el PATH se debiese obtener un resultado optimo. Esta linea de comando, aparte de correr el script central, además corre el re nombramiento de archivos de forma que ademas queda todo respaldado con la opcion de vuelta atras.

Publicado en CSS, Desarrollo, Java, javascript, Web

Oracle no inicia luego de un reinicio

Debido a que en un servidor Linux se le estableció más RAM hubo que apagarlo, en el estaba instalado Oracle pero la máquina nunca había sido reiniciada luego de la instalacion de Oracle. Quizas el hecho de hacer una instalación Oracle descuidada ayudo a que luego de un reinicio no partiera Oracle, aun cuando estaba claro que en el futuro lo iba a iniciar a linea de mando debido a que al ser instalado no lo introduje en el proceso de init de linux.

Primero, conectarse como usuario de oacle, es conocido que en Linux las operaciones sobre base de datos NO deben hacerse como root. Para cambiarme de usuario al de Oracle y luego iniciar la base de datos ejecute

su - oracle

Luego iniciar la base de datos, previa revision de variables de configuracion del entorno.

Se inicia además el listener, de forma que así se pueda conectarse a la base de datos.

Se conecta a través de SQLPlus para ejecutar el inicio de la base de datos

sqlplus /nolog
connect / as sysdba
startup

Esto puede generar el error

ORA-00205: error in identifying control file, check alert log for more info

Lo que significa que no esta configurado el archivo de control o esta perdido.
Hay que crear un pfile, para luego modificar sus parametros coonsiderando el archivo ctl quese tenga.

Pero para volver a ejecutar el comando debes detener

shutdown abort

Corta todas las conexiones y hace el proceso de shutdown. Puede existir la posibilidad de que aun con esto puedan existir procresos Oracle corriendo a través de un ps -fea, verificar que ninguno este corriendo, puedes identificarlo debido a que estan utilizados por el usuario oracle.

Luego de detener, inicias nuevamente la base de datos apuntando al nuevo pfile

SQL> startup pfile='/opt/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora'
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size                  2220200 bytes
Variable Size             616566616 bytes
Database Buffers          444596224 bytes
Redo Buffers                5554176 bytes
Database mounted.
Database opened.
SQL> exit

Con lo que desde ese momento tienes tu base de datos levantada.

Publicado en Base de Datos, CEntOS, Linux, Oracle

ORA-12505: TNS: el SID es desconocido

Esto te puede ocurriral iniciar el listener de Oracle

lsnrctl start

o al intentar conectarte a Oracle a través de un cliente Oracle. Esto puede significar que no existan las variables de entorno, sobre todo ORACLE_SID (SID, Service Identificator)

Si esta configurado revisa dos archivos tnsnames.ora y/o listener.ora.

En el caso de tnsnames.ora, luego de crear la base de datos debiese existir una anotación sobre el nombre y el protocolo que se utilizará. Ejemplo

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

Que en mi caso estaba correcto.
En cambio al listener.ora le faltaba referenciar al SID orcl. Para hacerlo, se debe agregar dentro de la lista de listener, que en mi caso solo era este

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/app/oracle/product/11.2/db_1)
      (SID_NAME = orcl)
    )
  )
Publicado en Base de Datos, CEntOS, Desarrollo, Linux, Oracle

Iniciar una base de datos Oracle

La documentación de oracle dice que para iniciar la base de datos solo debe ejecutarse

dbstart 

Si te ocurre el siguiente error

ORACLE_HOME_LISTENER is not set, unable to start listener 

Lo primero a revisar son las variables de entorno que deben estar configuradas.

Luego de esta revision de configuracion, en vez de ejecutar el comando a secas ejecuta

dbstart $ORACLE_HOME

Y debiese funcionar siguiendo la filosofía Unix, o sea, si no envía ningun mensaje es porque esta correcto.

Publicado en Base de Datos, CEntOS, Desarrollo, Oracle

Variables de entorno Oracle

A el usuario oracle se le deben establecer las siguientes variables en el archivo .bash_profile o el profile que estes utilizando.En este archivo incorpora las líneas cambiandolas por las rutas de tu instalación de Oracle


Actualización (24-09-2015)
Se presume que se instaló la base de datos segun lo esxplicado en otro de mis articulos
Instalando Oracle 11G a linea de mando

ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2/db_1
export ORACLE_HOME
ORACLE_PATH=$ORACLE_HOME/bin
export ORACLE_PATH
ORACLE_SID=orcl
export ORACLE_SID

Adicionalmente es util tener configurada el path de linux hacia los ejecutables de oracle, esto nos evitará cambios de rutas y cosas asi

PATH=$PATH:$HOME/bin:$ORACLE_PATH
export PATH
Publicado en Base de Datos, CEntOS, Linux, Oracle

Linux debe ser reiniciado solo por un cambio en el hardware

Debo admitir que ciertamente defiendo Linux como sistema operativo de servidores. Como desktop aún le falta (aun cuando ubuntu a avanzado años luz), como servidor… debo admitir que admiro esta situación de configurar archivos.

Con el amor propio herido debido a que tras un reinicio de un servidor Linux que fue aumentado en RAM, Oracle no funcionaba decidí reiniciar debido a que no se me ocurrían más cosas para hacerlo partir… pero no estaba todo dicho… sobre todo luego de un comentario “…o sea, que igual que Windows tienes que reiniciar” (Julio Romero)… frase que fue (en buen chileno) como un ají ahí mismito…

Así que luego la decisión fue no claudicar… no puede ser el reinicio, no puede ser que Linux deba ser reiniciado, pero por sobretodo no se puede rebajar a ser igualado a windows.

Aun cuando efectivamente existen parches en el Kernel que ameritan reinicio, la mayoría o los reinicios justificados en Linux sólo debiesen ser de hardware, ya que para todo lo demás existe un archivo de configuración que si esta mal “seteado” la aplicación no funcionará.

En mi caso, Oracle finalmente inicio, luego de hacer un serie de pasos para que esto sucediera.

Publicado en Base de Datos, CEntOS, Linux, Oracle, Solaris, Unix, Windows