sesión01 - gestión de instancia (oracle)

20
/* Sesión01 - Gestión de Instancia Estudiante: José Luis Toro Alcarraz Curso: Base de Datos Avanzado II Correo:[email protected] */ Objetivo de la sesión Reforzar los conceptos de instancias y base de datos y conocer los diferentes estados de una instancia. 1) ¿Que es una Instancia? 2) Los tipos de archivos de la base de datos. 3) Las fases del proceso de inicialización. 4) Iniciar la instancia y abrir la base de datos. 5) Detener la instancia. 6) Otros estados de la base de datos. 7) Practicando lo aprendido 1) ¿Qué es una Instancia? Una instancia es un espacio en memoria y un conjunto de procesos, trabajando de manera conjunta para poder acceder a una base de datos. Es todo el proceso completo desde que se inicializa una instancia hasta que la base de datos quede en marcha, es decir disponible para que los usuarios accedan a ella. 2) Los tipos de archivos de la base de datos a) El archivo de parámetros PFILE. Es un archivo de texto plano que contiene ciertos parámetros que son esenciales para el funcionamiento inicial de una base de datos. Es el que sirve para poder acceder a la estructura inicial de una base de datos. La ruta de este archivo va a depender de donde hayamos instalado el Oracle.

Upload: jose-toro

Post on 13-Jun-2015

2.110 views

Category:

Education


3 download

DESCRIPTION

Este minitutorial tiene como objetivo captar todos los conceptos dictados en cada sesión en el curso de Base de Datos Avanzado II, así como brindar apoyo a los alumnos de la carrera técnica de Computación e Informática, que por algún motivo no hayan asistido a clases. UNIDAD 1. Introducción a una BD ORACLE Logro de la Unidad de Aprendizaje Al término de la unidad, el alumno detalla la arquitectura de la base de datos Oracle y configura la conexión de un cliente remoto a través del archivo tnsnames.ora. Asimismo manipula la información mediante la herramienta SQL*PLUS y gestiona una instancia de base de datos. Temario 1.1 Tema 1: INTRODUCCIÓN AL SGBD ORACLE 1.1.1 Introducción a una DB relacional y a la arquitectura Oracle 1.1.2 Interactuando con la base de datos: Conexión y SQL*PLUS 1.1.3 Componentes de la Arquitectura de una BD Oracle 1.2 Tema 2: GESTIÓN DE UNA INSTANCIA ORACLE 1.2.1 Inicio de la instancia 1.2.2 Apertura de la Base de Datos 1.2.3 Cierre de la Base de Datos 1.2.4 Configuración de un cliente Oracle

TRANSCRIPT

Page 1: Sesión01 - Gestión de instancia (Oracle)

/* Sesión01 - Gestión de InstanciaEstudiante: José Luis Toro AlcarrazCurso: Base de Datos Avanzado IICorreo:[email protected]*/

Objetivo de la sesión

Reforzar los conceptos de instancias y base de datos y conocer los diferentes estados de una instancia.

1) ¿Que es una Instancia?2) Los tipos de archivos de la base de datos.3) Las fases del proceso de inicialización.4) Iniciar la instancia y abrir la base de datos.5) Detener la instancia.6) Otros estados de la base de datos.7) Practicando lo aprendido

1) ¿Qué es una Instancia?

Una instancia es un espacio en memoria y un conjunto de procesos, trabajando de manera conjunta para poder acceder a una base de datos.

Es todo el proceso completo desde que se inicializa una instancia hasta que la base de datos quede en marcha, es decir disponible para que los usuarios accedan a ella.

2) Los tipos de archivos de la base de datos

a) El archivo de parámetros PFILE.

Es un archivo de texto plano que contiene ciertos parámetros que son esenciales para el funcionamiento inicial de una base de datos. Es el que sirve para poder acceder a la estructura inicial de una base de datos.

La ruta de este archivo va a depender de donde hayamos instalado el Oracle.En mi caso es: C:\app\XxkokoxX\admin\sysdba(Aquí tendremos tantas carpetas como bases de datos creadas)\pfile\Aquí encontraremos un archivo con extensión numérica (El cual abriremos con el block de notas).

Alguno de los parámetros que podemos observar:

Parámetros que deciden el nombre y el dominio de la base de datos.############################################ Database Identification###########################################db_domain=""db_name="sysdba"

