Sei sulla pagina 1di 11

Instalar Oracle XE en Ubuntu 12.0.4.

1-desktop
Oracle XE es una versin de Oracle que puedes instalar en tu equipo, pero tiene una serie de limitaciones. La primera es que no soporta el uso de varios procesadores, as, por ejemplo tienes un equipo dual core, solo utilizars uno de los procesadores. En cuanto al espacio de almacenamiento, aunque dispongas de ms, solo utilizars hasta 1 mximo de 1 Gb de memoria y 4 Gb a nivel de espacio de almacenamiento en disco, lo que implica, que tu base de datos no podr crecer si excede de cierto tamao. Por qu todas estas limitaciones? Pues naturalmente Oracle es un producto de pago, si quieres usarla a nivel empresarial tienes que adquirir las licencias correspondientes, pero esta versin de Oracle XE es muy sencilla de instalar y est orientada a los desarrolladores, siendo completamente funcional para, por ejemplo, poder montar un entorno de trabajo en tu casa e ir haciendo desarrollos que podrs complementar con los de tu empresa, donde tengas acceso al Oracle server con toda su potencia. si

1. Instalacin
Lo primero que tenemos que hacer es descargarnos el paquete .deb correspondiente. El fichero se llama: oracle-xe-universal_10.2.0.1-1.0_i386.deb y ocupa aproximadamente 262 Mb. Ubicamos el fichero en el escritorio

Procedemos a instalarlo haciendo doble click sobre l.

2. Configuracin
Una vez que termina de instalarse el paquete. Tenemos que configurar la base de datos. Para ello ejecutamos el comando:

sudo /etc/init.d/oracle-xe configure


Con eso arranca un configurador en modo texto que nos va a hacer una serie de preguntas. Nos va a pedir: El puerto de la aplicacin web que nos permite administrar grficamente la base de datos El puerto de la base de datos El password que queremos para el usuario SYS y SYSTEM de Oracle, y Si queremos arrancar la base de datos cada vez que iniciemos la mquina. Puedes responder usando los valores por defecto. En caso de que los valores de los puertos puedan entrar en conflicto con otros usados en tu mquina debers cambiarlos. No te olvides de la contrasea que pongas para SYS y SYSTEM, ya que la usaremos posteriormente.

Oracle Database 10g Express Edition Configuration ------------------------------------------------This will configure on-boot properties of Oracle Database 10g Express Edition. The following questions will determine whether the database Press <Enter> to should be starting upon system boot, the ports it will use, and the passwords that will be used for database accounts. accept the defaults. Ctrl-C will abort. Specify the HTTP port that will be used for Oracle Application Express [8080]:8080 Specify a port that will be used for the database listener [1521]:1521 Specify a password to be used for database accounts. password will be used for SYS and SYSTEM. initial configuration: Confirm the password: Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:y Starting Oracle Net Listener...Done Configuring Database...Done Starting Oracle Database 10g Express Edition Instance...Done Installation Completed Successfully. To access the Database Home Page go to "http://127.0.0.1:8080/apex" different passwords for each database account. Note that the same Oracle recommends the use of This can be done after

3. Acceso a la BD
Si no ha habido problemas, la base de datos ya est instalada. Para poder acceder a ella, has de usar la siguiente URL para administrar grficamente tu base de datos. http://127.0.0.1:8080/apex

Como usuario puedes usar: SYS o SYSTEM y como password: la clave que indicaste en el instalador. Desde la aplicacin web podemos administrar toda la base de datos: tablespace, esquemas, tablas, usuarios, permisos, etc es cuestin de ir navegando por las diferentes opciones:

Si de todas formas queremos entrar desde la consola, podemos hacerlo mediante sql*plus. Antes, eso s, es conveniente: Dar permisos al usuario que trae de ejemplo la base de datos y Definir correctamente las variables de entorno de acceso a la base de datos en nuestro fichero profile, que se encuentra en el directorio home y tiene de nombre .bashrc Vamos a ello.

Accedemos a nuestro directorio HOME $ cd y editamos el fichero .bashrc aadiendo las siguientes lneas:

# variables para ORACLE ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server PATH=$PATH:$ORACLE_HOME/bin export ORACLE_HOME export ORACLE_SID=XE export PATH

Si queremos cargar de manera inmediata esas variables, podemos hacerlo, ejecutando. .bashrc

jose@soledad:~$ . .bashrc jose@soledad:~$ echo $ORACLE_HOME /usr/lib/oracle/xe/app/oracle/product/10.2.0/server jose@soledad:~$ echo $ORACLE_SID XE


Como observas el ORACLE_HOME es/usr/lib/oracle/xe/app/oracle/product/10.2.0/server , esa es la ruta donde se ha instalado el producto. Y el ORACLE_SID es XE Los alias de nuestra base de datos y de las diferentes otras bases de datos a las que podemos acceder se almacenan en un fichero llamado tnsnames.ora que se encuentra en el directorio $ORACLE_HOME/network/admin

$ cd $ORACLE_HOME/network/admin $ cat tnsnames.ora # tnsnames.ora Network Configuration File: XE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = soledad)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE) ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )

En $ORACLE_HOME/bin suelen estar los ejecutables de la base de datos (sqlplus, lsnrctl, etc) Si queremos comprobar si podemos conectar a una base de datos podemos hacer uso del comando tnsping, este comando nos devuelve OK si podemos conectar remotamente, o un error en otro caso: Como el sid de la base de datos (y as tambin est en el tnsnames) es XE, ejecuto:

jose@soledad:~$ tnsping XE TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 11-MAY-2008 20:36:59 Copyright (c) 1997, 2005, Oracle. All rights reserved. Used parameter files: Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = soledad)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE))) OK (0 msec)

Perfecto, tenemos conexin a la base de datos. Accedo ahora como usuario SYS mediante sqlplus y le doy permisos (habilito) el usuario que trae de ejemplo la base de datos (este usuario es HR). Siempre ser luego mejor entrar como ese usuario, pues si accedemos como SYS o SYSTEM podramos hacer algo mal y estropear la base de datos (es mejor entrar como SYS o SYSTEM cuando tengamos que hacer alguna operacin de dba, administradores de la base de datos y como usuario normal en el resto de los casos). Entro como sys:

jose@soledad:~$ sqlplus sys as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Sat May 10 16:20:04 2008 Copyright (c) 1982, 2005, Oracle. All rights reserved. Enter password: Connected to: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production

Ahora desbloqueo al usuario HR:

SQL> alter user HR account unlock; User altered. SQL> alter user HR identified by aqui_la_password; User altered. SQL> exit; Disconnected from Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production

Perfecto!, comprobemos que podemos entrar como usuario HR. Podemos darle al usuario la password HR (alter user HR identified by HR) y la sintaxis es: sqlplus user/pass@BBDD, Entraria como:

jose@soledad:~$ sqlplus HR/HR@XE


Y el resultado:

SQL*Plus: Copyright Connected Oracle SQL> TABLE_NAME

Release (c)

10.2.0.1.0 1982, 10g

Production

on

Sat All

May

10

16:21:02

2008 to:

2005,

Oracle. Release

rights -

reserved. Production user_tables;

Database

Express

Edition table_name

10.2.0.1.0 from

select

-----------------------------REGIONS LOCATIONS DEPARTMENTS JOBS EMPLOYEES JOB_HISTORY COUNTRIES 7 SQL> REGION_ID ---------1 2 3 4 Middle East and ----------------------------select rows * from selected. regions; REGION_NAME ------------------------Europe Americas Asia Africa

Parece que todo est bien. Ni que decir que este usuario de ejemplo (HR) ya trae unas tablas de ejemplo, y su propio esquema. Pero no hay ningn problema en crear otras tablas o quien dice esquemas y usuarios. Cuando hemos instalado Oracle XE, se ha creado en nuestro sistema un nuevo usuario oracle, y un nuevo grupo dba. Es conveniente aadir nuestro usuario al grupo dba para que podamos hacer ciertas funciones para las que en otro caso no tendramos permisos. Por ejemplo: recargar el listener. El listener es el servicio que permite que otras mquinas conecten remotamente a nuestra base de datos. Puede darse el caso de que la base de datos est funcionando, y entremos a ella localmente mediante sqlplus pero cuando intentamos conectar desde otra mquina remota no podamos. Eso seguramente sea porque el servicio listener este cado. Para levantar el listener, nos vamos a $ORACLE_HOME

$ cd ORACLE_HOME
y ejecutamos: lsnrctl

$ lsnrct
Como comandos principales del listener podemos usar: help, reload, start, stop, status. help, muestra una ayuda con los comandos. reload, lo recarga. start, lo inicia. stop, lo para y status nos muestra el estado actual:

jose@soledad:/usr/lib/oracle/xe/app/oracle/product/10.2.0/server$ LSNRCTL Welcome LSNRCTL> Connecting STATUS -----------------------Alias Version Start Uptime Trace Security SNMP Default Listener Listener Listening Service Parameter Log Endpoints File Date 0 days Level ON: Local OS 2 TNSLSNR for Linux: Version hr. 10.2.0.1.0 3 min. 11-MAY-2008 to of the for Linux: (c) to Version 1991, LSNRCTL, 10.2.0.1.0 2005, type Production "help" on 11-MAY-2008 rights for Copyright Oracle. All

lsnrctl 20:50:50 reserved. information. status

(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE))) LISTENER LISTENER Production 18:47:25 27 sec off Authentication OFF XE File

/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin/listener.ora /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/log/listener.log Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=soledad)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=8080))(Presentation=HTT P)(Session=RAW)) Services Service Instance Service Instance Service Instance Service Instance The LSNRCTL> "XE", "XE", "XE", "PLSExtProc" "PLSExtProc", status UNKNOWN, has READY, READY, READY, has has has 1 has 1 has 1 completed "XE" status "XEXDB" status status command "XE_XPT" has has 1 1 handler(s) 1 handler(s) 1 handler(s) for this for this for this 1 handler(s) for this Summary... instance(s). service... service... instance(s). service... instance(s). service... successfully instance(s).

Pero si intentamos parar el listener como nuestro usuario home actual nos dara un error porque no tenemos permisos suficientes:

LSNRCTL> Connecting ) TNS-01190: The user is not authorized to execute

stop to

(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)) the

requested listener command

Estas operaciones debemos ejecutarlas como usuario oracle, que si tiene permisos:

$ sudo -s $ su - oracle
Ojo, tenemos que tener tambin definidas las variables ORACLE_HOME y ORACLE_SID para este usuario oracle o nos dar error a la hora de intentar acceder a la base de datos. Con el usuario oracle si que podramos ya ejecutar lsnrctl y luego stop. La otra opcin es aadir nuestro usuario al grupo de dba. Podemos hacerlo desde Sistema > Administracion > Usuarios y Grupos.

A la administracin de la base de datos, tambin podemos acceder desde el men de aplicaciones:

Acceder a la base de datos desde la consola puede resultar a algun@s bastante incmodo.

Potrebbero piacerti anche