Descargar Ejercicios de Instancia Oracle SQL Developer

Anuncio
EJERCICIOS GESTIÓN INSTANCIA ORACLE
1. Localiza el fichero init.ora (y spfile.ora si existe) de nuestra BD.
C:\oraclexe\app\oracle\product\11.2.0\server\config\scripts
Nos vamos a equipo.
Unidad C:\
Pinchamos en Oraclexe.
Pinchamos en app.
Pinchamos en Oracle.
Pinchamos en product.
Pinchamos en la carpeta 11.2.0
Pinchamos en Server.
Pinchamos en la carpeta confing.
Pinchamos en la carpeta scripts.
Y encontramos el archivo init.ora
En mi caso no existe el archivo spfile.ora
2. Anota el valor de los parámetros: control_files, sessions y
undo_tablespace.
Abrimos el archivo init.ona con nuestro blog de nota o con un programa
de lector de archivos como el notepad.
Control files:
Sessions:
undo_tablespace:
3. Arranca la BD (startup) y anota el valor de los parámetros: Total System
Global Area, Fixed Size, Variable Size y Database Buffers.
(ORA01081: no se puede iniciar ORACLE cuando ya se está ejecutando cierre
primero Si encontráis el siguiente error es porque la BD ya está abierta y no es
necesario arrancarla).
Vemos que nuestra base de datos está conectada. Lo que tenemos que
realizar es cerrarla con el comando shutdown.
Una vez que ya está cerrada, la volvemos a arrancar con el comando startup.
Nos ofrecerá los parámetros de total system gobal área, fixed size, variable size,
datataba buffers, redo buffers.
4. Investiga el valor de los siguientes parámetros:
SQL> show parameter processes
SQL> show parameter sga_target
SQL> show parameter sga_max_size
SQL> show parameter db_block_size
SQL> show parameter log_buffer
SQL> show parameter db_cache_size
SQL> show parameter shared_pool_size
5. Arranca sólo la instancia (NOMOUNT) y consultar algún parámetro. Qué ocurre
al acceder a V$CONTROLFILE (por ejemplo, con un describe) y por qué.
En mi caso cerramos primero la base de datos con el comando shutdown.
La volvemos a inicializar con el comenado startup nomount.
Al arrancar sólo la instancia, podemos consultar los parámetros del init (o el
spfile), ya que este fichero se lee justo antes de arrancar la instancia. Pero, al
indicar NOMOUNT, todavía NO SE HA ABIERTO EL FICHERO DE CONTROL, por lo
que no tendremos acceso a su contenido y tampoco a las tablas estáticas del
DD que están almacenadas en la BD, cuyos ficheros tampoco se han abierto.
Al ponder desc v$controlfile;
O también describe v$controlfile
Vemos los datos de la tabla.
Escribimos una seleccionamos todos sobre la table v$controlfile.
Indicamos select * from v$controlfile;
Pero en este caso nos dice que no hay filas seleccionadas.
6. Montar la BD.
Consultar V$CONTROLFILE.
Para obtener nombre y ruta del control file: SQL>select name from v$controlfile;
Qué sucede al intentar leer de la tabla DBA_USERS.
Al montar la BD, se abre el fichero de control leyendo su contenido, de forma
que ya sabemos la ubicación y el nombre de cada uno de los ficheros que
componen la BD.
La BD no la hemos abierto por lo que no podemos ver la tabla DBA_USERS.
Primero montamos la base de datos, con alter database mount;
Para obtener nombre y ruta del control file: SQL>select name from v$controlfile;
El archivo de la base de datos donde está montada.
Ponemos select count(*) from v$logfile;
Nos indica que hay dos archivos log.
Qué sucede al intentar leer de la tabla DBA_USERS.
Que no existe dba_users en la base de datos.
7. Abrir la BD y leer DBA_USERS.
Para abrir la base de datos.
sql>alter database open;
Si la leemos, nos dice que no existe.
8. Cierra la BD (shutdown)
Indicamos shutdown
9. Impide las conexiones de usuarios, de modo que el DBA sí pueda conectarse.
Intenta conectarte como hr y comprueba que no puedes. Volver a permitir
conexiones de usuarios.
Logueada como sysdba:
• Si la BD está parada SQL>STARTUP RESTRICT
•
Si la BD está arrancada SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
Desde SQL.Command Line inicio otra sesión logueada ahora como hr
SQL>connect hr y comprobaré que no me dejará conectarme
10. Recuperación de la BD (se realiza si no funciona la base de datos)
En algunas ocasiones Oracle muestra errores muy generales (error en el enlace,
en la conexión, archivos corruptos...) que nos impiden seguir manejando la BD
(ya que aunque la instancia permanece abierta la BD está montada (pero
cerrada) y por eso no permite acceder a datos). Es recomendable intentar
recuperar la BD y solucionar el error.
Logueadas as sysdba:
SQL> recover database;
Media recovery complete.
SQL> alter database open;
Database altered.
Cuando esto no nos resuelve el problema es aconsejable (en la misma sesión,
es decir, seguimos loguedos as sysdba) cerrar la instancia y volverla abrir
montando la BD, hacerle entonces el recovery y luego abrir la BD.
SQL> shutdown immediate
OK
SQL> startup mount
OK
SQL> recover database;
Media recovery complete.
SQL> alter database open;
Database altered.
11. Cerrar la BD y abrirla en modo READ ONLY, y crear una tabla. Activar modo
READ WRITE y volver a crear la tabla.
Para abrir la BD en modo READ ONLY, primero debemos arrancar la BD sin abrirla
(MOUNT), si no está ya en ese estado (si está abierta la cerraremos).
Lo primero que hacemos es conectarnos al sys
Ponemos connect sys as sysdba
Cerramos la base de datos con shutdown
La inicializar con el comenado startup nomount.
Para abrir la BD en modo READ ONLY
sql>alter database open read only;
sql>create table system.mitabla(c1 varchar2(2)) tablespace users;
Como hemos visto, en modo readonly no podemos crear una tabla pues los
ficheros de la BD están en modo de sólo lectura. Si abrimos la BD en modo
normal (readwrite), no tendremos problemas para crear la tabla.
No tiene que funcionar porque solo está en lectura.
Cerramos la base de datos con shutdown
La inicializar con el comenzado startup mount
Y realizo un alter database open read write;
Creamos una tabla
create table system.mitabla(c1 varchar2(2)) tablespace users;
Descargar