Page 2: Sesión01 - Gestión de instancia (Oracle)

Parámetro control files el cual aporta como dato una lista de archivos con su ubicación completa separados por ‘,’. Esto es importante porque me dice donde es que se encuentran los archivos de control de la base de datos.############################################ File Configuration###########################################control_files=("C:\app\XxkokoxX\oradata\sysdba\control01.ctl","C:\app\XxkokoxX\fast_recovery_area\sysdba\control02.ctl")db_recovery_file_dest="C:\app\XxkokoxX\fast_recovery_area"db_recovery_file_dest_size=4322230272

También tenemos información sobre los procesos. Esta información es muy relevante al momento de iniciar una instancia ya que nos muestra la capacidad máxima de proceso que puede levantar el servidor.############################################ Processes and Sessions###########################################processes=150

También tenemos información de la memoria. El tamaño de bloque de datos de memoria afecta totalmente al momento de levantar la instancia ya que es ahí cuando se construye o se reserva el espacio de memoria lo suficiente para dicha instancia.############################################ Cache and I/O###########################################db_block_size=8192

b) Los archivos de control CONTROL FILES.

Vendría hacer algo así como el carnet de identidad de la base de datos. Ósea que es toda la información necesaria para conocer cuáles son todos los archivos que componen una base de datos. Ósea que aparte de la información horaria sobre la última acción que se hizo a la base de datos, aparte de eso, encontraremos todas las listas de los archivos que componen una base de datos.

c) Los archivos de datos DATA FILES.

Aquí en definitiva es donde está la información, es decir como sabemos una base de datos está compuesta o se compone de una serie de DATA FILES, y dentro de estos DATA FILES distribuidos en sus bloques de memoria es donde está toda la información que tenemos en las tablas. Tanto los datos como los metadatos.

d) Los archivos de registros para rehacer REDOLOG FILES.

Son todos los archivos que contienen el histórico de lo que se hizo a la base de datos.

Nota1: Entonces tanto los DATA FILES como los REDOLOG FILES, podríamos considerarlos como los archivos que en verdad tienen la esencia de la base de datos, es decir toda la

Page 3: Sesión01 - Gestión de instancia (Oracle)

información de una base de datos de una u otra forma está contenida dentro de los DATA y REDOLOG DILES.

Nota2: Si sabemos que los archivos de control entre muchas otras cosas tienen la lista de cada una de los DATA FILES y REDOLOG FILES que pertenecen a una base de datos. Si por decirlo de una u otra manera se llegasen a perder los CONTROL FILES, estamos de acuerdo que se perdería también la base de datos ya que lo único que nos quedaría sería una serie de archivos inconexos que no formarían una base de datos. Por lo tanto la existencias de los CONTROL FILES me garantizan que se conoce o que pertenece a una base de datos, que pertenece toda una serie de DATA FILES concretos y toda una serie de REDOLOG concretos.

La ruta de estos archivos va a depender de donde hayamos instalado el Oracle.En mi caso es: C:\app\XxkokoxX\ oradata\sysdba(Aquí tendremos tantas carpetas como bases de datos creadas)\pfile\Aquí encontraremos un archivo con extensión CTL,DBF,LOG (El cual abriremos con el block de notas).

3) Las fases del proceso de inicialización.

Fase1 – Inicializar la Instancia

En este proceso es cuando se reserva en la memoria el espacio necesario para la instancia y cuando se pone en marcha los procesos necesarios para el funcionamiento de esa instancia.

En este punto solo hemos reservado el espacio en memoria y hemos inicializados los procesos, todavía no está la base de datos preparada para poder acceder a la información que está en los archivos del disco.

Durante este proceso inicial hay un archivo importante que juega un papel imprescindible (PPFILE).

Nota1: Si durante el proceso de inicialización de la instancia el PFILE obtuviera datos erróneos no pasaríamos ni de esta primera fase, cuidado porque en ese caso el error es demasiado difícil de detectar.

Nota2: Entonces en esta primera fase se lee el archivo PFILE, se identifica cuanto espacio de memoria, cuantos procesos, etc., y además identifica cuales son los archivos de control.

