Es posible que al finalizar ya podamos acceder directamente a la consola de administración desde: http://ip_server:1158/em
Pero si reiniciamos veremos como Oracle no arranca por defecto. Hay muchos scripts por Internet para arrancar automáticamente la BBDD.
Lo que primero haremos es indicarle a Oracle que BBDD queremos arrancar al arrancar Oracle.
Editamos el /etc/oratab e indicamos que queremos que la única base de datos creada arranque:
dbora01:/u01/app/oracle/oracle/product/10.2.0:Y
Iniciar Oracle:
# su oracle # . oraenv (cargamos las variables de entorno) $ . oraenv ORACLE_SID = [oracle] ? dbora01 $ lsnrctl start (arrancamos el listener) $ dbstart (arrancamos la bbdd) $ emctl start dbconsole (arrancamos la consola de administración)
Podemos ver todos lo procesos que se arrancan:
$ ps -x Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.3/FAQ PID TTY STAT TIME COMMAND 6439 pts/0 S 0:00 bash 6469 ? Ssl 0:00 /u01/app/oracle/oracle/product/10.2.0/bin/tnslsnr LISTENER -inherit 6514 ? Ss 0:00 ora_pmon_dbora01 6516 ? Ss 0:00 ora_psp0_dbora01 6518 ? Ss 0:01 ora_mman_dbora01 6520 ? Ss 0:00 ora_dbw0_dbora01 6522 ? Rs 0:03 ora_lgwr_dbora01 6524 ? Ss 0:00 ora_ckpt_dbora01 6526 ? Ss 0:04 ora_smon_dbora01 6528 ? Ss 0:00 ora_reco_dbora01 6530 ? Ss 0:02 ora_cjq0_dbora01 6532 ? Ss 0:04 ora_mmon_dbora01 6534 ? Ss 0:00 ora_mmnl_dbora01 6536 ? Ss 0:00 ora_d000_dbora01 6538 ? Ss 0:00 ora_s000_dbora01 6542 ? Ss 0:00 ora_qmnc_dbora01 6544 ? Ss 0:00 ora_q000_dbora01 6546 ? Ss 0:00 ora_q001_dbora01 7029 pts/0 S 0:00 /u01/app/oracle/oracle/product/10.2.0/perl/bin/perl /u01/app/oracle /oracle/product/10.2.0/bin/emwd.pl dbc 7054 pts/0 Sl 0:28 /u01/app/oracle/oracle/product/10.2.0/jdk/bin/java -server -Xmx256M -XX:MaxPermSize=96m -XX:MinHeapFreeRa 7219 ? Ss 0:00 oracledbora01 (LOCAL=NO) 7226 ? Ss 0:01 oracledbora01 (LOCAL=NO) 7230 ? Ss 0:04 oracledbora01 (LOCAL=NO) 7235 ? Ss 0:02 oracledbora01 (LOCAL=NO) 7260 ? Ss 0:00 oracledbora01 (LOCAL=NO) 7274 ? Ss 0:00 oracledbora01 (LOCAL=NO) 7866 pts/0 Sl 0:01 /u01/app/oracle/oracle/product/10.2.0/bin/emagent 7897 ? Ss 0:01 oracledbora01 (LOCAL=NO) 7941 ? Ss 0:02 oracledbora01 (LOCAL=NO) 7973 ? Ss 0:04 oracledbora01 (LOCAL=NO) 8253 ? Ss 0:00 ora_j000_dbora01 8268 pts/0 R+ 0:00 ps -xEl primero que arrancamos es el listener. El listener es un servicio TCP que por defecto escucha en el 1521 y provee la conexión de clientes que necesitan realizar operaciones con la base de datos. Por ejemplo si tenemos una aplicación Java o PHP que desea realizar consultas contra la BBDD deberá contactar con el listener de Oracle pasándole su usuario/password y el SID de la base de datos.
La configuración del listener está en: $ORACLE_HOME/network/admin.
Luego levantamos la BBDD y con ello aparecen toda una serie de procesos llamados ora_*. Explicaré rápidamente algunos de estos procesos:
+ Ora_pmon: Es el Process Monitor. Es el encargado de limpiar los bufer y las caches que un usuario haya podido dejar sin liberar. Por ejemplo la conexión de red de un usuario cae y este tiene bloqueos de tablas, pmon libera las tablas, realiza rollbacks, etc de los recursos consumidos.
+ Ora_smon: Es el System Monitor. Es el encargado de recuperar la base de datos en caso de fallo de Oracle. Para ello utiliza los archivos de rehacer.
+ Ora_dbw: Es el Dabase Writer. Es proceso encargado de escribir en los ficheros fisicos los bloques de datos nuevos o modificados. Dependiendo del redimiento y necesidades de nuestro Oracle, podemos arrancar hasta 20 dbw.
+ Ora_lgwr: Es el Log Writer. Es el encargado de escribir los bloques del rehacer. Cuando tenemos una transacción primero se escriben los datos en los registros de rehacer antes que el ora_dbw los escriba finalmente en los ficheros de datos. Una transacción es correcta si ora_lgwr ha podido escribir los datos en sus archivos de rehacer.
Finalmente arrancamos la consola de administración que no es más que una aplicación Java (http://ip_server: 1158/em).
Ahora que parece que todo está arrancado vamos a conectarnos a la base de datos y hacer unas cuantas consultas de administración. No conectamos a la BBDD.
$ sqlplus /nolog > connect / as sysba Connected.
Veamos cuantas base de datos tenemos creadas:
SQL> select name, created, log_mode, open_mode, platform_name from v$database; NAME CREATED LOG_MODE OPEN_MODE --------- -------- ------------ ---------- PLATFORM_NAME -------------------------------------------------------------------------------- DBORA01 08/12/09 NOARCHIVELOG READ WRITE Linux IA (32-bit)
Vemos que tenemos una BBDD llamada DBORA01 y que está abierta para lectura/escritura.
Veamos cuantos tablespaces tiene esta base de datos:
SQL> select tablespace_name, contents from dba_tablespaces; TABLESPACE_NAME CONTENTS ------------------------------ --------- SYSTEM PERMANENT UNDOTBS1 UNDO SYSAUX PERMANENT TEMP TEMPORARY USERS PERMANENT EXAMPLE PERMANENT 6 rows selected.
Todos a excepción del EXAMPLE son los que nos encontraremos en una instalación estándar de Oracle. En el tablespace EXAMPLE encontraremos tablas de ejemplo para hacer pruebas.
Juguemos ahora con el schema SCOTT que se encuentra dentro del tablespace EXAMPLE. Para ello primero habilitamos el usuario que por defecto está cerrado:
SQL> ALTER USER scott ACCOUNT UNLOCK;
Entramos ahora con este nuevo usuario que por defecto tiene el password “tiger”.
$ sqlplus /nolog > connect scott/tiger
Veamos ahora su schema:
Sql> select * from cat; TABLE_NAME TABLE_TYPE ------------------------------ ----------- DEPT TABLE EMP TABLE BONUS TABLE SALGRADE TABLE SQL> select ename,job,sal from emp; ENAME JOB SAL ---------- --------- ---------- SMITH CLERK 800 ALLEN SALESMAN 1600 WARD SALESMAN 1250 JONES MANAGER 2975 MARTIN SALESMAN 1250 BLAKE MANAGER 2850 CLARK MANAGER 2450 SCOTT ANALYST 3000 KING PRESIDENT 5000 TURNER SALESMAN 1500 ADAMS CLERK 1100 ENAME JOB SAL ---------- --------- ---------- JAMES CLERK 950 FORD ANALYST 3000 MILLER CLERK 1300 14 rows selected.
¿Parece que Oracle funciona no?
0 comentarios:
hacer un comentario en esta entrada