Tutorial Oracle XE amb Zend Server

De Cacauet Wiki
Salta a la navegació Salta a la cerca

Zend server és un servidor d'aplicacions per PHP. Porta incorporat Oracle XE (eXpress Edition) pel què ens resultarà útil pel curs.

Setup màquina virtual Zend

  1. Descarregar VM de Zend
    http://www.zend.com/en/products/server/virtualbox
    usuari/pass = root/zend1234
  2. Podem activar la llicència del Zend, tot i que no ens cal per Oracle, anant a:
    http://localhost:10081 (cal demanar llicència temporal d'1 mes subscivint-nos).
  3. Configurar Oracle (recordar contrassenya d'admin per després!!!):
    punt 5 de http://docs.oracle.com/cd/E17781_01/install.112/e18802/toc.htm#CIHHJEHF
    o sigui:
    # /etc/init.d/oracle-xe configure
  4. Engegar/parar el servei:
    /etc/init.d/oracle-xe start
    /etc/init.d/oracle-xe stop


Instal·lar Oracle SQL Developer

  1. Descarregar-ho de:
    http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html
  2. Instal·lem JAVA SDK (1.6.0)
    Utilitzeu el gestor de paquets yum de Red Hat Linux (és molt semblant al apt de Debian).
  3. per trobar el JAVA_HOME del JDK:
    echo $(readlink -f /usr/bin/java | sed "s:bin/java::")
    en realitat no m'ha trobat el JDK sinó un JRE.
    JRE = /usr/lib/jvm/java-6-openjdk-i386/jre/
    JDK = /usr/lib/jvm/java-1.6.0-openjdk
  4. Gravar aquest path directament a l'arxiu
    ~/.sqldeveloper/jdk
    (sense JAVA_HOME ni res de res)
  5. Instal·lar SQL Developer:
    • Versió Ubuntu: descomprimir .zip i instal·lar-lo a mà al ~/bin
    • Versió rpm:
      rpm -i sqltal.rpm
      A la 1a execució (per comanda) ens demanarà el JAVA_HOME
      guardar-lo al path indicat més amunt

De moment funciona amb la màquina local (Zend server) tot i que va molt lent. Seria millor instal·lar-ho a la màquina host i connectar-se per xarxa, però dona un error de connexió. Aviam si algú el resol.


Creem un usuari i un tablespace

Connectar-se (des d'un terminal o des de Applications -> Oracle -> SQL Command Line):

$ sqlplus
SQL> connect SYSTEM


Crear Tablespace

Ens anirà bé tenir un tablespace i no barrejar-ho amb el sistema principal.

# mkdir /var/oracledata
# chown oracle /var/oracledata

Amb el SQLDeveloper crear una connexió "DBA" -> Storage -> Tablespaces

Afegir nou tablespace

OJU: Cal crear un arxiu de dades (50MB) a /var/oracledata (2a pestanya del menú).

Creació d'usuari i permisos

Crear usuari "enric" i donar-li permisos varis.

Ho podeu fer amb una d'aquestes dues opcions:

  1. SQL Developer : obriu una connexió "DBA", Security -> Users -> botó dret -> Create New
    Tingueu en compte mirar totes les pestanyes per donar els permisos sobre el tablespace que hem creat.
  2. Des del terminal sqlplus (connectant amb usuari SYSTEM):
SQL> CREATE USER enric IDENTIFIED BY "enric123";
SQL> GRANT CONNECT TO enric;
SQL> GRANT CREATE_ TABLE TO enric;
SQL> GRANT CREATE TYPE TO enric;
SQL> ALTER USER enric DEFAULT ROLE ALL;
SQL> CONNECT enric;

NOTA: el CREATE_ TABLE no porta el underscore (barra baixa), és un problema de la wiki.

Concedir permisos a l'usuari "enric". (OJU: També es pot fer des del SQL Developer):

SQL> ALTER USER enric QUOTA 100M ON "DADES_ENRIC";

o bé:

SQL> GRANT UNLIMITED TABLESPACE TO enric;

Posem l'usuari "enric" que per defecte utilitzi el tablespace que acabem de crear:

SQL> ALTER USER enric DEFAULT TABLESPACE "DADES_ENRIC" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK;

...i per fi podem crear coses amb l'usuari "enric"!!

Trucs Oracle

Llistat de taules:

SQL> SELECT TABLE_NAME FROM TABS;

Llistat d'objectes (definició de tipus de dades, etc.):

SQL> SELECT object_type,object_name FROM user_objects;