Nota3: Pueda ser que alguien le interese iniciar solo la instancia sin continuar con los siguientes pasos, esto solo tiene lógica en el momento en que se crea la base de datos, la base de datos la hemos creado atreves de un asistente, pero si se crea manualmente lo que hay que hacer es inicializar la instancia sin hacer nada más y a partir de aquí se puede lanzar una instrucción CREATE DATABASE (Pero esto seguro nunca lo vamos hacer ya que resulta sencillo hacer con un asistente)

Fase2 – Montar la Base de Datos.

En este momento se leen los archivos control files, si estos archivos estuvieran dañados o no se pudieran localizar en este momento nos fallaría esta fase de proceso de inicialización.

Page 4: Sesión01 - Gestión de instancia (Oracle)

Cuando se dice que se monta la base de datos es porque dentro de estos control files, se lee la ubicación de todos los archivos que componen la base de datos, en este momento es cuando se va a localizar estos archivos para luego poder abrirlos.

Nota1: Muchas veces nos interesada tener la base de datos montada, es decir con la instancia inicializada y la base de datos montada, esto es útil en escenario como por ejemplo cuando queremos cambiar el nombre de un archivo de datos, o queremos cambiar la ubicación de un archivo de datos, o por ejemplo queremos hacer una recuperación completa de la base de datos.

Fase3 – Abrir la Base de Datos.

Hasta este momento la base de datos no estaba disponible para hacer consultas a sus tablas, solo estaba disponible para ciertas tareas administrativa. Después de esto se puede acceder a ella.

En esta fase se localizan los DATA FILES y los REDOLOG FILES, que estaban listado en el CONTROL FILES y por decirlo de alguna u otra manera quedan bloqueados, es decir cuando la base de datos está abierta estos archivos aunque los encuentres en los discos no podrán ser borrados ni hacer nada con ellos, porque están siendo retenidos o bloqueados por la base de datos.

Es después de este punto cuando los usuarios pueden acceder a la información y trabajar con toda normalidad.

Nota: Tener presente que nosotros en nuestro equipo tenemos instalado un servidor Oracle y una instancia y una base de datos. Cada vez que iniciemos nuestro equipo, se inicia esta base de datos y ocurren estos 3 procesos.

Ahora póngamelo en práctica.

4) Iniciar la instancia y abrir la base de datos.

Sintaxis que debe usar un DBA para inicializar una base de datos.

STARTUP OPEN: Den entrara hemos hablado de 3 pasos los cuales se puede hacer en una sola instrucción. Con el STARTUP podemos realizar todo el proceso de inicialización (Iniciar la instancia, montar la base de datos y abrir la base de datos El OPEN es opcional)

También es interesante saber que cuando nos interese dejar la inicialización en una fase anterior a la fase de la base de datos abierta podemos utilizar otras instrucciones.

STARTUP NOMOUNT: Permite inicializar la instancia (Es decir activar el espacio en memoria, reservar los procesos) pero todavía sin montar ni abrir la base de datos. Hemos dicho que este estado solo es útil en el momento en que se crea la base de datos, por lo tanto va ser muy raro que necesitemos dejar nuestra base de datos no montada es decir solo la instancia levantada.

STARTUP MOUNT: También se puede pasar al estado montada pero no abierta, a esto también se le llama la base de datos cerrada, este estado sí que es muy útil, ya que puede servir para ciertas tareas administrativas como cambiar el nombre y la ubicación de un archivo, recupera la base de datos completamente, etc.

Page 5: Sesión01 - Gestión de instancia (Oracle)

También podríamos hacerlo por partes:

Además existe la posibilidad de avanzar paso a paso, es decir si nosotros hemos inicializado la instancia con STARTUP NOMOUNT, podemos montar la base de datos, es decir usando la siguiente instrucción "ALTER DATABASE MOUNT"

Del mismo para pasar de montar la base de datos a abrir la base de datos con la instrucción "ALTER DATABASE OPEN"

Nota: En el momento de utilizar el STARTUP siempre se puede aportar la clausula PFILE. Cuando portemos esta clausula le estaremos diciendo en esencia que instancia o que base de datos queremos que se inicialice, porque en esta clausula se le indica cual es el archivo PFILE que queremos que lea al principio, recordemos que el PFILE lo desencadena todo porque el archivo PFILE nos dice que archivos CONTROL FILES son los de la base de datos y los CONTROL FILES nos dicen que DATA FILES y REDOLOG FILES son los que compone la base de datos.

