logo
MyWebStudies - Página de inicio
INGRESAR

REGISTRARSE
Buscador

Conexión a la base de datos

Selecciona el idioma :

Por favor, inicia sesión para que tu progreso sea registrado. Sin iniciar sesión, podrás visualizar el video pero no se aumentará tu avance en el curso

Conexión a la base de datos


Diccionario de datos.

Una vez que se finaliza la creación de una base de datos:

  • Su instancia es arrancada y abierta.
  • Se dispone de un listener para aceptar las peticiones de conexión.
  • Y normalmente el EM DB Control (Entrepise Manager ) está listo para gestionar la base de datos.

Cuando se quiere arrancar una base de datos, Oracle recomienda seguir el siguiente orden:

  • EM DB Control
  • Listener
  • Base de datos

Arranque y conexion del em db control.

Database Control es una herramienta para manejar una base de datos (aunque esta base de datos pueda ser un cluster (agrupada). Si hay varias instancias de base de datos que están corriendo en el mismo Oracle Home cada una estará en un puerto.

Esta herramienta está escrita en Perl y Java y tiene acceso de un navegador. Todas las comunicaciones con Database Control son sobre HTTPS.

La configuración de Database Control se hace en tiempo de creación de la base de datos. La información importante es el nombre del HOST del ordenador en el cual el Database Control se ejecuta y el TCP en el cual escucha las peticiones de conexión. Si esta información se tuviera que cambiar habría que configurar de nuevo el Database Control.

Para comenzar el Database Control, use la utilidad EMCTL que está en ORACLE_HOME/bin y sus comandos son:

  • Emctl start dbconsole: Arranca el EM.
  • Emctl stop dbconsole: Para el EM.
  • Emctl status dbconsole: Consulta el estado del EM.

Para poder utilizar estas órdenes se tiene que configurar las siguiente variables:

  • PATH: Es necesario para permitir que el sistema operativo encuentre la utilidad emctl.
  • ORACLE_HOME: Es necesario para que el emctl encuentre los ficheros de configuración del Database Control.
  • ORACLE_SID: Es necesario para que el emctl encuentre los ficheros de configuración del Database Control.

Para conectarse al Database Control, se usa la URL: https://nombre_host:puerto/em donde:

  • El host, es el nombre de la máquina que aloja el EM.
  • El puerto, es el Puerto TCP que está escuchando.

Para identificar el puerto se puede usar:

  • El emctl (muestra puerto en el cual el Database Control debería ejecutarse)
  • El archivo ORACLE_HOME/install/portlist, donde hay una lista de los puertos configurados por el OUI y el DBCA.

Arranque del listener de base de datos.

ARRANQUE DEL LISTENER DE BASE DE DATOS: Un listener es el proceso que monitoriza un puerto, en el cual está comprobando constantemente si hay alguna petición de conexión a la base de datos. También se encarga del tráfico que se genera cuando existe una conexión. Utiliza el protocolo de conexión Oracle*Net. Hay tres modos de comenzar el listerner de base de datos:

  • Con la herramienta Lsnrctl.
  • Con Database Control.
  • Como un servicio de Windows.

La herramienta isnrctl está en HOME/bin y Los comandos son:

  • Arrancar un listener: lsnrctl start nombre_listener.
  • Parar un listener: lsnrctl stop nombre_listener.
  • Ver su estado: lsnrctl status nombre_listener.

Los listener se puede arrancar y parar todas las veces que se necesite.

Abriendo base de datos.

Las instancias pueden comenzar o parar. Una base de datos se monta y abre y después se desmonta y cierra, por lo que las fases de una base de datos son:

  • Montada - abierta.
  • Cerrada– desmontada.

Una base de datos se puede gestionar de 3 formas diferentes.

Con SQL*Plus, con diversos comandos:

  • STARTUP: Permite arrancar, montar y abrir una base datos.
  • SHUTDOWN: Permite cerrar una base de datos.
  • ALTER DATABASE: Permite activar o deshabilitar las opciones de la base de datos. o ETC.

Con el EM: Y si se usa el sistema operativo Windows, se dispone del servicio de Windows. En el Alert Log se graban el uso de estas operaciones. Las operaciones Startup y Shutdown son operaciones críticas y solo pueden ejecutarlas los usuarios con dichos privilegios.

La conexión a las bases de datos

Los usuarios ordinarios no pueden iniciar o apagar una base de datos, esta operaciones se puede hacer de dos formas:

  • Hay que ser miembro del grupo que posee el software de Oracle.
  • dando el nombre de usuario y contraseña del fichero de password externo.

Si se utiliza SQL*PLUS hay que conectarse con CONNECT y hay varias formas de conectarse según que privilegios necesitemos:

  • Connect user/pass [@connect_alias]

Es una conexión normal. Oracle valida el nombre de usuario y contraseña contra valores almacenados en el diccionario de datos. La base de datos debe estar abierta o la conexión fallará. Con esta sintaxis no se puede ejecutar los comandos STARTUP o SHUTDOWN:

  • Connect user/pass [@connect_alias] as sysdba/sysoper

Hace que Oracle vaya al archivo externo de password para la validación. Permite utilizar los comandos STARTUP y SHUTDOWN:

  • Connect / as sysdba/sysoper

Usa la autentificación del sistema operativo y Oracle comprobará si el usuario de sistema operativo que ejecuta el SQL*PLUS es un miembro del grupo de sistema operativo que posee el software de Oracle, para este tipo de conexión no hay que proporcionar ni usuario ni contraseña. Permite utilizar los comandos STARTUP y SHUTDOWN.

Comandos especiales para sysdba y sysoper.

Estos son privilegios especiales con capacidades también especiales. Ellos solo pueden ser habilitados cuando los usuarios se conectan con un método de autentificación externo a la base de datos:

  • Sistema operativo
  • Fichero password

SYSOPER tiene la capacidad de publicar los comandos:

  • STARTUP [NOMOUNT | MONTE | OPEN]
  • SHUTDOWN
  • ALTER DATABASE [MOUNT | OPEN | CLOSE | DISMOUNT]
  • ALTER [DATABASE | TABLESPACE] [BEGIN | END] BACKUP
  • RECOVER.

El privilegio de SYSDBA incluye a todos estos privilegios, más:

  • Poder crear una base de datos.
  • Hacer una recuperación incompleta.
  • Crea otros usuarios SYSOPER y SYSDBA.

SYSDBA y SYSOPER no son usuarios, son privilegios que pueden ser concedidos a usuarios. Solo el usuario SYS tiene estos privilegios hasta que se les concedan deliberadamente a otros usuarios.

El privilegio SYSDBA hace que un usuario se conecte como usuario SYS, que es el usuario más poderos en la Base de Datos y es el propietario del Diccionario de Datos.

El uso de privilegio SYSOPER le conecta como un usuario PÚBLICO (no confundir con perfil público), que tiene privilegios de administración, pero sin privilegios para ver o manipular datos. Solo se debe conectar con estos privilegios cuando se tiene que realizar operativas que ningún usuario normal puede hacer.

STARTUP [NOMOUNT | MONTE | OPEN]

La instancia y la base de datos puede existir independientemente uno del otro. El proceso STARTUP tiene un orden de ejecución:

  • Primero se construye la instancia en la memoria.
  • Segundo se habilita una conexión con la base de datos, montándolo.
  • Tercero se abre la base de datos para su uso.

Una base de datos puede estar en uno de los siguientes estados:

  • SHUTDOWN: La base de datos en SHUTDOWN, todos los ficheros son cerrados y la instancia no existe.
  • NOMOUNT: La instancia ha sido construida en la memoria (El SGA ha sido creado y los procesos background comenzaron, según lo que es especificado en su archivo de parámetro), pero ninguna conexión ha sido hecha a una base de datos.
  • MOUNT: La instancia localiza y lee el fichero de control.
  • OPEN: Todos los ficheros de la base de datos son localizados y abiertos y puede ser usada por los usuarios finales.

Cuando se ejecuta comando STARTUP, Oracle intenta localizar el fichero de parámetros. Hay 3 archivos por defecto.

En LINUX/UNIX:

  • ORACLE_HOME/dbs/spfileSID.ora.
  • ORACLE_HOME/dbs/spfile.ora.
  • ORACLE_HOME/dbs/initSID.ora.

En WINDOWS:

  • %ORACLE_HOME%databaseSPFILESID.ORA
  • %ORACLE_HOME%databaseSPFILE.ORA.
  • %ORACLE_HOME%databaseINITSID.ORA.

SID= Nombre de la instancia: El spfileSID.ora es indudablemente el archivo más conveniente para usar como archivo de parámetro. En un ambiente RAC se usara el spfile.ora, donde un archivo puede ser usado para comenzar varias instancias. El initSID es si por alguna razón se necesita hacer una edición manual, los spfiles son ficheros binarios y no pueden ser editados a mano.

Oracle intentara acceder a los ficheros en ese orden y si ninguno de ellos existe la instancia no comenzara. Los únicos archivos usados en el modo NOMOUNT son el Fichero de Parámetro y el Log Alert. La posición del Alert Log lo indica el parámetro BACKGROUND_DUMP_DEST.

Para ver los parámetros se puede usar el comando:

  • Show parameter background

Un archivo “init” es conocido como un archivo de parámetro “estatico” o un pfile, porque solo es leído una vez, al empezar la instancia.

Un “spfile” es conocido como un archivo de parámetro dinámico, porque Oracle continuamente lo lee y lo actualiza mientras la instancia se está ejecutando.

Una base de datos se considera abierta cuando los online redo log files y ficheros de datos están sincronizados, es decir cuando el último showdown fue exitoso, por el contrario Oracle deberá reparar el daño y se considera que esta en un estado inconsecuente. Durante un shutdown, la base de datos es primero cerrada, después de desmonta y finalmente la instancia es parada.

Durante la fase de cierre:

  • Todas las sesiones son terminadas.
  • Las transacciónes activas son desechas por el proceso PMON.
  • Las transacciónes completadas son escritas en disco por el proceso DBWn.
  • Los archivos de datos y los ficheros redo log son cerrados.

Durante el desmonte el fichero de control es cerrado. Y finalmente la instancia es parada liberando el espacio ocupado por la SGA y termina los procesos background.

SHUTDOWN [ NORMAL | TRANSACTION | INMEDIATE | ABORT ]

Para usar este comando hay que estar conectado con SYSDBA o SYSOPER. Las opciones son:

  • SHUTDOWN NORMAL: Es por defecto. Ninguna nueva conexión de usuario será permitida, pero todas las conexiones corrientes son permitidas seguir. Solamente una vez que todos los usuarios (voluntariamente) tiene hecho un Logoff, la Base de Datos se apagará realmente.
  • SHUTDOWN TRANSACTIONAL: Ninguna nueva conexión de usuario será permitida, las sesiones existentes que no están en una transacción serán terminadas, las sesiones actualmente en una transacción se les permite completarlas y serán terminadas entonces. Una vez que todas las sesiones son terminadas, la base de datos se apagará.
  • SHUTDOWN INMEDIATE: Ninguna nueva conexión de usuario será permitida, y todas las sesiones conectadas son terminadas. Cualquier transacción activa es deshecha y la base de datos se apagará entonces.
  • SHUTDOWN ABORT: Equivale a un corte de luz. La instancia es terminada inmediatamente, nada es escrito a disco, ningún controlador de archivo está cerrado, y no hay ninguna tentativa de terminar transacciónes que estén en proceso. Requiere una restauración al volver a iniciar la Base de Datos.

Después de que todas las transacciónes son terminadas, PMON hará rodar atrás cualquier transacción incompleta. Entonces el proceso CKPT obliga al proceso DBWn a grabar los datos en archivo de datos y el proceso LGWR limpia el Log Buffer. Entonces los encabezamientos de archivo son actualizados y los controladores de archivo son cerrados. Esto significa que la base de datos se ha cerrado de forma ordenada y está en un estado consecuente.

El modo Abort, equivale a un cierre desordenado y está en un estado inconsecuente.

ALTER DATABASE [ MOUNT | OPEN| CLOSE | DISMOUNT ]

  • ALTER DATABASE MOUNT: Pasa el estado de la base de datos a montada.
  • ALTER DATABASE OPEN: Pasa el estado de la base de datos a abierto.
  • ALTER DATABASE CLOSE: Pasa el estado de la base de datos a cerrada.
  • ALTER DATABASE DISMOUNT: Pasa el estado de la base de datos a desmontada.

ALTER [ DATABASE | TABLESPACE]

  • ALTER DATABASE: Modifica ciertas opciones de configuración de una base de datos.
  • ALTER TABLESPACE: Modifica el espacio de tablespaces existentes.
  • BACKUP: Crea una copia de seguridad de la base de datos.
  • RECOVER: Restaura una base de datos utilizando una copia de seguridad.


conexion

Publicaciones Recientes de oracle dba

¿Hay algún error o mejora?

¿Dónde está el error?

¿Cúal es el error?