EL fin de esta entrada es ver algunos errores que seguramente usamos y que pueden usar otros usuarios para obtener nuestras credenciales de oracle.
Supongamos que solemos conectarnos a oracle asi:
sqlplus / as sysdba
sqlplus ' / as sysdba'
sqlplus scott/campeon
Esto al parecer no representa nada malo, pero la mayorìa de los usuarios de Linux saben que existe un buffer y un 'log' donde se almacenan los últimos comandos introducidos, entonces supongamos que prestamos la compu.
Pues nuestro querido amigo puede hacer lo siguiente, usar el comando history para ver los últimos comandos ingresados (regularmente este nos regresa los ùltimos 500 comandos introducidos).
Hacemos:
history | grep sqlplus
y si tenemos algo de suerte obtendremos las credenciales de algunos usuarios
1550 sqlplus
1551 sqlplus ruben/gay
1552 sqlplus janet/noni
1568 sqlplus
1572 sqlplus scott/campeon
y listo!!!!!
SOLUCION: cuando quieras iniciar oracle utiliza
sqlplus /nolog
y despuès la clausula
connect
Para evitar que se almacenen nuestras credenciales, :)
Bueno espero que ha alguien le sirva esta pequeña tranza pa hacer alguna broma :p
lunes, 7 de marzo de 2011
Errores con el listener de Oracle (TNS-12555: TNS:permission denied)
Hace unos días felizmente instale Oracle XE en Ubuntu y funcionó.Pero unos días después al intentar iniciar el listener (para hacer la conexión con PHP) me marcaba un error:
TNError listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
TNS-12555: TNS:permission denied
TNS-12560: TNS:protocol adapter error
TNS-00525: Insufficient privilege for operation
Linux Error: 1: Operation not permitted
Y bien si uno sabe leer inglés de primaria ahi dice que hay errores con los permisos, al checarlos TODO BIEN.
NOTA:casi siempre,la base de datos se instala con el usuario Oracle, si por algun motivo no está asi, y estàs iniciando la base de datos con otros usuario (por ejemplo oscar) puedes usar el siguiente comando para solucionarlo:
groups oscar //nos devolvera la infomaciòn de a que grupos pertenece el usuario oscar, si no aparecen los grupos "oinstall" o "dba", solo haces esto
adduser oscar oinstall
adduser oscar dba
Después de Gogglear un buen rato encontré la solución, pues resulta q el gay de Oracle, guarda registros de las bases de datos que se han instalado en algùn momento en el equipo, y bueno en algunas ocaciones instale otras versiones, ¿La solución?
Verificar los registros temporales de Oracle
Ir al directorio cd /var/tmp/.oracle y verificar los permisos si todo esta bien porcedes a eliminar todos los registros o todos los referentes a la base de datos que se este utilizando
sudo rm -R * //ASEGURATE DE ESTAR EN EL DIRECTORIO /var/tmp/.oracle ANTES DE USAR ESTE COMANDO
y listo ya podemos iniciar el listener
lsnrctl start
TNError listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
TNS-12555: TNS:permission denied
TNS-12560: TNS:protocol adapter error
TNS-00525: Insufficient privilege for operation
Linux Error: 1: Operation not permitted
Y bien si uno sabe leer inglés de primaria ahi dice que hay errores con los permisos, al checarlos TODO BIEN.
NOTA:casi siempre,la base de datos se instala con el usuario Oracle, si por algun motivo no está asi, y estàs iniciando la base de datos con otros usuario (por ejemplo oscar) puedes usar el siguiente comando para solucionarlo:
groups oscar //nos devolvera la infomaciòn de a que grupos pertenece el usuario oscar, si no aparecen los grupos "oinstall" o "dba", solo haces esto
adduser oscar oinstall
adduser oscar dba
Después de Gogglear un buen rato encontré la solución, pues resulta q el gay de Oracle, guarda registros de las bases de datos que se han instalado en algùn momento en el equipo, y bueno en algunas ocaciones instale otras versiones, ¿La solución?
Verificar los registros temporales de Oracle
Ir al directorio cd /var/tmp/.oracle y verificar los permisos si todo esta bien porcedes a eliminar todos los registros o todos los referentes a la base de datos que se este utilizando
sudo rm -R * //ASEGURATE DE ESTAR EN EL DIRECTORIO /var/tmp/.oracle ANTES DE USAR ESTE COMANDO
y listo ya podemos iniciar el listener
lsnrctl start
jueves, 3 de marzo de 2011
Cambiar puerto de ssh
Tan solo se edita el siguiente archivo
vi /etc/ssh/sshd_config
y editar la linea q contien Port 22 por el nuevo puerto que se quiera asignar,
Y luego ya nomas se reinicia el servicio de ssh
sudo /etc/init.d/ssh restart
Y LISTO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
NOTA: cuando un usuario se conecte a tu máquina tendrá que indicar el puerto, ejemplo:
ssh -p 8080 oscar@192.168.2.100
vi /etc/ssh/sshd_config
y editar la linea q contien Port 22 por el nuevo puerto que se quiera asignar,
Y luego ya nomas se reinicia el servicio de ssh
sudo /etc/init.d/ssh restart
Y LISTO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
NOTA: cuando un usuario se conecte a tu máquina tendrá que indicar el puerto, ejemplo:
ssh -p 8080 oscar@192.168.2.100
jueves, 24 de febrero de 2011
¿Cómo instalar apache en Linux?
Bien para este caso yo usé Ubuntu 10.10
+Instalar apache
sudo apt-get install apache2
y ya! asi de fácil, si se quiere iniciar o detener o reinicar solo basta hacer
/etc/init.d/apache2 start
/etc/init.d/apache2 stop
/etc/init.d/apache2 restart
Para acceder solo basta con http://localhost/
+Ahora se deben de agregar los "modulos que se usarán", seguramente usarás PHP, la versión mas reciente es la 5 , asi que solo haces.
sudo apt-get install php5
y listo!!!!!
+Agregar un sitio web
Solo basta con crear una carpeta en el directorio /var/www/
-Haremos un hola mundo como ejemplo XD
1.-Creamos la carpeta donde se alojará el sitio web
mkdir /var/www/pagina
si hacemos http://localhost/pagina/ veremos que está vacio, entonces agregamos nuestra
primera página web
Bien ahora hacemos el tipico hola mundo y lo guardamos el el directorio /var/www/pagina/ con el nombre que deseamosyo le voy a poner hola_mundo.php
echo "Hola mundo"
?>
para acceder solo tenemos que poner en un navegador
http://localhost/pagina/ y seleccionar el programa que hemos creado.
O también se puede hacer con http://localhost/pagina/hola_mundo.php
JAJAJAJAJAJAJAJA que cool.
+Cambiar puerto
Si necesitas cambiar el puerto solo necesitas editar el fichero ports.conf
vi /etc/apache2/ports.conf
Y cambiar el puerto por el que se decea usar
Listen 8080
Y reiniciar apache
/etc/init.d/apache2 restart
Y LISTO!!!!!!!!!
Para acceder será necesario poner el puerto http://localhost:8080
Ejemplo:
http://localhost/pagina:8080
+¿Te pregunta tu navegador si quieres descargar el fichero php en lugar de mostrarlo?
Si Apache no está 'parseando' el php después de reiniciarlo, instala libapache2-mod-php5.
Éste se instala al instalar el paquete php5, pero puede haber sido eliminado sin que nos demos cuenta por paquetes que necesitan ejecutar
una versión diferente de php.
También puede que necesites habilitarlo, haciendo
sudo a2enmod php5
seguido de
sudo /etc/init.d/apache2 restart.
Asegúrate de limpiar la caché de tu navegador antes de volver a probar tu sitio.
Para mas dudas sobre como agregar modulos http://doc.ubuntu-es.org/LAMP
+Instalar apache
sudo apt-get install apache2
y ya! asi de fácil, si se quiere iniciar o detener o reinicar solo basta hacer
/etc/init.d/apache2 start
/etc/init.d/apache2 stop
/etc/init.d/apache2 restart
Para acceder solo basta con http://localhost/
+Ahora se deben de agregar los "modulos que se usarán", seguramente usarás PHP, la versión mas reciente es la 5 , asi que solo haces.
sudo apt-get install php5
y listo!!!!!
+Agregar un sitio web
Solo basta con crear una carpeta en el directorio /var/www/
-Haremos un hola mundo como ejemplo XD
1.-Creamos la carpeta donde se alojará el sitio web
mkdir /var/www/pagina
si hacemos http://localhost/pagina/ veremos que está vacio, entonces agregamos nuestra
primera página web
Bien ahora hacemos el tipico hola mundo y lo guardamos el el directorio /var/www/pagina/ con el nombre que deseamosyo le voy a poner hola_mundo.php
echo "Hola mundo"
?>
para acceder solo tenemos que poner en un navegador
http://localhost/pagina/ y seleccionar el programa que hemos creado.
O también se puede hacer con http://localhost/pagina/hola_mundo.php
JAJAJAJAJAJAJAJA que cool.
+Cambiar puerto
Si necesitas cambiar el puerto solo necesitas editar el fichero ports.conf
vi /etc/apache2/ports.conf
Y cambiar el puerto por el que se decea usar
Listen 8080
Y reiniciar apache
/etc/init.d/apache2 restart
Y LISTO!!!!!!!!!
Para acceder será necesario poner el puerto http://localhost:8080
Ejemplo:
http://localhost/pagina:8080
+¿Te pregunta tu navegador si quieres descargar el fichero php en lugar de mostrarlo?
Si Apache no está 'parseando' el php después de reiniciarlo, instala libapache2-mod-php5.
Éste se instala al instalar el paquete php5, pero puede haber sido eliminado sin que nos demos cuenta por paquetes que necesitan ejecutar
una versión diferente de php.
También puede que necesites habilitarlo, haciendo
sudo a2enmod php5
seguido de
sudo /etc/init.d/apache2 restart.
Asegúrate de limpiar la caché de tu navegador antes de volver a probar tu sitio.
Para mas dudas sobre como agregar modulos http://doc.ubuntu-es.org/LAMP
miércoles, 16 de febrero de 2011
CRON
CRON
Un "cron" es una tarea programada, que se ejecuta de manera automàtica en un equipo.
Su uso es muy amplio, desde una simple tarea de copiar archivos hasta donde llegue tu imaginaciòn :p
Su uso es muy sencillo
Para agregar o quitar un tarea se usa el siguiente comando
crontab -e (la letra e es de editar XD)
y se especifica de la siguiente manera
minuto hora dia_del mes dia de la semana comando
ejemplo:
Ejecutar una tarea todos los dìas a las 1:06 p.m.
6 13 * * * sh /u050/respaldos_rman/script_rman/crear_respaldos.sh
Ejecutar una tarea cada 3 minutos
*/3 * * * sh /u050/respaldos_rman/script_rman/crear_respaldos.sh
Ejecutar una tarea en el minuto 20 y 30 de cada hora
20,30 * * * * /usr/bin/who
Para listar las tareas
crontab -l (la letra l es de lista XD)
Una vez que se realice la tarea, te dira la terminal que tienes un nuevo correo , indicando que la tarea
se realizo, para leerlo
nano /var/mail/nombre_usuario
Si se quiere evitar esto , se puede redireccionar la salida
6 13 * * * sh crear_respaldos.sh> /dev/null 2>&1
Tambièn se puede utilizar la salida con un archivo de log
6 13 * * * sh crear_respaldos.sh>>/u050/respaldo_log
Es importante mencionar que cada usuario del sistema operativo tiene su propio cron, regularmente quien las ejecuta es root.
Un "cron" es una tarea programada, que se ejecuta de manera automàtica en un equipo.
Su uso es muy amplio, desde una simple tarea de copiar archivos hasta donde llegue tu imaginaciòn :p
Su uso es muy sencillo
Para agregar o quitar un tarea se usa el siguiente comando
crontab -e (la letra e es de editar XD)
y se especifica de la siguiente manera
minuto hora dia_del mes dia de la semana comando
ejemplo:
Ejecutar una tarea todos los dìas a las 1:06 p.m.
6 13 * * * sh /u050/respaldos_rman/script_rman/crear_respaldos.sh
Ejecutar una tarea cada 3 minutos
*/3 * * * sh /u050/respaldos_rman/script_rman/crear_respaldos.sh
Ejecutar una tarea en el minuto 20 y 30 de cada hora
20,30 * * * * /usr/bin/who
Para listar las tareas
crontab -l (la letra l es de lista XD)
Una vez que se realice la tarea, te dira la terminal que tienes un nuevo correo , indicando que la tarea
se realizo, para leerlo
nano /var/mail/nombre_usuario
Si se quiere evitar esto , se puede redireccionar la salida
6 13 * * * sh crear_respaldos.sh> /dev/null 2>&1
Tambièn se puede utilizar la salida con un archivo de log
6 13 * * * sh crear_respaldos.sh>>/u050/respaldo_log
Es importante mencionar que cada usuario del sistema operativo tiene su propio cron, regularmente quien las ejecuta es root.
Consideraciones al crear scripts en shell con oracle
Consideraciones al crear scripts en shell con oracle
1.-La primera linea debe de indicar el tipo de shell que se va a utilizar
#!/bin/sh
#!/bin/bash
2.-Verificar las variables de ambiente si el script se va a ejecutar en otro host, o si se va a añadir a un cron, es necesario colocar esta informaciòn para que no existan problemas durante
la ejecuciòn del script
export ORACLE_HOME=/u020/apps/oracle/product/11.2.0
export ORACLE_SID=OPROD
PATH=$ORACLE_HOME/bin:$PATH
3.-Es recomendable diseñar logs, para ver los errores inesperados que puedan suceder.
1.-La primera linea debe de indicar el tipo de shell que se va a utilizar
#!/bin/sh
#!/bin/bash
2.-Verificar las variables de ambiente si el script se va a ejecutar en otro host, o si se va a añadir a un cron, es necesario colocar esta informaciòn para que no existan problemas durante
la ejecuciòn del script
export ORACLE_HOME=/u020/apps/oracle/product/11.2.0
export ORACLE_SID=OPROD
PATH=$ORACLE_HOME/bin:$PATH
3.-Es recomendable diseñar logs, para ver los errores inesperados que puedan suceder.
Suscribirse a:
Entradas (Atom)