Por lo tanto podemos instanciar distintas bases de datos utilizando distinto PFILE. Esto también a veces se utiliza para instanciar la misma base de datos pero con distintas estructuras de memorias, es decir necesito reservar mas memoria y lo que puedo hacer es cambiar un parámetro del PFILE y inicializar la instancia indicándole que me utilice este nuevo archivo PFILE que eh creado.

5) Detener la instancia.

La instancia cuando se detiene no se detiene por fases, se detiene entera, y existen muchas formas de detenerla.

Al detener la instancia afecta sobre todo a la gente que está conectada a una base de datos, y es que antes de detener una base de datos nos tenemos que plantear lo siguiente, si es que esta base de datos esta en producción, es decir si está siendo utilizada por usuarios a través de una u otras aplicaciones, ¿qué les pasara cuando nosotros apaguemos la instancia?, lo que pasara es que no tendrán acceso a esta base de datos. Por lo tanto existen distintas formas de apagar una base de datos.

SHUTDOWN NORMAL: Seria la manera más benevolente de intentar cerrar la base de datos. ¿Qué ocurrirá? De entrada no ocurrirá nada, lo único que ocurrirá es que cuando alguien quiera volver a conectarse a esta base de datos no le será permitido, y en el momento en que se hayan cerrado todas las conexiones existente excepto evidentemente del administrador que ha ordenado el SHUTDOWN es entonces cuando se procederá el cierre de la base de datos.

Digamos que esta forma es la forma más graciosa de cerrar la base de datos, ya que nadie se vendría interrumpido en su trabajo, ahora en el momento que cierren la conexión ya no podrá volver a conectarse, y cuando todo mundo haya cerrado la conexión, es cuando se cerrada la base de datos. Claro dependiendo en que sistema esto no es posible porque hay muchísima gente conectada y con mucho procesos que duran mucho tiempo, por lo tanto tendríamos que esperar bastante tiempo que se cerrada la base de datos.

SHUTDOWN IMMEDIATE: Esto sería el método que deberíamos utilizar si no pudiéramos avisar antes a todos los usuarios que abandonen la base de datos porque va hacer cerrada. Al aplicar esto ya nadie puede iniciar una conexión ¿pero qué ocurre con las conexione vigentes? Las

Page 6: Sesión01 - Gestión de instancia (Oracle)

conexiones vigentes sufrirán un ROLLBACK en sus transacciones, es decir toda transacción que tengan en marcha se deshará y se cerrara la conexión. Cuando todas las conexiones se hayan cerrado es cuando se cerrada la base de datos. Evidentemente esto es inmediato porque si en las transacciones que hay en marcha la deshacemos con un ROLLBACK y cerramos las sesiones enseguida nos encontraremos en que ya no hay una sesión abierta y el SHUTDOWN ocurrirá más o menos de manera inmediata. Ahora bien se verán afectados aquellos usuarios que estaban trabajando.

SHUTDOWN TRANSACTIONAL: Es similar al anterior en el sentido en que no deja iniciar nuevas conexiones pero además tampoco deja iniciar nuevas transacciones, lo que sí es cierto es que esperada a que todas las transacciones que hayan en curso se terminen para entonces cerrar la conexión correspondiente y cuando haya cerrado todo cerrará la base de datos. Es una forma más inmediata que un SHUTDOW NORMAL porque un SHUTDOWN NORMAL el que está conectado puede seguir realizando transacciones, mientras que aquí el que está conectado lo único que puede es terminar su tracciones que está en marcha y cuando esta transacción termina se le cierra la conexión, en cambio en el SHUTDOWN IMMEDIANTE ni siquiera se deja terminar la transacción, se desase la transacción y se cierra la conexión inmediatamente.

SHUTDOWN ABORT: Esta opción deberíamos no utilizarla directamente ya Oracle en su literatura dice solo se utiliza cuando ninguna de las otras 3 permite cerrar la base de datos. Esto es así en ciertas circunstancia excepcionales, sobre todo cuando hay un error de por medio que no nos permite cerrar la base de datos. Pensar que si cerramos la base de datos con un SHUTDOWN ABORT en un momento en el cual vamos abrir la base de datos nos pedirá una recuperación(Es un proceso la cual tiene lugar cuando la base de datos no se ha cerrado apropiadamente y los datos no son coherentes). En un SHUTDOWN ABORT ni se desasen las transacciones ni se espera que se terminen, es decir se cierra la conexión y dónde estabas es done te has quedado.

Nota: Utilizar siempre un SHUTDOWN NORMAL y si tenemos prisa fijar un escenario en el cual saber que dentro de un minuto se pagara la luz y con UN SHUTDOWN NORMAL (Que es el SHUTDOWN menos agresivo para los usuarios) sabemos que va a tardar más de un minutos en cerrase el servidor, entonces debemos utilizar alguna estrategia para cerrar más rápido (Seguro que con UN SHUTDOWN IMMEDIATE lo conseguirías en menos minutos)

6) Otros estados de la base de datos.

a) Modo lectura.

Abrir la base de datos en modo lectura (consultas y no modificaciones).

SQL> ALTER DATABASE OPEN READ ONLY;

Abrir la base de datos en modo lectura y escritura (consultas y modificaciones)

SQL> ALTER DATABASE OPEN READ WRITE;

b) Acceso restringido.

Significa dejar la base de datos en un modo que solo este accesible para personal administrativo (SYS, SYSOPER). Esto puede ser útil para realizar ciertas tareas administrativas como hacer

Page 7: Sesión01 - Gestión de instancia (Oracle)

exportaciones o importaciones y por lo tanto queremos que durante un tiempo nadie acceda a la base de datos, para hacer cargas de datos, o hacer prevenciones eventuales para que alguien pueda acceder a la información, etc. El acceso restringido se puede hacer de 2 formas:

Levantar la base de datos ya con un estado restringido. O levantar la base de datos normal y cambiar el estado ha restringido.

SQL> STARTUP RESTRICT;SQL> STARTUP RESTRICT PFILE E:\Oracle\product\10.2.0\admin\db00pro\pfile\init.ora

La base de datos estará disponible pero en un estado restringido. Podríamos comprobarlo conectando con el usuario SCOTT/TIGER en el cual nos saldrá un mensaje diciendo que solo está permitido para usuarios que tengan privilegios de RESTRICTED SESSION.

Este privilegio los podemos otorgar a cualquier usuario por lo tanto no solo el usuario SYS podrá utilizarlo Ahora por cuestiones de seguridad y para que sea útil la naturaleza de la funcionalidad de apertura restringida solo un DBA debería tener este privilegio. Ahora si intentamos conectarnos como SYS AS SYSDBA entonces si podremos conectarnos.

Ahora si quiero dejar esta base de datos accesible para todos los usuarios es decir eh terminado con las tareas administrativas que me obligaron a poner la base de datos en un modo restringidoAhora quiero dar permisos para que se pueda volver acceder a esta base de datos.

Para deshacer la apertura restringida.

SQL> ALTER SYSTEM DISABLE RESTRICTED SESSION;

Ahora si cualquier usuario puede acceder sin necesidad de tener el privilegio. Para comprobar nos conectamos con el usuario SCOTT/TIGER nuevamente.

Como se pone una base de datos en modo restringido sin tener que cerrar o volver abrirla.

SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;

Para deshacer el modo restringido la misma instrucción de antes.

SQL> ALTER SYSTEM DISABLE RESTRICTED SESSION;

Otro efecto muy similar al del acceso restringido se consigue dejando la base de datos en QUESCIED.

Hablamos del estado QUESCIED cuando la base de datos solo puede ser accesible por usuarios que son DBA, ósea que se hayan conectado como SYSDBA, ya no es una cuestión de permisos.

Es similar al acceso restringido pero es un poco más sencillo porque permite hacerlo sin necesidad de parar la base de datos, y sin necesidad de que esto afecte solo a quienes tengan permiso concretos es decir aquí solo se permite transacciones que sea de un DBA , de alguien que se ha conectado como SYSDBA.

Page 8: Sesión01 - Gestión de instancia (Oracle)

SQL> ALTER SYSTEM QUIESCE RESTRICTED;

Ahora la base de datos esta en un estado en el que solo se permiten acciones de una DBA, es decir solo se permite transacciones de aquellos usuarios que se hayan conectado como SYSDBA. Esto puede ser necesario para ciertas tareas donde se interese que nadie más pueda tocar nada mientras se realiza una operación.

Para deshacer el modo restringido QUESCIED.

SQL> ALTER SYSTEM UNQUIESCE;

c) Suspender y continuar.

Esto también puede ser útil para realizar ciertas tareas administrativas y que durante esta tarea administrativa no se lleve a cabo ninguna operación, por ejemplo si interesa hacer un BACKUP de la base de datos y mientras tanto queremos que no se realice ninguna operación.

Para poder suspender temporalmente la base de datos que no es lo mismo que cerrarla ya que cerrarla conlleva mucho más problemas, ya que cierra las conexiones de todos los usuario, en cambio, suspendiendo la base de datos las conexiones no se pierden, los usuario siguen conectado pero no pueden realizar operaciones hasta que nosotros reanudemos la base de datos.

SQL> ALTER SYSTEM SUSPEND;

Para comprobar el estado en que se encuentra la base de datos.

SQL> SELECT DATABASE_STATUS FROM V$INSTANCE;

Entonces ahora por ejemplo podría ir haciendo una copia de seguridad teniendo la tranquilidad que durante el momento en que se hace la copia de seguridad nadie va hacer ningún cambio a esta base de datos.

Para volver la base de datos a un estado normal.

SQL> ALTER SYSTEM RESUME;

Comprobamos nuevamente el estado en que encuentra la base de datos.

SELECT DATABASE_STATUS FROM V$INSTANCE;

Nota: Bien tener presente que estos estados son útiles solo para ciertas tareas administrativas muy especificas donde pueda haber un cierto conflicto de intereses respecto a los usuarios que están realizando cambios a la base de datos.

7) Practicando lo aprendido

Para Iniciar la instancia y abrir la base de datos necesitamos abrir el SQL*PLUS. Hay que tener en cuenta que esto solo lo puede realizar un usuario que sea SYS es decir un Usuario con capacidad administrativa.

Page 9: Sesión01 - Gestión de instancia (Oracle)

Paso1 - Identificación.

Ingresamos nuestras credenciales y la base de datos queda en estado abierto, en mi caso:

SQL*Plus: Release 11.2.0.3.0 Production on Vie Mar 16 10:21:17 2012

Copyright (c) 1982, 2011, Oracle. All rights reserved.

Introduzca el nombre de usuario: SYS AS SYSDBAIntroduzca la contraseña: mi password

Conectado a:Oracle Database 11g Release 11.2.0.3.0 - 64bit Production

Paso2 - Cerrar la base de datos .

Para realizar pruebas cerramos la base de datos con el comando “SHUTDOWN IMMEDIATE;”. El proceso de cierre no es más que el proceso de inicialización a la inversa. Primero se cierra la base de datos\ Luego se desmonta la base de datos\ Finalmente se cierra la instancia de Oracle. Básicamente los 3 pasos del proceso de inicialización a la inversa.

SQL> SHUTDOWN IMMEDIATE;

Base de datos cerrada.Base de datos desmontada.Instancia ORACLE cerrada.

Paso3 - Abrir todo el proceso de inicialización (iniciar la instancia, montar la base de datos y abrir la base de datos)

Abrimos la base de datos con el fichero de parámetros por defecto. O podríamos agregar la clausula “PFILE = Ruta del archivo init.ora”.

Primero se Inicializa la instancia (Si hay error en el PFILE marca error)\ Luego se Monta la base de datos (Si hay errores en el CONTROL FILES marcada error)\Finalmente se abre la base de datos (Si hay errores en los DATA FILES o REDOLOG FILES marcada error).

SQL> STARTUP OPEN;Instancia ORACLE iniciada.

Total System Global Area 1586708480 bytesFixed Size 2255584 bytesVariable Size 1023411488 bytesDatabase Buffers 553648128 bytesRedo Buffers 7393280 bytesBase de datos montada.Base de datos abierta.

Nota: Podríamos no pasarle el parámetro PFILE ya que solo hemos creado una base de datos (SYSDBA) y evidentemente seria esta base de datos la que nos instanciaría, pero si hubiéramos

Page 10: Sesión01 - Gestión de instancia (Oracle)

creado distintas bases de datos y por lo tanto distintas instancias lo que haría sería levantarnos siempre la última instancia que hayamos creado, y agregando la clausula PFILE nos permitirá saber con certeza que base de datos y con qué características se está abriendo.

Paso4 - Cerrar nuevamente la base de datos.

SQL> SHUTDOWN IMMEDIATE;Base de datos cerrada.Base de datos desmontada.Instancia ORACLE cerrada.

Paso5 - Abrir la base de datos paso a paso.

Es decir primero levantare la instancia\ Luego cambiare el estado y pasare a tenerla montada\ Finalmente cambiare el estado y pasare a tener la base de datos abierta.

Inicializar la instancia sin montar la base de datos

En esta fase básicamente se puede crear la base de datos (Por lo tanto es un estado que casi nunca tendrás que acceder)

SQL> STARTUP NOMOUNT;Instancia ORACLE iniciada.

Total System Global Area 1586708480 bytesFixed Size 2255584 bytesVariable Size 1023411488 bytesDatabase Buffers 553648128 bytesRedo Buffers 7393280 bytes

Pasar a la siguiente fase y tenerla montada

Esta fase es importante para el DBA, porque permite hacer cambios estructurales a los archivos(Es un estado administrativo bastante utilizado). En este estado no se puede acceder la base de datos como SYS, se puede hacer si ciertas tareas administrativas pero no consultas de trabajo normal, ya que la base de datos no está abierta.

SQL> ALTER DATABASE MOUNT;

Base de datos modificada.

También podríamos pasar directamente a esta fase usando un

SQL> STARTUP MOUNT;Instancia ORACLE iniciada.

Total System Global Area 1586708480 bytesFixed Size 2255584 bytesVariable Size 1023411488 bytesDatabase Buffers 553648128 bytesRedo Buffers 7393280 bytes

Page 11: Sesión01 - Gestión de instancia (Oracle)

Base de datos montada.

Para pasar a la última fase y abrir la base de datos

En esta fase la base de datos ya está abierta (Ósea que se podrá leer los archivos, los bloquea, los une por decirlo de uno u otra manera a la instancia) y podemos empezar hacer las consultas.

SQL> ALTER DATABASE OPEN;

Base de datos modificada.

Comprobamos asiendo una consulta a la tabla EMP DEL ESQUEMA SCOTT

SQL> SET LINESIZE 130;SQL> SELECT * FROM SCOTT.EMP;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ------------ ---------- ----------- ---------- ------------ --------- ----------- ------------ 7499 ALLEN SALESMAN 7698 20/02/81 1600 300 30

7521 WARD SALESMAN 7698 22/02/81 1250 500 30

7654 MARTIN SALESMAN 7698 28/09/81 1250 1400 30…14 filas seleccionadas.

Nota: Con esto hemos visto de qué forma se puede inicializar una base de datos, o asiéndolo fase por fase que solo será útil cuando quedamos dejar la base de datos montada para tareas administrativas o hacerlo directamente. Y también hemos aprendido que en el proceso de inicialización de una base de datos, se puede agregar el parámetro PFILE para indicar cuál es el archivo de parámetros que contiene la estructura esencial de la instancia de la base de datos.

EXTRA APUNTES IMPORTANTE

SYSTEM GLOBAL ÁREA (SGA): Datos y transacciones.

DATABASE BUFFER CACHE: Tablas.

REDOLOG BUFFER CACHE: Cambios.

SAHRED POOL: Consultas y diccionario de datos.

PMON SMON: Monitoreo.

DBWR Y LOGWR: Escribir en los archivos.

CKPT: Bajar la data.

Page 12: Sesión01 - Gestión de instancia (Oracle)

ARQUITECTO: Diseñador.

PROGRAMADOR: Permisos.

EXTENSIÓN: Al segmento le agregamos porciones de memoria.

SQL PLUS: Herramienta más básica que hace de todo para trabajar con una base de datos Oracle.

LISTENER (traductor): Para que establezca conexión a la base de datos ya sea desde Windows, Linux, etc.

Para la comunicación con la base de datos: Sentencias SQL y programas PL/SQL

SYSDBA: Permite instanciar una base de datos. Es el usuario con privilegioAl abrir el SQL PLUS nos pide una identificación.

Forma 1) Usuario con privilegiosUsuario: SYS AS SYSDBA Contraseña: CIBERTEC

Forma 2) Usuario con privilegiosUsuario: SYSTEM AS SYSDBAContraseña: CIBERTEC

Forma 2) Usuario sin privilegiosUsuario: SYSTEMContraseña: CIBERTEC

Forma 3) Usuario sin privilegiosUsuario: SCOTTContraseña: TIGER

Cuando se instala Oracle por defecto existe una clave la cual es la siguiente: SYSTEM (Pasword: MANAGER) SYS (Pasword: CHANGE_OM_INSTALL)Para cambiar de conexión: CONNECT SYSTEM/CIBERTEC CONNECT SYSTEM/CIBERTEC AS SYSDBA CONNECT SYSTEM/MANAGER AS SYSDBA CONNECT SYS/CIBERTEC AS SYSDBA CONNECT SYS/MANAGER AS SYSDBA

Page 13: Sesión01 - Gestión de instancia (Oracle)

Servicio de red: Conjunto de datos que identifican una base de datos remota (Nombre de la base de datos, IP o nombre del servidor, protocolo y puerto

Ejemplo:Nombre de la base de datos cibertecIP o nombre del servidor 10.21.32.100Protocolo TCPPuerto 1521

Sentencia para conectarnos remotamente: USUARIO/PASSWORD@CADENA_CONEXIONEjemplo: CONNECT SYSTEM/[email protected],TCP,1521 CONNECT SCOTT/TIGER@SERVIDOR

Dirección del archivo tnsname.ora en mi caso sería:C:\app\XxkokoxX\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora

SHOW PARAMETER NOMBREPARAMETRO; Permite ver los valores de diferentes parámetros de la base de datos.SHOW PARAMETER SPFILE; Muestra la ubicación del archivo SPFILE.SHOW PARAMETER CONTROL_FILES; Muestra la ubicación de los CONTROL FILES.SELECT NAME FROM V$DATAFILE; Muestra la ubicación de los DATA FILE.SELECT MEMBER FROM V$LOGFILE; Muestra la ubicación de los REDOLOG FILESCREATE PFILE='C:/MIPFILE.ORA' FROM SPFILE; Sentencia para crear un archivo INIT.CREATE SPFILE='C:/MIPFILE.ORA' FROM PFILE; Sentencia para crear un archivo binario.SELECT * FROM V$VERSION; Muestra la versión del Oracle.

¿SPFILE O INIT.ORA?

A partir de la versión 9, Oracle introdujo el fichero de parámetros de arranque (más conocido como ‘SPFILE’) como mejora a los antiguos arranques con los ‘init.ora’.

Las ventajas que tienen estos nuevos ficheros sobre los antiguos son, entre otras:

Los ‘SPFILE’ son binarios, mientras que los ‘init.ora’ eran ficheros de texto.

Con los ‘SPFILE’ se puede arrancar una instancia en modo remoto, mientras que con los ‘init.ora’ el fichero debe estar accesible (residir en el mismo sistema de ficheros) desde el que se realiza el arranque.

Page 14: Sesión01 - Gestión de instancia (Oracle)

Los ‘ALTER SYSTEM’ son guardados (si se quiere) automáticamente en los ‘SPFILE’, mientras que en los ‘init.ora’ no.

Los ‘SPFILE’ pueden ser incluidos en los ‘BACKUPS’ de RMAN, mientras que los ‘init.ora’.

No obstante, y debido a que los ‘init.ora’ pueden ser aun de gran utilidad (arrancar una instancia cuando hay problemas, sobre todo), Oracle los ha mantenido (aunque recomienda encarecidamente el uso de los ‘SPFILE’).

Aun así, hay DBA’S que siguen fieles a sus ‘INIT.ORA’ y sigue siendo su método favorito de arrancar las instancias.

Database Control- Ir a Inicio /Oracle OraDB11g_home1/Database Control – sysdba/ se abrirá la siguiente

página: https://localhost:1158/em/console/logon/logon- Iniciar sesión

Usuario: sysContraseña: cibertecConectar como: sysdba

- Muestra la interfaz Instancia de Base de Datos: sysdba- Nos dirigimos a la pestaña “Movimiento de Datos”- Seleccionamos la opción “Hoja de Trabajo de SQL”

Capturas de pantalla:

Page 15: Sesión01 - Gestión de instancia (Oracle)

-

-